Modeling, tracking, vibration and balance control of an underactuated mobile manipulator (UMM)

Modeling, tracking, vibration and balance control of an underactuated mobile manipulator (UMM)

Control Engineering Practice 93 (2019) 104159 Contents lists available at ScienceDirect Control Engineering Practice journal homepage: www.elsevier...

3MB Sizes 0 Downloads 14 Views

Control Engineering Practice 93 (2019) 104159

Contents lists available at ScienceDirect

Control Engineering Practice journal homepage: www.elsevier.com/locate/conengprac

Modeling, tracking, vibration and balance control of an underactuated mobile manipulator (UMM)✩ Ronghuai Qi ∗, Amir Khajepour, William W. Melek Department of Mechanical and Mechatronics Engineering, University of Waterloo, Waterloo, ON N2L 3G1, Canada

ARTICLE

INFO

Keywords: Underactuated mobile manipulator (UMM) Tracking Vibration Balance Control

ABSTRACT This paper presents an underactuated mobile manipulator (UMM) and focuses on solving modeling, tracking, and vibration- and balance-control problems. Although the study has been directed at warehousing applications, the developed techniques are general and can be applied to other applications. The derivation of equations of motion of the UMM, disturbance analysis, and model validation are investigated to reveal the actual system dynamics. Additionally, a simple but effective strategy is also developed to solve the equilibrium point and balance problem. Based on the dynamic model, two control architectures are proposed: Model Predictive Control (MPC) and MPC+Proportional-Integral (PI) with integral actions, respectively, and they can also be applied to other robotic systems. Compared to other MPC-based control strategies, the proposed controllers require less effort to implement in practice. Finally, simulations, experiments, and robustness verification are conducted and discussed, and the results are satisfactory.

1. Introduction Cable-driven robots (CDRs) or cable-driven parallel robots (CDPRs) are industrial robots that are derived from robotic manipulators (e.g., Khajepour & Méndez, 2015 designed a planar CDPR for warehousing application). Generally, CDRs have at least one closed-loop kinematic chain allowing positioning a moving platform or an endeffector. In these robots, rigid links are replaced with cables resulting in reduced mass and elimination of revolute joints. These advantages allow the mobile platforms to reach high motion acceleration in large workspaces (Kawamura, Kino, & Won, 2000) to make them very useful in many industrial applications (Alp & Agrawal, 2002), including pickand-place operations (Bostelman, Jacoff, et al., 2000). However, they are not without drawbacks, such as their lower stiffness and higher vibrations (Méndez, 2014), which limit their applications. To reduce the vibrations of CDRs or CDPRs, one of the effective approaches is developing different control strategies. For example, a robust PID controller was proposed by Kawamura et al. (2000) to control a rigid planar CDR. Xu, Liu, and Li (2018) designed ProportionalDerivative (PD) controllers for a cable-driven multi-segment continuum manipulator and showed that the position errors of the end-effector were acceptable. Feedforward control and computed torque control were also applied to cable-driven robots: for instance, Kino, Yahiro, et al. (2009) designed a feedforward controller to solve the gravitational compensation and positioning problems. Alikhani, Behzadipour,

et al. (2009) utilized a computed torque controller to study a constrained CDR. Additionally, linear control theory based methods were developed: for example, Pole Placement Controller (PPC) (Li, Ding, et al., 2017), Linear–Quadratic Regulator (LQR) (Mason, Righetti, & Schaal, 2014), gain scheduling pole placement controller (Jamshidifar, Fidan, et al., 2015), and linear optimal controller (Kwakernaak & Sivan, 1972) were used to achieve the rigid body motion control and vibration control. Abdolshah and Barjuei (2015) developed a linear quadratic optimal controller for cable-driven parallel robots. ElMaraghy, Lahdhiri, and Ciuca (2002) designed a robust linear controller for a flexible joint robot, and the results showed that the performance of the tracking and regulation was acceptable. Athans (1971) proposed the role and use of the stochastic Linear–Quadratic–Gaussian problem in control system design. Other control strategies also have been used to control CDRs, such as robust sliding mode controller (Alikhani & Vali, 2011), chattering-free sliding mode controller (Zeinali & Khajepour, 2010), fuzzy controller (Zi, Zhu, & Du, 2011), linear parameter-varying (LPV) controller (Jamshidifar, Khosravani, et al., 2018; Mori & Tagawa, 2018), and non-collocated controller (Caverly & Forbes, 2014). Moreover, as one of the optimal control approaches, MPC is mainly used for process control. Some recent research applied this method to other applications, such as energy-saving (Huang, Khajepour, et al., 2017), battery optimal charging (Zou, Manzie, & Nešić, 2018), navigation of autonomous vehicles (Wang, Li, et al., 2018), overhead traveling cranes (Galuppini, Magni, & Raimondo, 2018), and robot control (Ghasemi, Eghtesad, & Farid, 2008; Rushton & Khajepour, 2016).

✩ This work was supported in part by the Natural Sciences and Engineering Research Council of Canada (NSERC). ∗ Corresponding author. E-mail addresses: [email protected] (R. Qi), [email protected] (A. Khajepour), [email protected] (W.W. Melek).

https://doi.org/10.1016/j.conengprac.2019.104159 Received 11 April 2019; Received in revised form 21 July 2019; Accepted 17 September 2019 Available online xxxx 0967-0661/© 2019 Elsevier Ltd. All rights reserved.

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

control problems must be considered, not only vibration control (de Rijk et al., 2018). To develop the system dynamics, the equations of motion of the UMM, disturbance analysis, and model validation are carried out. Additionally, a simple but effective strategy is also proposed to solve the equilibrium point for control design and balance problem. 2. Jamshidifar et al. studied vibration control of a planar (i.e., inplane) CDPR (Jamshidifar et al., 2017, 2018), while Rijk et al. only studied the out-of-plane system and its vibration control using SMC (de Rijk et al., 2018). In this paper, based on the proposed dynamic model, two control architectures are developed: MPC with integral action and MPC+PI with integral action, and they can also be applied to other recent robotic systems (e.g., Boston Dynamics (2019) Handle). Compared to other MPCbased control strategies, the proposed controllers are easier to implement in practice. The results of this paper also offer noticeable improvements (in comparison with previous studies, such as PID (Méndez, 2014), LPV (Jamshidifar et al., 2018), and SMC (de Rijk et al., 2018)), because the use of MPC enhances the control performance since the future steps from the reference trajectories are used to generate control laws. 3. Simulations, experiments, and robustness verification are conducted to validate the performance of the proposed methods. 4. Lyapunov-based stability analysis for the closed-loop systems is also proposed.

Fig. 1. The proposed underactuated mobile manipulator (UMM) consists of a mobile platform (MP), two pendulums, and a linear slider. The mobile platform is driven by four actuators with 12 cables moving in the 𝑋-𝑌 plane (i.e., in-plane moving); two pendulums (mounted on the mobile platform and rotates about its body-fixed 𝑋-axis) are used to eliminate undesired out-of-plane motion (e.g., vibrations); and the linear slider (with load mass and moves along its body-fixed 𝑍-axis) is used for operations (e.g., pick-and-place). The above components constitute a Hybrid Cable-Driven Robot (HCDR).

Other recent works such as the optimization methods in Lv, Hu, et al. (2019) and Xing, Lv, et al. (2019b) and the deep learning approach in Xing, Lv, et al. (2019a) are still in progress, and these techniques may have potential applications in CDRs. Additionally, for the related work on the planar CDPR (Jamshidifar, Khajepour, et al., 2017; Jamshidifar et al., 2018; Méndez, 2014), the authors studied planar vibration control and ignored nonplanar (i.e., out-of-plane) vibrations. Actually, because of disturbances and mechanical limitations, out-of-plane vibrations were existed and could not be eliminated well by only using cables (e.g., controlling cable lengths or tensions). de Rijk, Rushton, and Khajepour (2018), Rushton (2016) and Rushton and Khajepour (2016, 2018) introduced two pendulums (called multiaxis reaction system) and mounted them to the planar CDPR to eliminate out-of-plane vibrations. Based on the pendulums, the authors showed the pendulums were effective in eliminating out-of-plane vibrations using sliding mode control (SMC) (de Rijk et al., 2018). In Qi, Rushton, Khajepour, and Melek (2019), we focused on decoupling the dynamics (in-plane and out-of-plane subsystems) of a hybrid of planar CDPR and pendulums (i.e., based on the existing platform Méndez, 2014; Rushton, 2016). However, these studies focused on vibration control and could not handle some applications such as increasing pick-and-place workspace and improving the end-effector accuracy. To solve these problems, a rigid linear slider is proposed in this paper by mounting it on the mobile platform (shown in Fig. 1). The coupled slider, however, will lead to a new problem: the moving slider generates reaction forces to the mobile platform resulting in mobile platform vibrations. Researchers in Tecnalia (2015) showed a CDR carrying a robot arm for painting large surfaces, but vibrations were obvious and large based on their demonstration. For the proposed system (shown in Fig. 1) in this paper, since the motion of the slider mainly affects out-of-plane vibrations, in-plane motion is not considered in this case. The proposed subsystem is an underactuated mobile manipulator (UMM) (shown in Fig. 1) which consists of a mobile platform, two pendulums, and a linear slider. Meanwhile, the control goal for this system focuses on minimizing the vibrations and increasing the position accuracy of the end-effector. The novelty and contributions can be summarized as follows:

Furthermore, the growth of automated warehousing solutions has been fueled by the e-commerce explosion in recent years (Jamshidifar, 2018). By 2024, the market of global automated material handling equipment is predicted to no less than US$ 50.0 Billion with a Compound Annual Growth Rate (CAGR) of 8% (Market Research Engine, 2018; MarketWatch, 2019). These increase of automated warehousing applications offers a unique opportunity for the development of cable robotics that is superior in, especially for CDRs. The proposed technique in this paper provides a valid solution for the development of CDRs. In Section 2, system modeling is developed and validated. Linearization, equilibrium point, and balance problems are also considered in Section 2. Based on the linearized model, control design and stability analysis are presented in Section 3. In Section 4, simulations, experiments, and robustness verification are conducted and discussed. Finally, in Section 5, conclusions and further work are summarized. 2. System modeling 2.1. System setup The proposed UMM (in Fig. 1) consists of a mobile platform, two pendulums, and a linear slider. The mobile platform and pendulums are based on the cable-driven platform (Méndez, 2014; Rushton, 2016; Rushton & Khajepour, 2018), which consists of a mobile platform, twelve cables, four servo motors, and two 1-degree of freedom (DOF) pendulums. The actuators are used to drive the cables to move the mobile platform in the 𝑋-𝑌 plane (i.e., in-plane moving). The cable arrangements provide 3 constraint motions to the mobile platform to reduce its degrees of freedom to three translational motions. Twelve cables include four sets of cables: two sets of a four-cable arrangement on the top and two sets of a two-cable arrangement on the bottom. Two pendulums (mounted on the mobile platform and rotates about its body-fixed 𝑋-axis) are used to eliminate undesired out-of-plane motion (e.g., vibrations); and the linear slider (with load mass and moves along its body-fixed 𝑍-axis) is used for operations (e.g., pickand-place). The slider is actuated by a stepper motor and the slider’s actual position 𝑝𝑠 is obtained in real-time by mounting an encoder on the motor shaft. Meanwhile, the stepper motor is under speed control mode, i.e., the command to the stepper motor is velocity. The above components constitute a Hybrid Cable-Driven Robot (HCDR).

1. Compared to the modeling and control objectives in Qi et al. (2019) and de Rijk et al. (2018), this paper extends that configuration by introducing a coupled slider on the platform to enable execution of out-of-plane manipulation tasks such as pickand-place. Accordingly, tracking, vibration control, and balance 2

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159 𝑇 𝑝𝑝𝑐2 = 𝑝𝑝20 + 𝑅𝑚 𝑔 𝑅𝑥 (𝜃𝑝2 )[𝑥𝑝𝑐02 , 𝑦𝑝𝑐02 , 𝑧𝑝𝑐02 ] 𝑇

𝑝𝑠𝑐 = [𝑝𝑚𝑥 , 𝑝𝑚𝑦 , 𝑝𝑚𝑧 ]

(3b)

𝑇 𝑇 + 𝑅𝑚 𝑔 ([𝑥𝑠0 , 𝑦𝑠0 , 𝑧𝑠0 ] +[0, 0, 𝑝𝑠 ] )

=∶ 𝑝𝑒

(3c)

where the joint position vectors are described as 𝑝𝑝10 = [𝑝𝑚𝑥 , 𝑝𝑚𝑦 , 𝑝𝑚𝑧 ]𝑇 + 𝑇 𝑇 𝑚 𝑇 𝑅𝑚 𝑔 [𝑥𝑝01 , 𝑦𝑝01 , 𝑧𝑝01 ] and 𝑝𝑝20 = [𝑝𝑚𝑥 , 𝑝𝑚𝑦 , 𝑝𝑚𝑧 ] + 𝑅𝑔 [𝑥𝑝02 , 𝑦𝑝02 , 𝑧𝑝02 ] . 𝑝𝑒 denotes the position vector of the end-effector. Additionally, the COM linear velocities and angle velocities (of the links) are calculated as 𝑣𝑝𝑐1 = 𝑝̇ 𝑝𝑐1

(4a)

𝑣𝑝𝑐2 = 𝑝̇ 𝑝𝑐2

(4b)

𝑣𝑠𝑐 = 𝑝̇ 𝑠𝑐

(4c)

and 𝜔𝑝𝑐1 = (𝑅𝑥 (𝜃𝑝1 ))𝑇 𝜔𝑚 + [𝜃̇ 𝑝1 , 0, 0]𝑇

(5a)

𝑇

(5b)

𝜔𝑝𝑐2 Fig. 2. The whole model of the actual system in Fig. 1. (a) The slider (with load mass) is mounted on the mobile platform; (b) zoom-in view of the pendulum; and (c) 𝑌 -𝑍 view of the slider.

= (𝑅𝑥 (𝜃𝑝2 )) 𝜔𝑚 + [𝜃̇ 𝑝2 , 0, 0]𝑇

(5c)

𝜔𝑠𝑐 = 𝜔𝑚

where the corresponding parameters are shown in Fig. 2 and Table 1. Substituting (3)–(5) into (6) and (7), the total kinematic and gravitational potential energy are respectively calculated as

The HCDR (in Fig. 1) used for experiments is implemented in a Beckhoff Embedded PC (CX2040). The HCDR model corresponding to the actual system is shown in Fig. 2. In Fig. 2, each set of cables is controlled by one motor. The top actuators and bottom actuators control the upper-cable lengths and lower-cable tensions, respectively. The upper cables also restrict the orientation of the mobile platform, i.e., the { kinematic } constraints. In addition, the inertial coordinate frame 𝑂 𝑥0 , 𝑦0 , 𝑧0 is located at the center of the static fixture, coordinate frame {𝑂𝑚 } is located at the center of mass (COM) of the mobile platform, and the pendulums’ bodyfixed 𝑋-axes are parallel with the 𝑋-axis of frame {𝑂𝑚 } and locate in the 𝑋-𝑌 plane of frame {𝑂𝑚 }. The UMM parameters are shown in Table 1, where 𝑚𝑚 and 𝐼𝑚 represent the mass and moment of inertia of the mobile platform, respectively. 𝑚𝑝𝑘 and 𝐼𝑝𝑘 ({∀ 𝑘 ∈ N ∶ 1 ≤ 𝑘 ≤ 2}) respectively denote the mass and moment of inertia of the pendulums. The sizes of the static fixture (e.g., 𝑙𝑓 𝑙 ) and mobile platform (e.g., 𝑙𝑏𝑙 ), body-fixed positions (e.g., [𝑥𝑝0𝑘 , 𝑦𝑝0𝑘 , 𝑧𝑝0𝑘 ]𝑇 , [𝑥𝑝𝑐0𝑘 , 𝑦𝑝𝑐0𝑘 , 𝑧𝑝𝑐0𝑘 ]𝑇 , [𝑥𝑠0 , 𝑦𝑠0 , 𝑧𝑠0 ]𝑇 ), etc. are also given in Table 1. Additionally, the proposed UMM is an underactuated system since it has fewer actuators (two 1-DOF pendulums and a 1-DOF slider) than the total DOFs (6 DOFs).

𝐾𝐸 =

1 1 𝑚 [𝑝̇ , 𝑝̇ , 𝑝̇ ][𝑝̇ , 𝑝̇ , 𝑝̇ ]𝑇 + 𝜔𝑇𝑚 𝐼𝑚 𝜔𝑚 2 𝑚 𝑚𝑥 𝑚𝑦 𝑚𝑧 𝑚𝑥 𝑚𝑦 𝑚𝑧 2 2 { } 1∑ 𝑚𝑝𝑘 𝑣𝑇𝑝𝑐𝑘 𝑣𝑝𝑐𝑘 + 𝜔𝑇𝑝𝑐𝑘 𝐼𝑝𝑘 𝜔𝑝𝑐𝑘 + 2 𝑘=1 + 𝑚𝑠 𝑣𝑇𝑠𝑐 𝑣𝑠𝑐 + 𝜔𝑇𝑠𝑐 𝐼𝑠 𝜔𝑠𝑐

and 𝑉𝐸 = 𝑚𝑚 𝑔𝑝𝑚𝑦 +

2 { ∑

𝑚𝑝𝑘 𝑔𝑝𝑇𝑝𝑐𝑘 [0, 1, 0]𝑇

Based on (8), the generalized force 𝜏𝑗 ({∀ 𝑗 ∈ N ∶ 1 ≤ 𝑗 ≤ 6}) applied to the dynamic system at joint 𝑗 to drive link 𝑗 can be described as ] } ] [ ( {[ ( ( )) 𝑇 ( )) 𝑇 ( ) 𝑞̈ − ∇𝐿𝐸 𝑞 𝑗 (9) 𝜏𝑗 = ∇ ∇𝐿𝐸 𝑞̇ 𝑗 𝑞̇ + ∇ ∇𝐿𝐸 𝑞̇ 𝑗 𝑞̇

where ∇(⋅)𝑞 and ∇(⋅)𝑞̇ are defined as the gradient vectors of (⋅) with respect to the vectors 𝑞 and 𝑞,̇ respectively. (9) can also be arranged into a general form: ⎡𝟎⎤ 𝑀 (𝑞) 𝑞̈ + 𝐶̃ (𝑞, 𝑞) ̇ + 𝐺 (𝑞) + 𝐹𝐾 + 𝐹𝐵 + 𝐹𝑓 𝑟𝑖 + 𝜏𝑑 = ⎢ 𝜏𝑝 ⎥ ⎢ ⎥ ⎣𝑓𝑠 ⎦

(10)

where 𝑞 = [𝑝𝑚𝑧 , 𝛼𝑚 , 𝛽𝑚 , 𝜃𝑝1 , 𝜃𝑝2 , 𝑝𝑠 ]𝑇 ∈ R6 , 𝑞̇ ∈ R 6 , and 𝑞̈ ∈ R 6 represent the vectors of generalized coordinates, velocities, and accelerations, respectively. 𝑀 (𝑞) ∈ R 6×6 denotes the inertia matrix, 𝐶̃ (𝑞, 𝑞) ̇ ∈ R 6 represents the Coriolis and centripetal vector, and 𝐺(𝑞) ∈ R6 denote the gravitational vector, respectively. 𝜏𝑑 ∈ R6 , 𝜏𝑝 ∈ R 2 , and 𝑓𝑠 ∈ R are bounded disturbances, input torques of the pendulums, and input force of the slider in generalized coordi𝐾𝑧 𝑝𝑚𝑧 ⎡ ⎤ ⎢𝐾𝛼𝑚 𝛼𝑚 + 𝐾𝑧𝛼𝑚 𝑝𝑚𝑧 ⎥ ⎢ ⎥ 𝐾𝛽𝑚 𝛽𝑚 ⎥, nates, respectively. The elastic force vector 𝐹𝐾 = ⎢ ⎢ ⎥ 0 ⎢ ⎥ 0 ⎢ ⎥ ⎣ ⎦ 0

(1)

The angular velocity 𝜔𝑚 of the frame {𝑂𝑚 } is calculated as (2)

𝑅𝑚𝛾 𝑚𝛽

where rotation matrices = 𝑅𝑦′ (𝛽𝑚 ) ∈ (3) and = 𝑅𝑧′′ (𝛾𝑚 ) ∈ (3) come from (1). 𝛼̇ 𝑚 , 𝛽̇𝑚 , and 𝛾̇ 𝑚 are the time-derivative of 𝛼𝑚 , 𝛽𝑚 , and 𝛾𝑚 , respectively. Then, the COM (of the links) positions are computed as 𝑇 𝑝𝑝𝑐1 = 𝑝𝑝10 + 𝑅𝑚 𝑔 𝑅𝑥 (𝜃𝑝1 )[𝑥𝑝𝑐01 , 𝑦𝑝𝑐01 , 𝑧𝑝𝑐01 ]

(7)

(8)

𝐿𝐸 = 𝐾𝐸 − 𝑉𝐸 .

In Fig. 2, the inertial coordinate frame {𝑂} is assumed fixed on the base/ground. Coordinate frame {𝑂𝑚 } is located at the center of mass (COM) of the mobile platform. 𝑝𝑚 ∶= [𝑝𝑚𝑥 , 𝑝𝑚𝑦 , 𝑝𝑚𝑧 ]𝑇 ∈ R3 represents the position vector of the coordinate frame {𝑂𝑚 } with respect to the coordinate frame {𝑂}. By assuming the Euler angles [𝛼𝑚 , 𝛽𝑚 , 𝛾𝑚 ]𝑇 ∈ R3 (the orientations of the mobile platform about 𝑋-, 𝑌 -, and 𝑍-axes, respectively), the rotation matrix (e.g., 𝑋 → 𝑌 ′ → 𝑍 ′′ order as below) is computed as

𝑅𝑚𝛽 𝑚𝛼

+ 𝑚𝑠 𝑔𝑝𝑇𝑠𝑐 [0, 1, 0]𝑇

where 𝑔 represents the gravity acceleration. Based on the computed kinematic energy 𝐾𝐸 and potential energy 𝑉𝐸 in (6) and (7), respectively, the Lagrangian dynamic equation is calculated as

𝑞

𝑚𝛾 𝑇 𝑚𝛾 𝑇 𝑇 𝑇 𝑚𝛽 𝑇 𝑇 𝑇 ̇ 𝜔𝑚 = [𝑅𝑚 𝑔 ] [𝛼̇ 𝑚 , 0, 0] + [𝑅𝑚𝛽 ] [𝑅𝑚𝛼 ] [0, 𝛽𝑚 , 0] + [𝑅𝑚𝛽 ] [0, 0, 𝛾̇ 𝑚 ]

}

𝑘=1

2.2. Equations of motion of the UMM

𝑅𝑚 𝑔 = 𝑅𝑥 (𝛼𝑚 )𝑅𝑦′ (𝛽𝑚 )𝑅𝑧′′ (𝛾𝑚 ) ∈ (3).

(6)

(3a) 3

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

Table 1 Parameters of the UMM.

a

Symbol

Values

Symbol

Values

𝑙𝑓 𝑙 𝑙𝑏𝑙 𝑙𝑏ℎ 𝑚𝑚 𝑚𝑝1 , 𝑚𝑝2 𝑚𝑠 [𝑥𝑝01 , 𝑦𝑝01 , 𝑧𝑝01 ]𝑇 [𝑥𝑝𝑐0𝑘 , 𝑦𝑝𝑐0𝑘 , 𝑧𝑝𝑐0𝑘 ]𝑇 𝐾𝑧 𝐾𝛽𝑚 𝐵𝑧 𝐵𝛽𝑚 𝐵𝑠

3.160 m 0.365 m 0.096 m 12.200 kg 0.640 kg 2.121 kga [−0.175, −0.100, 0]𝑇 m [0, −0.050, 0]𝑇 m 1250 N∕m 710 N m∕rad 4 N s∕m 0.01 N m s∕rad 12.9625 N s∕m

𝑙𝑓 ℎ 𝑙𝑏𝑤 𝑔 𝐼𝑚 𝐼𝑝1 , 𝐼𝑝2 𝐼𝑠 [𝑥𝑝02 , 𝑦𝑝02 , 𝑧𝑝02 ]𝑇 [𝑥𝑠0 , 𝑦𝑠0 , 𝑧𝑠0 ]𝑇 𝐾𝛼𝑚 𝐾𝑧𝛼𝑚 𝐵𝛼𝑚 𝐵𝑝 𝜇𝑓 𝑠

1.000 m 0.130 m 9.810 m∕s2 diag([0.1021, 0.167, 0.1251]) kg m2 7.012𝑒−4 kg m2 diag([0.1258𝑒−2 , 0.3818𝑒−2 , 0.3979𝑒−2 ]) kg m2 [0.175, −0.100, 0]𝑇 m [0, 0.134, 0]𝑇 m 145 N m∕rad 100 N m∕rad 0.1 N m s∕rad 0.014 N m s∕rad 1.6968e−2

The net mass of the slider and the load mass are equal to 0.778 kg and 1.343 kg, respectively.

𝐵𝑧 𝑝̇ 𝑚𝑧 ⎡ ⎤ ⎢𝐵𝛼𝑚 𝛼̇ 𝑚 + 𝐵𝑝 𝜃̇ 𝑝1 + 𝐵𝑝 𝜃̇ 𝑝2 ⎥ ⎢ ⎥ 𝐵𝛽𝑚 𝛽̇𝑚 ⎥, and friction vecdamping force vector 𝐹𝐵 = ⎢ ̇ ⎢ ⎥ 𝐵𝑝 𝜃𝑝1 ⎢ ⎥ 𝐵𝑝 𝜃̇ 𝑝2 ⎢ ⎥ ⎣ ⎦ 𝐵𝑠 𝑝̇ 𝑠 tor 𝐹𝑓 𝑟𝑖 = [0, 0, 0, 0, 0, 𝜇𝑓 𝑠 𝑚𝑠 𝑔 𝑝̇ 𝑠 ]𝑇 . The parameters 𝐾𝑧 , 𝐾𝛼𝑚 , 𝐾𝛽𝑚 , 𝐾𝑧𝛼𝑚 , 𝐵𝑧 , 𝐵𝛼𝑚 , 𝐵𝛽𝑚 , 𝐵𝑝 , 𝐵𝑠 , 𝜇𝑓 𝑠 (shown in Table 1) are identified in Section 2.3. More derivations of (10) are provided in Appendix A. In (10), the command to the slider is force 𝑓𝑠 , while in the actual system (shown in Fig. 1), the command to the stepper motor is velocity 𝑣𝑠𝑡𝑒𝑝𝑝𝑒𝑟 , so a transfer function 𝐻𝑠 (𝑠) is defined as 𝐻𝑠 (𝑠) =

𝑣𝑠𝑡𝑒𝑝𝑝𝑒𝑟 𝑓𝑠

=

1 . 𝑚𝑠 𝑠2 + (𝐵𝑠 + 𝜇𝑓 𝑠 𝑚𝑠 𝑔)𝑠

(11)

Additionally, in comparison with the system modeling in Qi et al. (2019) and de Rijk et al. (2018), this paper extends the configuration by introducing a coupled slider on the platform to achieve out-of-plane manipulation tasks (e.g., pick-and-place). Consequently, tracking, and vibration- and balance-control problems must be considered (see the below sections, e.g., Sections 2.5 and 3), not just vibration control that talked in de Rijk et al. (2018). In Appendix B, we also conduct a scenario analysis about the disturbances 𝜏𝑑 (in (10)).

Fig. 3. Model validation results of the UMM. The simulation and experimental responses are compared.

2.3. Model validation To validate the nonlinear dynamic model (10), the following steps are taken:

Section 3 have a robust ability that can handle the uncertainty of dynamics.

1. Identification of geometrical and dynamic parameters: The geometrical, mass, and moment of inertia parameters shown in Table 1 come from the SolidWorks model (matched the actual system shown in Fig. 1). After giving impulse torque inputs to the pendulums, the stiffness parameters 𝐾𝑧 , 𝐾𝛼𝑚 , 𝐾𝛽𝑚 are identified using the system natural frequency-based method (de Rijk et al., 2018) (i.e., by measuring accelerations (using accelerometer ADXL335 and gyroscope ENC-03R) and then converting them into natural frequencies using the Fast Fourier Transform (FFT)). Stiffness 𝐾𝑧𝛼𝑚 and damping ratios 𝐵𝑧 , 𝐵𝛼𝑚 , 𝐵𝛽𝑚 , 𝐵𝑝 are obtained by matching the simulation and experimental responses (de Rijk et al., 2018). Additionally, the slider damping ratio 𝐵𝑠 and friction coefficient 𝜇𝑓 𝑠 are determined by applying an impulse velocity input, i.e., 𝐵𝑠 and 𝜇𝑓 𝑠 are estimated using Trust-Region-Reflective and nonlinear least squares optimization algorithms (in Matlab Optimization Toolbox) (Coleman, Branch, & Grace, 1999) based on the simulation and measured experimental position data of the slider. 2. Validation of the model: Using the same impulse input as the previous step, the model validation results are shown in Fig. 3. In Fig. 3, although there are some errors between the simulation and experimental responses, the proposed controllers shown in

2.4. Linearization Eq. (10) shows the complete nonlinear dynamic model. To analyze and implement the model and control (e.g., via experiments in real time), (10) also can be expressed as 𝑥(𝑡) ̇ = 𝑓 (𝑡, 𝑥(𝑡), 𝑢(𝑡)), 𝑥(0) = 𝑥0 ∈ R12

(12)

where 𝑥 ∶= [𝑝𝑚𝑧 , 𝑝̇ 𝑚𝑧 , 𝛼𝑚 , 𝛼̇ 𝑚 , 𝛽𝑚 , 𝛽̇𝑚 , 𝜃𝑝1 , 𝜃̇ 𝑝1 , 𝜃𝑝2 , 𝜃̇ 𝑝2 , 𝑝𝑠 , 𝑝̇ 𝑠 ∈ and 𝑢 = [𝜏𝑝1 , 𝜏𝑝2 , 𝑓𝑠 ]𝑇 ∈ R3 represent state and input variables, respectively. 𝑥0 is the initial state vector and time 𝑡 ≥ 0. By linearizing the nonlinear (12) around the reference/nominal states 𝑥𝑟 and control inputs 𝑢𝑟 , the continuous time state-space representation can be described as ]𝑇

R12

𝑥(𝑡) ̇ = 𝐴(𝑡)𝑥(𝑡) + 𝐵(𝑡)𝑢(𝑡) + 𝐵(𝑡)𝑤(𝑡) 𝑦(𝑡) = 𝐶𝑥(𝑡), 𝑥(0) = 𝑥0

(13) (𝑥,𝑢) | R3 , matrices 𝐴(𝑡) = 𝜕𝑓𝜕𝑥 ∈ R12×12 , | |𝑥=𝑥𝑟 ,𝑢=𝑢𝑟 12×3 3×12 3 R , and 𝐶 ∈ R . 𝑤(𝑡) ∈ R is process

where the outputs 𝑦(𝑡) ∈ (𝑥,𝑢) | 𝐵(𝑡) = 𝜕𝑓𝜕𝑢 ∈ | |𝑥=𝑥𝑟 ,𝑢=𝑢𝑟 noise. We are interested in tracking the position (𝑝𝑠 ) of the slider and 4

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

angles (𝜃𝑝1 , 𝜃𝑝2 ) of the pendulums (to balance the COM offset of the ⎡0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0⎤ slider) so 𝐶 ∶= ⎢0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0⎥. ⎢ ⎥ ⎣0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0⎦ Since the reference is not always zero, the augmented form with integral action is introduced to solve this problem. Define an integral output vector 𝑧(𝑘 + 1) = 𝑧(𝑘) + (𝑟(𝑘) − 𝑦(𝑘)) and substitute it into the discrete form of (13), we get an augmented state-space representation as follows: [ ] [ ][ ] [ ] [ ] [ ] 𝑥(𝑘 + 1) 𝐴(𝑘) 𝟎 𝑥(𝑘) 𝐵(𝑘) 𝟎 𝐵(𝑘) = + 𝑢(𝑘) + 𝑟(𝑘) + 𝑤(𝑘) 𝑧(𝑘 + 1) −𝐶 𝐼 𝑧(𝑘) 𝟎 𝐼 𝟎 [ ] [ ] 𝑥(𝑘) 𝑦(𝑘) = 𝐶 𝟎 (14) 𝑧(𝑘)

Fig. 4. An example of the equilibrium point of the pendulums. The reference position of the slider is given as −0.295 m ≤ 𝑝𝑠𝑟 ≤ 0.295 m.

≈ −𝑚𝑝𝑘 𝑔𝑦𝑝𝑐0𝑘 sin(𝜃𝑝𝑘𝑟 )

where 𝑟(𝑘) ∈ R3 denotes the reference vector.

where the pendulum’s reference angle 𝜃𝑝𝑘𝑟 is obtained using (19), 𝑚𝑝𝑘 and 𝑦𝑝𝑐0𝑘 denote mass and body-fixed position of the pendulum (shown in Table 1), respectively. An example of the equilibrium point of the pendulums is shown in Fig. 4 is given to illustrate the results using (19) and (20), where the reference position of the slider is given as −0.295 m ≤ 𝑝𝑠𝑟 ≤ 0.295 m.

2.5. Equilibrium point and balance problem The state-space model (13) works around the reference state vector 𝑥𝑟 and control input vector 𝑢𝑟 . However, both of them are unknown. To find 𝑥𝑟 and 𝑢𝑟 , a typical pick-and-place scenario is considered as below: suppose the slider (shown in Fig. 2(c)) moves from the initial position 0 (i.e., 𝑝𝑠 = 0) to a pick/place position 𝑝𝑠𝑟 (i.e., 𝑝𝑠𝑟 = 𝑝𝑠 ≠ 0) and stands still at 𝑝𝑠𝑟 , and vice versa. The cable-driven mobile platform shown in Fig. 1 is a planar system, and the kinematic constraints and high stiffness of the cables lead the state variables 𝑝𝑚𝑧 , 𝑝̇ 𝑚𝑧 , 𝛼𝑚 , 𝛼̇ 𝑚 , 𝛽𝑚 , 𝛽̇𝑚 to be small. Meanwhile, two pendulums are used to eliminate undesired out-of-plane motion (e.g., vibrations) and also to balance the COM offset of the slider (i.e., 𝑝𝑠 ≠ 0). When the slider arrives at 𝑝𝑠𝑟 , the equilibrium point (instead of the reference) 𝑥𝑟 and 𝑢𝑟 can be given as 𝑥𝑟 = lim 𝑥 = [0, 0, 0, 0, 0, 0, 𝜃𝑝1𝑟 , 0, 𝜃𝑝2𝑟 , 0, 𝑝𝑠𝑟 , 0]𝑇

(15a)

𝑢𝑟 = lim 𝑢 = [𝜏𝑝1𝑟 , 𝜏𝑝2𝑟 , 0]𝑇

(15b)

𝑡→∞

𝑡→∞

𝑟 = lim 𝑦 = [𝜃𝑝1𝑟 , 𝜃𝑝2𝑟 , 𝑝𝑠𝑟 ]𝑇

3. Control design Based on the linearized model and reference variables obtained in Sections 2.4 and 2.5, two control architectures are developed (shown in Fig. 5): MPC with integral action and MPC+PI with integral action. Compared to other controllers, e.g., MPC with changes of input (Huang et al., 2017), the proposed controllers are easier to implement in practice. 3.1. MPC with integral action In Fig. 5(a), the MPC with integral action has two control loops: an MPC-based loop and an integral compensator-based loop. MPC is used for state feedback control and the cost function with constraints is defined as

(15c)

𝑡→∞

where 𝜃𝑝1𝑟 , 𝜃𝑝2𝑟 , 𝑝𝑠𝑟 , 𝜏𝑝1𝑟 , 𝜏𝑝2𝑟 are the reference state and input variables of the pendulums. These variables are determined as follows: To simplify computation, let 𝜃𝑝1 = 𝜃𝑝2 . The total moment about the frame {𝑂𝑚 } is equal to zero, i.e., ∑ 𝑂𝑚 = (𝐾𝛼𝑚 − 𝑔(𝑚𝑠 𝑦𝑠𝑐0 + 2𝑚𝑝𝑘 𝑦𝑝0𝑘 + 2𝑚𝑝𝑘 𝑦𝑝𝑐0𝑘

min

𝑁𝑝 −1 {



} 𝑥(𝑘)𝑇 𝑄𝑝 𝑥(𝑘) + 𝑢(𝑘)𝑇 𝑅𝑝 𝑢(𝑘) + 𝑥(𝑘)𝑇 𝑃𝑝 𝑥(𝑘)

(21a)

𝑘=0

s. t.

𝑥(𝑘 +

𝛥𝑇 𝑇𝑠

) = 𝐴(𝑘)𝑥(𝑘) + 𝐵(𝑘)𝑢(𝑘)

𝑦(𝑘) = 𝐶𝑥(𝑘)

(16)

𝑥𝐿 ≤ 𝑥(𝑘) ≤ 𝑥𝑈

Substituting the corresponding parameters shown in Table 1 into (16), we get (143.4675+0.6278 cos(𝜃𝑝𝑘 ))𝛼𝑚 −20.8070𝑝𝑠𝑟 +0.6278 sin(𝜃𝑝𝑘 ) = 0. Clearly, 0.6278 cos(𝜃𝑝𝑘 ) ≤ 0.6278 ≪ 143.4675 for an arbitrary angle 𝜃𝑝𝑘 . In (15), we know lim𝑡→∞ 𝛼𝑚 = 0. However, in practice, 𝛼𝑚 =∶ 𝜖𝛼𝑚 is a small angle. Hence, (16) can be simplified as

𝑢𝐿 ≤ 𝑢(𝑘) ≤ 𝑢𝑈

cos(𝜃𝑝𝑘 )))𝛼𝑚 − 𝑔(𝑚𝑠 𝑝𝑠𝑟 + 2𝑚𝑝𝑘 𝑦𝑝𝑐0𝑘 sin(𝜃𝑝𝑘 )) = 0.

(20)

(21b)

𝑅𝑝 = 𝑅𝑇𝑝 ≻ 0, 𝑅𝑝 ∈ R3×3 𝑄𝑝 = 𝑄𝑇𝑝 ⪰ 0, 𝑄𝑝 ∈ R12×12 𝑃𝑝 = 𝑃𝑝𝑇 ⪰ 0, 𝑃𝑝 ∈ R12×12

with {∀ 𝑘 ∈ N ∶ 1 ≤ 𝑘 ≤ 2}. (18) has two input variables (𝜖𝛼𝑚 , 𝑝𝑠𝑟 ) but 𝜖𝛼𝑚 is unknown and not unique, which results in infinite solutions. Here, a simple linear equation is constructed as 𝜖𝛼𝑚 = 𝜁 𝑝𝑠𝑟 , where 𝜁 = 0.004 is an evaluated value in practice. Then, (18) is rearranged as [ (𝜁 𝐾𝛼 − 𝜁 𝑔(𝑚𝑠 𝑦𝑠𝑐0 + 2𝑚𝑝𝑘 𝑦𝑝0𝑘 ) − 𝑚𝑠 )𝑝𝑠𝑟 ] 𝑚 𝜃𝑝𝑘𝑟 = sin−1 (19) 2𝑚𝑝𝑘 𝑔𝑦𝑝𝑐0𝑘

where the state vector 𝑥 = [𝑝𝑚𝑧 , 𝑝̇ 𝑚𝑧 , 𝛼𝑚 , 𝛼̇ 𝑚 , 𝛽𝑚 , 𝛽̇𝑚 , 𝜃𝑝1 , 𝜃̇ 𝑝1 , 𝜃𝑝2 , 𝜃̇ 𝑝2 , 𝑝𝑠 , 𝑝̇ 𝑠 ]𝑇 and the control input vector 𝑢 = [𝜏𝑝1 , 𝜏𝑝2 , 𝑓𝑠 ]𝑇 . (21b) is the discrete state-space model of (13) with 𝑅𝑝 , 𝑄𝑝 , and 𝑃𝑝 denoting input weighting matrix, state weighting matrix, and terminal weighting matrix, respectively. 𝑥𝐿 , 𝑥𝑈 , 𝑢𝐿 , 𝑢𝑈 represent the lower bound and upper bound of states and control inputs, respectively. To solve (22), some alternative solvers can be used, such as qpOASES (Ferreau, Kirches, et al., 2014), CVXGEN (Mattingley & Boyd, 2012), etc. Due to the limitations of code generation in Beckhoff TwinCAT development environment (Beckhoff Automation, 2019), in this paper, we will find the unconstrained optimal solution and consider the constraints in (21) as control saturation to avoid overshoot. Substituting (21b) into (21a), we can obtain a quadratic programming (QP) problem as

with 𝜃𝑝𝑘𝑟 ∈ (−𝜋∕2, 𝜋∕2). The 𝑘th reference torque of the pendulum is computed as

𝐽 (𝑥𝑘 , 𝑈 ) =

(𝐾𝛼𝑚 − 𝑔(𝑚𝑠 𝑦𝑠𝑐0 + 2𝑚𝑝𝑘 𝑦𝑝0𝑘 ))𝜖𝛼𝑚 − 𝑔(𝑚𝑠 𝑝𝑠𝑟 + 2𝑚𝑝𝑘 𝑦𝑝𝑐0𝑘 sin(𝜃𝑝𝑘 )) = 0, (17) then 𝜃𝑝𝑘𝑟 = sin−1

[ (𝐾𝛼 − 𝑔(𝑚𝑠 𝑦𝑠𝑐0 + 2𝑚𝑝𝑘 𝑦𝑝0𝑘 ))𝜖𝛼 𝑚 𝑚 2𝑚𝑝𝑘 𝑔𝑦𝑝𝑐0𝑘

𝜃𝑝𝑘𝑟 ∈ (−𝜋∕2, 𝜋∕2)



𝑚𝑠 𝑝𝑠𝑟 ] , 2𝑚𝑝𝑘 𝑦𝑝𝑐0𝑘 (18)

𝜏𝑝𝑘𝑟 = −𝑚𝑝𝑘 𝑔𝑦𝑝𝑐0𝑘 (sin(𝜃𝑝𝑘𝑟 ) + 𝜖𝛼𝑚 cos(𝜃𝑝𝑘𝑟 )) 5

1 𝑇 ̄𝑇 ̄ ̄ ̄ 𝑈 (2𝛷 𝑄𝑝 𝛷 + 2𝑅̄ 𝑝 )𝑈 + 𝑥𝑇𝑘 (2𝐹̄ 𝑇 𝑄̄ 𝑝 𝛷)𝑈 2 + 𝑥𝑇𝑘 (𝑄𝑝 + 𝐹̄ 𝑇 𝑄̄ 𝑝 𝐹̄ )𝑥𝑘

(22)

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

controller-based loop, and an integral compensator-based loop. In this case, the MPC cost function with constraints is redefined as min

𝑁𝑝 −1 {



𝑥10×1 (𝑘)𝑇 𝑄𝑝 𝑥10×1 (𝑘) + 𝑢2×1 (𝑘)𝑇 𝑅𝑝

𝑘=0

} 𝑢2×1 (𝑘) + 𝑥10×1 (𝑘)𝑇 𝑃𝑝 𝑥10×1 (𝑘) s. t.

𝑥10×1 (𝑘 +

𝛥𝑇 𝑇𝑠

(25a)

) = 𝐴10×10 (𝑘)𝑥10×1 (𝑘) + 𝐵10×2 (𝑘)𝑢2×1 (𝑘)

𝑦(𝑘) = 𝐶2×10 𝑥10×1 (𝑘)

(25b)

𝑥𝐿 ≤ 𝑥10×1 (𝑘) ≤ 𝑥𝑈 𝑢𝐿 ≤ 𝑢2×1 (𝑘) ≤ 𝑢𝑈 𝑅𝑝 = 𝑅𝑇𝑝 ≻ 0, 𝑅𝑝 ∈ R2×2 𝑄𝑝 = 𝑄𝑇𝑝 ⪰ 0, 𝑄𝑝 ∈ R10×10 𝑃𝑝 = 𝑃𝑝𝑇 ⪰ 0, 𝑃𝑝 ∈ R10×10 with 𝑥10×1 = [𝑝𝑚𝑧 , 𝑝̇ 𝑚𝑧 , 𝛼𝑚 , 𝛼̇ 𝑚 , 𝛽𝑚 , 𝛽̇𝑚 , 𝜃𝑝1 , 𝜃̇ 𝑝1 , 𝜃𝑝2 , 𝜃̇ 𝑝2 ]𝑇 and 𝑢2×1 = [𝜏𝑝1 , 𝜏𝑝2 ]𝑇 . The reduced state and input variables 𝑥10×1 and 𝑢2×1 are obtained by removing the slider’s states and input (in (12)), respectively. Eq. (25b) is obtained by linearizing (12) around the reduced reference state vector 𝑥𝑟10×1 . In comparison with (21), other variables (e.g., 𝑅𝑝 , 𝑄𝑝 , and 𝑃𝑝 ) are extended to different dimensions. Then, the optimal input of (25) is computed as

Fig. 5. Control architectures. (a) MPC with integral action and (b) MPC+PI with integral action. The components of the UMM are illustrated as follows: (1) the mobile platform has no control input and six states (𝑝𝑚𝑧 , 𝑝̇ 𝑚𝑧 , 𝛼𝑚 , 𝛼̇ 𝑚 , 𝛽𝑚 , 𝛽̇𝑚 ), and the states are obtained using a Kalman-based method (Qi et al., 2019); (2) the 𝑘th (𝑘 = 1, 2) pendulum is actuated by the corresponding servo motor (Beckhoff, AM8131-0F20-0000). Each pendulum has one input (torque 𝜏𝑝𝑘 ) and two states (𝜃𝑝𝑘 , 𝜃̇ 𝑝𝑘 ); (3) the linear slider is actuated by a stepper motor (Nema 17, 42 mm) with an encoder (Avago, HEDS-5540 I06), and it has one input (force 𝑓𝑠 ) and two states (𝑝𝑠 , 𝑝̇ 𝑠 ).

̄ −1 𝛷̄ 𝑇 𝑄̄ 𝑇 𝐹̄ 𝑥𝑘10×1 . 𝑢∗2×1 = − [𝐼2×2 , 𝟎](𝛷̄ 𝑇 𝑄̄ 𝛷̄ + 𝑅) ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟

In Fig. 5(b), the PI controller (gain 𝐾𝑝𝑖 ) and the integral compensator (integral gain 𝐾𝑓 𝑏𝑖 ) are also included. The PI controller is utilized to control the position of the slider. Also, the PI controller is selected since the stepper motor is under speed control mode. Hence, in this case, the control law (combining with (26)) for the system is described as [ ∗ ] [ [∑ 𝑘 ]]𝑇 𝑢 (𝑝 (𝑘) − 𝑝𝑠 (𝑘)) 𝑢(𝑘) = 2×1 + 0, 0, −𝐾𝑝𝑖 0 𝑠𝑟 0 𝑝𝑠𝑟 (𝑘) − 𝑝𝑠 (𝑘)

where 𝑄̄ 𝑝 = diag(𝑄𝑝 , 𝑄𝑝 , … , 𝑃𝑝 ), 𝑅̄ 𝑝 = diag(𝑅𝑝 , 𝑅𝑝 , … , 𝑅𝑝 ), ⎡ ⎤ ⎡ 𝐴 ⎤ 𝑢(𝑘) ⎢ ⎥ ⎢ 2⎥ 𝑢(𝑘 + 𝛥𝑇 ∕𝑇 ) 𝑠 ⎥ , 𝐹̄ = ⎢ 𝐴 ⎥ , 𝑈 =⎢ ⎢ ⎥ ⎢ ⋮ ⎥ ⋮ ⎢𝑢(𝑘 + (𝑁 − 1)𝛥𝑇 ∕𝑇 )⎥ ⎢𝐴𝑁𝑝 ⎥ 𝑝 𝑠 ⎦ ⎣ ⎣ ⎦ ⎡ 𝐵 ⎢ 𝐴𝐵 𝛷̄ = ⎢ ⎢ ⋮ ⎢𝐴𝑁𝑝 −1 𝐵 ⎣

𝟎 𝐵 ⋮ 𝐴𝑁𝑝 −2 𝐵

⋯ ⋯ ⋮ ⋯

+ 𝐾𝑓 𝑏𝑖 (𝑟(𝑘) − 𝑦(𝑘)) + 𝑢𝑟 .

⎤ ⎥ ⎥ , 𝑥𝑘 = 𝑥(𝑘) ⎥ 𝑁𝑝 −𝑁𝑐 ⎥ 𝐴 𝐵⎦

3.3. Stability analysis

with 𝑁𝑝 and 𝑁𝑐 represent the predictive horizon and control horizon, respectively. 𝜕𝐽 (𝑥 ,𝑈 ) = 0 (Wang, 2009), the optimal input of (22) is computed Let 𝜕𝑈𝑘 as

To analyze the system stability, direct Lyapunov (Lu, Fang, & Sun, 2018) and indirect Lyapunov approaches can be used. Since the linearized model (14) around the equilibrium point is known, then the indirect Lyapunov-based stability will be developed. Based on the control design shown in Sections 3.1 and 3.2, two theorems are introduced to analyze the stability in the following cases:

(23)

=∶𝐾𝑚𝑝𝑐1

[ ] 𝑥(𝑘) Theorem 1. Suppose a close-loop control law 𝑢 = [𝐾𝑚𝑝𝑐1 , 𝐾𝑓 𝑏𝑖 ] +𝑢𝑟 𝑧(𝑘) with the feedback gain [𝐾𝑚𝑝𝑐1 , 𝐾𝑓 𝑏𝑖 ] can stabilize the augmented system (14), then lim𝑘→∞ 𝑦(𝑘) = 𝑟 for an arbitrary constant disturbance 𝑤 and reference 𝑟 (Bemporad, 2011).

In Fig. 5(a), the integral compensator (integral gain 𝐾𝑓 𝑏𝑖 ) is included to stabilize the system, i.e., result in the tracking error (𝑟(𝑘) − 𝑦(𝑘)) converging towards to zero asymptotically. Finally, by combining with (23), the control law for the system is designed as 𝑢(𝑘) = 𝑢∗ + 𝐾𝑓 𝑏𝑖 (𝑟(𝑘) − 𝑦(𝑘)) + 𝑢𝑟

(27)

Another feature of the above control algorithms can be summarized as below: (24) and (27) require less effort to implement in practice because we can tune the parameter 𝐾𝑓 𝑏𝑖 to reject errors when the dynamic model is not accurate enough.

𝟎 𝟎 ⋮

̄ −1 𝛷̄ 𝑇 𝑄̄ 𝑇 𝐹̄ 𝑥𝑘 . 𝑢∗ = − [𝐼3×3 , 𝟎](𝛷̄ 𝑇 𝑄̄ 𝛷̄ + 𝑅) ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟

(26)

=∶𝐾𝑚𝑝𝑐2

[ ] 𝑥(𝑘) Proof. Substituting 𝑢 = [𝐾𝑚𝑝𝑐1 , 𝐾𝑓 𝑏𝑖 ] +𝑢𝑟 into (14), we get 𝑧(𝑘) [ ] [ ][ ] [ ] 𝑥(𝑘 + 1) 𝐴 𝟎 𝑥(𝑘) 𝐵 = + [𝐾𝑚𝑝𝑐1 , 𝐾𝑓 𝑏𝑖 ] 𝑧(𝑘 + 1) −𝐶 𝐼 𝑧(𝑘) 𝟎 [ ] [ ] [ ] [ ] 𝑥(𝑘) 𝐵 𝟎 𝐵 + 𝑢𝑟 + 𝑟+ 𝑤 𝑧(𝑘) 𝟎 𝐼 𝟎 [ ][ ] 𝐴 + 𝐵𝐾𝑚𝑝𝑐1 𝐵𝐾𝑓 𝑏𝑖 𝑥(𝑘) = −𝐶 𝐼 𝑧(𝑘)

(24)

where the reference input vector 𝑢𝑟 is equal to [𝜏𝑝1𝑟 , 𝜏𝑝2𝑟 , 𝑓𝑠𝑟 ]𝑇 . 3.2. MPC+PI with integral action Different with that of MPC with integral action in Fig. 5(a), the MPC+PI with integral action shown in Fig. 5(b) has three control loops: an MPC-based loop for the mobile platform and two pendulums, a PI 6

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

Table 2 Tuning parameters for simulations. Control structures

Parameters

MPC with integral action

𝑇𝑠 = 0.01 s (sampling time); 𝛥𝑇 = 0.02 s (interval time); 𝑁𝑝 = 5 (predictive horizon); 𝑁𝑐 = 5 (control horizon); 𝑅𝑝 = diag([0.014, 0.014, 0.0015]) (input weighting matrix); 𝑄𝑝 = diag([100, 100, 1, 1, 1, 10, 1, 1, 1, 1, 150, 0]) (state weighting matrix); 𝑃𝑝 (terminal weighting matrix) is the solution of the Lyapunov equation 𝐴𝑃𝑝 𝐴𝑇 − 𝑃𝑝 = −𝑄𝑝 ; 𝑃𝑝 = 𝑄𝑝 (terminal weighting matrix); 𝑥𝐿 = −∞ ∈ R12×1 (lower bound); 𝑥𝑈 = ∞ ∈ R12×1 (upper bound); 𝑢𝐿 = −[3, 3, 10]𝑇 (lower bound); 𝑢𝑈 = [3, 3, 10]𝑇 (upper bound); 𝐾𝑓 𝑏𝑖 = [1, 1, 22.75]𝑇 (integral compensator gain).

MPC + PI with integral action

𝑇𝑠 = 0.01 s; 𝛥𝑇 = 0.02 s; 𝑁𝑝 = 𝑁𝑐 = 5; 𝑅𝑝 = diag([0.3, 0.3]); 𝑅𝑝 = diag([1.5𝑒4 , 1.5𝑒4 , 1𝑒2 , 1𝑒2 , 2𝑒2 , 2𝑒2 , 1, 1, 1, 1]); 𝑃𝑝 is the solution of the Lyapunov equation 𝐴𝑃𝑝 𝐴𝑇 − 𝑃𝑝 = −𝑄𝑝 ; 𝑥𝐿 = −∞ ∈ R10×1 ; 𝑥𝑈 = ∞ ∈ R10×1 ; 𝑢𝐿 = −[3, 3]𝑇 ; 𝑢𝑈 = [3, 3]𝑇 ; 𝐾𝑓 𝑏𝑖 = [1, 1, 1]𝑇 ; 𝐾𝑝𝑖 = [30, 50] (PI controller gain).

[ +

𝐵 𝟎

𝟎 𝐼

][ ] 𝑤+𝑢𝑟 . 𝑟

The characteristic polynomial of (28) can be computed as [ ] 𝜆𝐼 − 𝐴 − 𝐵𝐾𝑚𝑝𝑐1 −𝐵𝐾𝑓 𝑏𝑖 𝑔(𝜆) = det 𝐶 (𝜆 − 1)𝐼

In this paper, we analyze the stability around the reference point (15), which is considered as the equilibrium point. One can also derive the Lyapunov function at each time iteration using the method in Falcone, Borrelli, et al. (2008) for other potential applications.

(28)

(29) 4. Simulations, experiments, robustness verification, and discussion

where 𝜆 is the eigenvalue. Since (28) is asymptotically stable via controller design and (𝑤, 𝑟) are constant, then the roots (i.e., eigenvalue 𝜆) of (29) must locate in a unit circle. Hence, {[ ] [ ]} 𝑥(𝑘 + 1) 𝑥(𝑘) − =𝟎 ⇒ lim 𝑘→∞ 𝑧(𝑘 + 1) 𝑧(𝑘)

To evaluate control performance, simulations, experiments, and robustness verification are conducted as follows: 4.1. Simulation results

⇒ lim (𝑧(𝑘 + 1) − 𝑧(𝑘)) = 𝟎 𝑘→∞

To demonstrate a warehousing application in simulation, a step reference is given to the slider, i.e., (𝑝𝑠𝑟 = 0 m) → (𝑝𝑠𝑟 = −0.15 m). Additionally, the initial states are equal to zero, input pulse disturbances are given, the system keeps its maximum allowable cable tensions, and the desired in-plane position (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) of the mobile platform is always equal to (0, 0) m. Based on the above setup and tuning parameters shown in Table 2, the open loop control, MPC with integral action, and MPC+PI with integral action are implemented, respectively. The simulated responses with these control strategies are shown in Figs. 6 and 7. In this case, the moving slider generated reaction forces to the mobile platform, resulting in the mobile platform vibrating. The control goal is to minimize the vibrations and increase the position accuracy of the end-effector. For the MPC with integral action, MPC is used for state feedback control, including two objectives: (1) dampen the mobile platform’s undesired out-of-plane motions and keep the states at zero; (2) to achieve the position control for the slider. While for the MPC+PI with integral action, MPC and PI controller are used to achieve the goals (1) and (2), respectively. For both control architectures, the integral compensator (integral gain 𝐾𝑓 𝑏𝑖 ) is utilized to stabilize the system, i.e., result in the tracking error (𝑟(𝑘) − 𝑦(𝑘)) converging towards to zero asymptotically. For the open-loop control results shown in Fig. 6(b), since the stepper motor (in the actual UMM) is in speed control mode, then the PI controller is applied to bring the slider to the reference position 𝑝𝑠𝑟 ; meanwhile, its movement generates a reaction force which results in vibrations of the mobile platform (shown in Fig. 6(a)). In this case, there are no control inputs to the pendulums (in Fig. 6(c)), and the input disturbances also contribute to the vibrations. Because of the system damping behaviors, the vibrations finally close to zero. However, when the controllers (MPC with integral action and MPC+PI with integral action) are applied, clearly, the vibrations damp out faster (shown in Fig. 6(a)). Also, due to the in-plane kinematic constraints

⇒ lim (𝑧(𝑘) + 𝑟 − 𝑦(𝑘) − 𝑧(𝑘)) = 𝟎 𝑘→∞

⇒ lim (𝑟 − 𝑦(𝑘)) = 𝟎 𝑘→∞

⇒ lim 𝑦(𝑘) = 𝑟. □ 𝑘→∞

Theorem [[2. Assume close-loop control law ] ][ another ] 𝐾𝑚𝑝𝑐2 𝟎 𝑥(𝑘) 𝑢 = , 𝐾𝑓 𝑏𝑖 +𝑢𝑟 with the feedback gain 𝟎 𝐾 𝑧(𝑘) [[ ] ] 𝑝𝑖 𝐾𝑚𝑝𝑐2 𝟎 , 𝐾𝑓 𝑏𝑖 can also stabilize the augmented system (14), then 𝟎 𝐾𝑝𝑖 lim𝑘→∞ 𝑦(𝑘) = 𝑟 for an arbitrary constant disturbance 𝑤 and reference 𝑟. Proof. Using the[[similar proof] approach as ][ ] that for Theorem 1 by 𝐾𝑚𝑝𝑐2 𝟎 𝑥(𝑘) substituting 𝑢 = , 𝐾𝑓 𝑏𝑖 +𝑢𝑟 into (14), the corre𝟎 𝐾𝑝𝑖 𝑧(𝑘) sponding characteristic polynomial is calculated as [ ] 𝐾 𝟎 ⎡ ⎤ 𝜆𝐼 − 𝐴 − 𝐵 𝑚𝑝𝑐2 −𝐵𝐾𝑓 𝑏𝑖 ⎥ ⎢ 𝑔(𝜆) = det . (30) 𝟎 𝐾𝑝𝑖 ⎢ ⎥ 𝐶 (𝜆 − 1)𝐼 ⎦ ⎣ Since this closed-loop model is also asymptotically stable and (𝑤, 𝑟) are constant, the roots of (30) locate in a unit circle. One can conclude as below: lim𝑘→∞ (𝑧(𝑘 + 1) − 𝑧(𝑘)) = 𝟎 ⇒ lim𝑘→∞ (𝑧(𝑘) + 𝑟 − 𝑦(𝑘) − 𝑧(𝑘)) = 𝟎 ⇒ lim𝑘→∞ 𝑦(𝑘) = 𝑟. □ Clearly, Theorems 1 and 2 are applied to the closed-loop systems in Sections 3.1 and 3.2, respectively. Remark 1. Theorem 2 can be generated to a] multi-loop feedback gain [ (i.e., defined as) diag([𝐾1 , 𝐾2 , … , 𝐾𝑚 ]), 𝐾𝑓 𝑏𝑖 ({∀ 𝑚 ∈ N ∶ 1 ≤ 𝑚 ≤ 12}) to stabilize the augmented model (14). Using the similar approach (for Theorem 2) we can easily prove Remark Remark 1. 7

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

Fig. 7. Simulated position of the end-effector with different control strategies. The open loop control, MPC with integral action, and MPC+PI with integral action are implemented, respectively.

Fig. 8. Experimental response with different control strategies (the slider). The open loop control, MPC with integral action, and MPC+PI with integral action are implemented, respectively.

(since in the open-loop controller, the slider is also applied the same PI controller), but MPC with Integral Action converges faster. In the 𝑌 -direction (i.e., 𝑦𝑒 ), the MPC with Integral Action and MPC+PI with Integral Action bring the UMM to the same position, which is larger than that of open-loop control. Hence, it can be concluded that two closed-loop controllers both can improve the position accuracy of the end-effector. In summary, the simulation results show that both control algorithms can achieve the objectives and have better control performance than that of open-loop control. The open-loop control also results in zero states of the mobile platform because of the damping behavior of the system. Clearly, the control performance validates the effectiveness of the control design. The results also show that when input disturbances are given, both controllers work well, i.e., good robust performance. 4.2. Experimental results In experiments, the slider moves fast from the initial position 𝑝𝑠𝑟 = 0 m to the pick/place position 𝑝𝑠𝑟 = −0.15 m, and the top speed is around 0.3 m∕s. Other setups are the same as simulations. The open loop control, MPC with integral action, and MPC+PI with integral action are implemented in experiments, respectively. The experimental objectives are the same as that of simulation (in Section 4.1). Using the tuning parameters for experiments (in Table 3), correspondingly, the state and input responses are shown in Figs. 8 and 9. In Fig. 8, the slider moves from position 0 m to the set-point −0.15 m, and it generates reaction forces to the mobile platform, resulting in the mobile platform vibrating (in Fig. 9). Meanwhile, impulse disturbances are also given to the pendulums to evaluate the controllers’ robustness. Clearly, in Fig. 9, both controllers can eliminate vibrations and have faster responses than that of open-loop control. When the slides stops at 𝑝𝑠𝑟 = −0.15 m (the reference angles of the pendulums are equal to −30.45 deg), the tracking error of the pendulums going towards to zero asymptotically (in about 3 s). In addition, by substituting the actual position and angle data (in Figs. 8 and 9) into (3c), the end-effector position 𝑝𝑒 can also be evaluated (shown in Fig. 10). The results showed that via the proposed

Fig. 6. Simulated response with different control strategies. (a) State responses of the mobile platform, (b) reference tracking of the slider and pendulums, and (c) input responses of the pendulums. The open loop control, MPC with integral action, and MPC+PI with integral action are implemented, respectively.

and high stiffness of cables, the oscillations of angle 𝛼𝑚 and 𝛽𝑚 are small (discussed in Section 2), but the amplitude in the 𝑍-direction (i.e., 𝑝𝑚𝑧 ) is quite visible. Using these two controllers, the amplitude is clearly eliminated. Furthermore, the control inputs (in Fig. 6(c)) also contribute the reference tracking (shown in 6(b)) for the slider and pendulums. Substituting the obtained values (in Fig. 6) into (3c), the endeffector position 𝑝𝑒 = (𝑥𝑒 , 𝑦𝑒 , 𝑧𝑒 ) can be computed, as shown in Fig. 7. In Fig. 7, 𝑥𝑒 is small, because the 𝑋-direction is parallel with in-plane. In the 𝑍-direction (i.e., 𝑧𝑒 ), three controllers have close performance 8

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

Table 3 Tuning parameters for experiments. Control structures

Parameters

MPC with integral action

𝑇𝑠 = 0.01 s (sampling time); 𝛥𝑇 = 0.02 s (interval time); 𝑁𝑝 = 5 (predictive horizon); 𝑁𝑐 = 5 (control horizon); 𝑅𝑝 = diag([0.014, 0.014, 0.0015]) (input weighting matrix); 𝑄𝑝 = diag([0.01, 1, 0.5, 1, 0.5, 1, 1, 1, 1, 1, 150, 0]) (state weighting matrix); 𝑃𝑝 = 𝑄𝑝 (terminal weighting matrix); 𝑥𝐿 = −∞ ∈ R12×1 (lower bound); 𝑥𝑈 = ∞ ∈ R12×1 (upper bound); 𝑢𝐿 = −[3, 3, 10]𝑇 (lower bound); 𝑢𝑈 = [3, 3, 10]𝑇 (upper bound); 𝐾𝑓 𝑏𝑖 = [1, 1, 22.75]𝑇 (integral compensator gain).

MPC + PI with integral action

𝑇𝑠 = 0.01 s; 𝛥𝑇 = 0.02 s; 𝑁𝑝 = 𝑁𝑐 = 5; 𝑅𝑝 = diag([0.014, 0.014]); 𝑅𝑝 = 𝑄𝑝 = diag([0.01, 1, 0.5, 1, 0.5, 1, 1, 1, 1, 1]); 𝑥𝐿 = −∞ ∈ R10×1 ; 𝑥𝑈 = ∞ ∈ R10×1 ; 𝑢𝐿 = −[3, 3]𝑇 ; 𝑢𝑈 = [3, 3]𝑇 ; 𝐾𝑓 𝑏𝑖 = [1, 1, 35]𝑇 ; 𝐾𝑝𝑖 = [0, 30] (PI controller gain).

controllers, the position accuracy of the end-effector was improved (especially 𝑦𝑒 ). Based on the above results and analysis, it can be summarized that the proposed controllers are effective and robust to achieve the goal.

in the feasible domain. The greater 𝐽𝑚𝑒𝑠𝑡 and stiffness magnitude 𝜅𝑚𝑒𝑠𝑡 (Yeo, Yang, & Lim, 2013) indicate more positive contributions to the system stability. Meanwhile, using the proposed control strategies the disturbances rejection is achieved.

4.3. Robustness verification

5. Conclusions and future work

In Section 4.2, input disturbances are introduced to evaluate the controller performance. To further verify the robustness performance of the proposed strategies, three more scenarios are conducted (other experimental setups (e.g., the motion of the slider and input disturbances), parameters of the UMM, and tuning parameters are the same as those in Section 4.2)) as follows:

This paper introduced an underactuated mobile manipulator for warehousing applications and focused on modeling and control problems for this system. Unlike the system modeling in Qi et al. (2019) and de Rijk et al. (2018), the proposed modeling extended the system configuration by introducing a coupled slider to achieve out-of-plane manipulation tasks. Accordingly, tracking, vibration control, and balance control problems must be considered, not just vibration control that talked in de Rijk et al. (2018). To reflect the actual system dynamics, the derivation of equations of motion of the UMM, disturbance analysis, and model validation were investigated. A simple but effective strategy was also developed to solve the equilibrium point and balance problem. The proposed controllers are robust and require less effort to implement in practice. Simulations, experiments, and robustness verification are conducted to validate the performance of the proposed methods, and the results were satisfied. The control strategies proposed in this paper can also be applied to other recent robotic systems. In the future, we plan to develop a common performance indicator that can easily compare the proposed controllers with other types of controllers for CDRs. A new gripper (e.g., based on the previous works (Qi, Lam, & Xu, 2014)) will also be designed and affixed to the slider of the UMM to extend the range of manipulation tasks.

1. Different load masses: a reference load mass 1 (1.343 kg) and an uncertain load mass 2 (around 0.7 kg) are mounted on the slider, respectively. 2. Different in-plane positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) of the mobile platform: the desired example positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) are equal to (−0.1, 0.05) m and (−0.1, −0.05) m, respectively. 3. Different load masses and in-plane positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) of the mobile platform, i.e., the combination of two cases above. The corresponding experimental results are shown in Figs. 11, 12, and 13, respectively. Fig. 11 shows the damping performance of the controllers with load masses 1 and 2, where the load mass 1 is a reference (i.e., the load mass 1 is also used for experiments in Section 4.2) and the load mass 2 is uncertain (around 0.7 kg). In this case, the in-plane position (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) is always equal to (0, 0) m and two controllers are carried out, respectively. Clearly, when the uncertain load mass 2 is mounted on the slider, vibrations can also be suppressed by using the controllers. Additionally, the damping performance of the controllers with two example in-plane positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) of the mobile platform is shown in Fig. 12, where the desired positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) equal (−0.1, 0.05) m and (−0.1, −0.05) m, respectively. In this scenario, the reference load mass 1 is mounted on the slider. The experimental results also show that vibrations are damped out asymptotically by using the controllers. In comparison with the results in Figs. 11 and 12, Fig. 13 shows the damping performance of the controllers with the uncertain load mass 2 and in-plane positions ((−0.1, 0.05) m and (−0.1, −0.05) m). Clearly, vibrations can still be reduced by using the controllers in this scenario. In summary, in this section, the robustness performance of the controllers is verified using three scenarios.

Declaration of competing interest None declared. Acknowledgment The authors would like to knowledge the financial support of the Natural Sciences and Engineering Research Council of Canada (NSERC). Appendix A Suppose sin(𝛼𝑚 ) ≈ 𝛼𝑚 , cos(𝛼𝑚 ) ≈ 1, sin(𝛽𝑚 ) ≈ 𝛽𝑚 , cos(𝛽𝑚 ) ≈ 1, 𝑠7 = sin(𝜃𝑝1 ), 𝑐7 = cos(𝜃𝑝1 ), 𝑠8 = sin(𝜃𝑝2 ), and 𝑐8 = cos(𝜃𝑝2 ) to simplify the derivation of (10). The parameters of pendulum 2 are used to replace with those of pendulum 1 for simplification. Then, we can get 𝑀11 = 𝑚𝑚 +2𝑚𝑝2 +𝑚𝑠 , 𝑀12 = 2𝑚𝑝2 𝑦𝑝02 +𝑚𝑠 𝑦𝑠0 +𝑐7 𝑚𝑝2 𝑦𝑝𝑐02 +𝑐8 𝑚𝑝2 𝑦𝑝𝑐02 −𝑚𝑠 𝛼𝑚 𝑝𝑠 − 𝑠7 𝑚𝑝2 𝛼𝑚 𝑦𝑝𝑐02 − 𝑠8 𝑚𝑝2 𝛼𝑚 𝑦𝑝𝑐02 , 𝑀13 = −𝛽𝑚 (𝑚𝑠 𝑝𝑠 + 𝑠7 𝑚𝑝2 𝑦𝑝𝑐02 + 𝑠8 𝑚𝑝2 𝑦𝑝𝑐02 ),

4.4. Discussion Using (B.4), the performance indices results are shown in Fig. 14 ((a) 𝐽𝑚𝑒𝑠𝑡 versus 𝐽𝑚𝑑 and (b) 𝜅𝑚𝑒𝑠𝑡 versus 𝜅𝑚𝑑 , respectively). Clearly, 𝐽𝑚𝑑 ≪ 𝐽𝑚𝑒𝑠𝑡 and 𝜅𝑚𝑑 ≪ 𝜅𝑚𝑒𝑠𝑡 for different in-plane positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) 9

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

Fig. 10. Experimental position of the end-effector with different control strategies, where the open loop control, MPC with integral action, and MPC+PI with integral action are implemented, respectively.

Fig. 11. Damping performance of the controllers with different load masses. (a) MPC with integral action and (b) MPC+PI with integral action.

𝑠7 𝑚𝑝2 𝑦𝑝𝑐02 +𝑠8 𝑚𝑝2 𝑦𝑝𝑐02 ), 𝑀32 = 𝑐7 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 −𝑐8 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 −𝑚𝑠 𝛽𝑚 𝑝𝑠 𝑦𝑠0 𝑚𝑝2 𝛽𝑚 𝑦2

Fig. 9. Experimental response with different control strategies (the mobile platform and pendulums). (a) State responses of the mobile platform and (b) state and input responses of the pendulums. The open loop control, MPC with integral action, and MPC+PI with integral action are implemented, respectively.

𝑀14 = 𝑚𝑝2 𝑦𝑝𝑐02 (𝑐7 − 𝑠7 𝛼𝑚 ), 𝑀15 = 𝑚𝑝2 𝑦𝑝𝑐02 (𝑐8 − 𝑠8 𝛼𝑚 ), 𝑀16 = 𝑚𝑠 , 𝑀21 = 2𝑚𝑝2 𝑦𝑝02 + 𝑚𝑠 𝑦𝑠0 + 𝑐7 𝑚𝑝2 𝑦𝑝𝑐02 + 𝑐8 𝑚𝑝2 𝑦𝑝𝑐02 − 𝑚𝑠 𝛼𝑚 𝑝𝑠 − 𝑠7 𝑚𝑝2 𝛼𝑚 𝑦𝑝𝑐02 − 𝑠8 𝑚𝑝2 𝛼𝑚 𝑦𝑝𝑐02 , 𝑀22 = 𝐼𝑚𝑥𝑥 +2𝐼𝑝2 +𝐼𝑠𝑥𝑥 +𝑚𝑠 𝑝2𝑠 +2𝑚𝑝2 𝑦2𝑝02 +2𝑚𝑝2 𝑦2𝑝𝑐02 +𝑚𝑠 𝑦2𝑠0 + 2𝑐7 𝑚𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 + 2𝑐8 𝑚𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 + 2𝑠7 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑦𝑝𝑐02 − 2𝑠8 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀23 = 𝑐7 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 − 𝑐8 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 − 𝑚𝑠 𝛽𝑚 𝑝𝑠 𝑦𝑠0 − 𝑚𝑝2 𝛽𝑚 𝑦2𝑝𝑐02 sin(2𝜃𝑝2 )

𝑚𝑝2 𝛽𝑚 𝑦2𝑝𝑐02 sin(2𝜃𝑝1 ) 2

sin(2𝜃𝑝1 )

𝑚𝑝2 𝛽𝑚 𝑦2

sin(2𝜃𝑝2 )

𝑝𝑐02 𝑝𝑐02 − − −𝑠7 𝑚𝑝2 𝛽𝑚 𝑦𝑝02 𝑦𝑝𝑐02 −𝑠8 𝑚𝑝2 𝛽𝑚 𝑦𝑝02 𝑦𝑝𝑐02 , 2 2 𝑀33 = −𝑚𝑝2 𝑐72 𝑦2𝑝𝑐02 − 𝑚𝑝2 𝑐82 𝑦2𝑝𝑐02 + 𝑚𝑠 𝑝𝑠 2 + 2𝑚𝑝2 𝑥2𝑝02 + 2𝑚𝑝2 𝑦2𝑝𝑐02 + 𝐼𝑚𝑦𝑦 + 𝐼𝑠𝑦𝑦 , 𝑀34 = 𝑐7 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀35 = −𝑐8 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀36 = 0, 𝑀41 = 𝑚𝑝2 𝑦𝑝𝑐02 (𝑐7 −𝑠7 𝛼𝑚 ), 𝑀42 =𝐼𝑝2 +𝑚𝑝2 𝑦2𝑝𝑐02 +𝑐7 𝑚𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 +𝑠7 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀43 = 𝑐7 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀44 = 𝑚𝑝2 𝑦2𝑝𝑐02 + 𝐼𝑝2 , 𝑀45 = 0, 𝑀46 = 0, 𝑀51 = 𝑚𝑝2 𝑦𝑝𝑐02 (𝑐8 −𝑠8 𝛼𝑚 ), 𝑀52 =𝐼𝑝2 +𝑚𝑝2 𝑦2𝑝𝑐02 +𝑐8 𝑚𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 −𝑠8 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀53 = −𝑐8 𝑚𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀54 = 0, 𝑀55 = 𝑚𝑝2 𝑦2𝑝𝑐02 + 𝐼𝑝2 , 𝑀56 = 0, 𝑀61 = 𝑚𝑠 , 𝑀62 = 𝑚𝑠 𝑦𝑠0 , 𝑀63 = 0, 𝑀64 = 0, 𝑀65 = 0, 𝑀66 = 𝑚𝑠 , 𝐶̃1 = 2𝑚𝑠 𝛼𝑚 𝛽𝑚 𝑝𝑠 𝛼̇ 𝑚 𝛽̇𝑚 − 𝑚𝑠 𝑝𝑠 𝛽̇𝑚2 − 2𝑚𝑠 𝛼𝑚 𝛼̇ 𝑚 𝑝̇ 𝑠 − 2𝑚𝑠 𝛽𝑚 𝛽̇𝑚 𝑝̇ 𝑠 − 𝑠7 𝑚𝑝2 𝛼̇ 𝑚2 𝑦𝑝𝑐02 − 2 𝑦 ̇2 𝑠7 𝑚𝑝2 𝛽̇𝑚2 𝑦𝑝𝑐02 −𝑠8 𝑚𝑝2 𝛼̇ 𝑚2 𝑦𝑝𝑐02 −𝑠8 𝑚𝑝2 𝛽̇𝑚2 𝑦𝑝𝑐02 −𝑠7 𝑚𝑝2 𝜃̇ 𝑝1 𝑝𝑐02 −𝑠8 𝑚𝑝2 𝜃𝑝2 𝑦𝑝𝑐02 − 2𝑚𝑝2 𝛼𝑚 𝛼̇ 𝑚2 𝑦𝑝02 − 𝑚𝑠 𝛼𝑚 𝛼̇ 𝑚2 𝑦𝑠0 − 2𝑠7 𝑚𝑝2 𝛼̇ 𝑚 𝜃̇ 𝑝1 𝑦𝑝𝑐02 − 2𝑠8 𝑚𝑝2 𝛼̇ 𝑚 𝜃̇ 𝑝2 𝑦𝑝𝑐02 2 𝑦 ̇2 − 𝑐7 𝑚𝑝2 𝛼𝑚 𝛼̇ 𝑚2 𝑦𝑝𝑐02 − 𝑐8 𝑚𝑝2 𝛼𝑚 𝛼̇ 𝑚2 𝑦𝑝𝑐02 − 𝑐7 𝑚𝑝2 𝛼𝑚 𝜃̇ 𝑝1 𝑝𝑐02 − 𝑐8 𝑚𝑝2 𝛼𝑚 𝜃𝑝2 𝑦𝑝𝑐02 − 2 ̇ ̇ ̇ 𝑚𝑠 𝑝𝑠 𝛼̇ 𝑚 −2𝑐7 𝑚𝑝2 𝛼𝑚 𝛼̇ 𝑚 𝜃𝑝1 𝑦𝑝𝑐02 −2𝑐7 𝑚𝑝2 𝛽𝑚 𝛽𝑚 𝜃𝑝1 𝑦𝑝𝑐02 −2𝑐8 𝑚𝑝2 𝛼𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝2 𝑦𝑝𝑐02 − 2𝑐8 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝2 𝑦𝑝𝑐02 + 2𝑠7 𝑚𝑝2 𝛼𝑚 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 𝑦𝑝𝑐02 + 2𝑠8 𝑚𝑝2 𝛼𝑚 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 𝑦𝑝𝑐02 , 𝐶̃2 = 2 𝑦2 𝑚𝑝2 𝛽̇𝑚

sin(2𝜃𝑝1 )

2 𝑦2 𝑚𝑝2 𝛽̇𝑚

sin(2𝜃𝑝2 )

𝑝𝑐02 𝑝𝑐02 − 2𝑚𝑠 𝑝𝑠 𝛼̇ 𝑚 𝑝̇ 𝑠 − 𝑚𝑠 𝑝𝑠 𝛽̇𝑚2 𝑦𝑠0 − 2 2 − 𝐼𝑚𝑥𝑥 𝛼̇ 𝑚 𝛽̇𝑚 sin(2𝛽𝑚 ) − 2𝐼𝑝2 𝛼̇ 𝑚 𝛽̇𝑚 sin(2𝛽𝑚 ) − 𝐼𝑠𝑥𝑥 𝛼̇ 𝑚 𝛽̇𝑚 sin(2𝛽𝑚 ) + 𝐼𝑠𝑧𝑧 𝛼̇ 𝑚 𝛽̇𝑚 sin(2𝛽𝑚 ) − 𝐼𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝1 − 𝐼𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝2 − 2𝑚𝑠 𝛽𝑚 𝛽̇𝑚 𝑝̇ 𝑠 𝑦𝑠0 − 𝑚𝑠 𝑝𝑠 2 𝛼̇ 𝑚 𝛽̇𝑚 sin(2𝛽𝑚 ) + 2𝑚𝑝2 𝛼̇ 𝑚 𝛽̇𝑚 𝑥2𝑝02 sin(2𝛽𝑚 ) − 2𝑚𝑝2 𝛼̇ 𝑚 𝛽̇𝑚 𝑦2𝑝𝑐02 sin(2𝛽𝑚 ) − 2 𝑦 ̇2 𝑠7 𝑚𝑝2 𝛽̇𝑚2 𝑦𝑝02 𝑦𝑝𝑐02 −𝑠8 𝑚𝑝2 𝛽̇𝑚2 𝑦𝑝02 𝑦𝑝𝑐02 −𝑠7 𝑚𝑝2 𝜃̇ 𝑝1 𝑝02 𝑦𝑝𝑐02 −𝑠8 𝑚𝑝2 𝜃𝑝2 𝑦𝑝02 𝑦𝑝𝑐02



− 𝑠7 𝑚𝑝2 𝛽𝑚 𝑦𝑝02 𝑦𝑝𝑐02 − 𝑠8 𝑚𝑝2 𝛽𝑚 𝑦𝑝02 𝑦𝑝𝑐02 , 𝑀24 = 𝐼𝑝2 + 2 𝑚𝑝2 𝑦2𝑝𝑐02 + 𝑐7 𝑚𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 + 𝑠7 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀25 = 𝐼𝑝2 + 𝑚𝑝2 𝑦2𝑝𝑐02 + 𝑐8 𝑚𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 − 𝑠8 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑦𝑝𝑐02 , 𝑀26 = 𝑚𝑠 𝑦𝑠0 , 𝑀31 = −𝛽𝑚 (𝑚𝑠 𝑝𝑠 + 10

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

− 2𝑐72 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝1 𝑦2𝑝𝑐02 − 2𝑐82 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝2 𝑦2𝑝𝑐02 + 2𝑠7 𝑚𝑝2 𝛼̇ 𝑚 𝛽̇𝑚 𝑥𝑝02 𝑦𝑝𝑐02 − 2𝑠8 𝑚𝑝2 𝛼̇ 𝑚 𝛽̇𝑚 𝑥𝑝02 𝑦𝑝𝑐02 − 2𝑠7 𝑚𝑝2 𝛼̇ 𝑚 𝜃̇ 𝑝1 𝑦𝑝02 𝑦𝑝𝑐02 − 2𝑠8 𝑚𝑝2 𝛼̇ 𝑚 𝜃̇ 𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 + 2𝑐7 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝1 𝑥𝑝02 𝑦𝑝𝑐02 − 2𝑐8 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 − 2𝑐7 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝1 𝑦𝑝02 2 sin(2𝛽 ) 𝐼𝑚𝑥𝑥 𝛼̇ 𝑚 𝑚 𝑦𝑝𝑐02 − 2𝑐8 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚 𝜃̇ 𝑝2 𝑦𝑝02 𝑦𝑝𝑐02 , 𝐶̃3 = + 𝐼𝑝2 𝛼̇ 2 sin(2𝛽𝑚 ) 2

2

2

𝑚

2 2

𝐼𝑠𝑥𝑥 𝛼̇ 𝑚 sin(2𝛽𝑚 ) 𝐼𝑠𝑧𝑧 𝛼̇ 𝑚 sin(2𝛽𝑚 ) 𝑚𝑠 𝑝𝑠 𝛼̇ 𝑚 sin(2𝛽𝑚 ) + − + 2𝑚𝑠 𝑝𝑠 𝛽̇𝑚 𝑝̇ 𝑠 + 2 2 2 2 2 2 2 − 𝑚𝑝2 𝛼̇ 𝑚 𝑥𝑝02 sin(2𝛽𝑚 ) + 𝑚𝑝2 𝛼̇ 𝑚 𝑦𝑝𝑐02 sin(2𝛽𝑚 ) + 𝐼𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝1 + 𝐼𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝2 − 𝑐72 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚2 𝑦2𝑝𝑐02 − 𝑐82 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚2 𝑦2𝑝𝑐02 + 𝑚𝑝2 𝛽̇𝑚 𝜃̇ 𝑝1 𝑦2𝑝𝑐02 sin(2𝜃𝑝1 ) + 𝑚𝑝2 𝛽̇𝑚 𝜃̇ 𝑝2 𝑦2𝑝𝑐02 sin(2𝜃𝑝2 ) − 𝑠7 𝑚𝑝2 𝛼̇ 𝑚2 𝑥𝑝02 𝑦𝑝𝑐02 + 𝑠8 𝑚𝑝2 𝛼̇ 𝑚2 𝑥𝑝02 𝑦𝑝𝑐02 − 2 𝑥 2 𝑥 + 2𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝1 𝑦2𝑝𝑐02 + 𝑠8 𝑚𝑝2 𝜃̇ 𝑝2 𝑠7 𝑚𝑝2 𝜃̇ 𝑝1 𝑝02 𝑦𝑝𝑐02 𝑝02 𝑦𝑝𝑐02 2 2 2 ̇ ̇ + 2𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃𝑝2 𝑦𝑝𝑐02 − 2𝑐7 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃𝑝1 𝑦𝑝𝑐02 − 2𝑐82 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝜃̇ 𝑝2 𝑦2𝑝𝑐02 −2𝑠7 𝑚𝑝2 𝛼̇ 𝑚 𝜃̇ 𝑝1 𝑥𝑝02 𝑦𝑝𝑐02 +2𝑠8 𝑚𝑝2 𝛼̇ 𝑚 𝜃̇ 𝑝2 𝑥𝑝02 𝑦𝑝𝑐02 , 𝐶̃4 = 2𝑚𝑝2 𝛽𝑚 𝑐72 𝛼̇ 𝑚 𝛽̇𝑚 𝑦2𝑝𝑐02 − 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑐7 𝛼̇ 𝑚2 𝑦𝑝𝑐02 −𝑠7 𝑚𝑝2 𝑐7 𝛽̇𝑚2 𝑦2𝑝𝑐02 +𝑠7 𝑚𝑝2 𝑦𝑝02 𝛼̇ 𝑚2 𝑦𝑝𝑐02 −2𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 𝑦2𝑝𝑐02 + 2𝑠7 𝑚𝑝2 𝑥𝑝02 𝛼̇ 𝑚 𝛽̇𝑚 𝑦𝑝𝑐02 − 𝐼𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 , 𝐶̃5 = 2𝑚𝑝2 𝛽𝑚 𝑐82 𝛼̇ 𝑚 𝛽̇𝑚 𝑦2𝑝𝑐02 + 𝑚𝑝2 𝛽𝑚 𝑥𝑝02 𝑐8 𝛼̇ 𝑚2 𝑦𝑝𝑐02 − 𝑠8 𝑚𝑝2 𝑐8 𝛽̇𝑚2 𝑦2𝑝𝑐02 + 𝑠8 𝑚𝑝2 𝑦𝑝02 𝛼̇ 𝑚2 𝑦𝑝𝑐02 2 − 2𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 𝑦𝑝𝑐02 − 2𝑠8 𝑚𝑝2 𝑥𝑝02 𝛼̇ 𝑚 𝛽̇𝑚 𝑦𝑝𝑐02 − 𝐼𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 , 𝐶̃6 = −𝑚𝑠 𝑝𝑠 (𝛼̇ 𝑚2 + 𝛽̇𝑚2 ), 𝐺1 = 0, 𝐺2 = −𝑔(𝑚𝑠 𝑝𝑠 + 𝑠7 𝑚𝑝2 𝑦𝑝𝑐02 + 𝑠8 𝑚𝑝2 𝑦𝑝𝑐02 + 2𝑚𝑝2 𝛼𝑚 𝑦𝑝02 + 𝑚𝑠 𝛼𝑚 𝑦𝑠0 + 𝑐7 𝑚𝑝2 𝛼𝑚 𝑦𝑝𝑐02 + 𝑐8 𝑚𝑝2 𝛼𝑚 𝑦𝑝𝑐02 ), 𝐺3 = 𝑔𝛼𝑚 𝛽𝑚 (𝑚𝑠 𝑝𝑠 + 𝑠7 𝑚𝑝2 𝑦𝑝𝑐02 + 𝑠8 𝑚𝑝2 𝑦𝑝𝑐02 ), 𝐺4 = −𝑔𝑚𝑝2 𝑦𝑝𝑐02 (𝑠7 + 𝑐7 𝛼𝑚 ), 𝐺5 = −𝑔𝑚𝑝2 𝑦𝑝𝑐02 (𝑠8 + 𝑐8 𝛼𝑚 ), 𝐺6 = −𝑔𝑚𝑠 𝛼𝑚 , where 𝑀𝑖𝑗 , 𝐶̃𝑖 , and 𝐺𝑖 ({∀ 𝑖, 𝑗 ∈ N ∶ 1 ≤ 𝑖 ≤ 6, 1 ≤ 𝑗 ≤ 6}) represent the elements of 𝑀 (𝑞), 𝐶̃ (𝑞, 𝑞), ̇ and 𝐺(𝑞), respectively. Other parameters such as 𝑥𝑝02 , 𝑦𝑝02 , and 𝑚𝑝2 are provided in Table 1.

Fig. 12. Damping performance of the controllers with different in-plane positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) of the mobile platform. (a) (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) = (−0.1, 0.05) m and (b) (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) = (−0.1, −0.05) m.

Appendix B Using the elastic force vector 𝐹𝐾 (in (10)), we get ⎡ 𝐾𝑧 ⎢𝐾𝑧𝛼 𝑚 ⎢ ⎣ 0

0 𝐾𝛼𝑚 0

0 ⎤ ⎡𝑝𝑚𝑧 ⎤ ⎡𝑝𝑚𝑧 ⎤ 0 ⎥ ⎢ 𝛼𝑚 ⎥ =∶ 𝐾𝑚𝑒𝑠𝑡 ⎢ 𝛼𝑚 ⎥ ⎥⎢ ⎥ ⎢ ⎥ 𝐾𝛽𝑚 ⎦ ⎣ 𝛽𝑚 ⎦ ⎣ 𝛽𝑚 ⎦

(B.1)

where 𝐾𝑚𝑒𝑠𝑡 ∈ R3 represents the estimated out-of-plane stiffness matrix of the actual cable-driven mobile platform. In practice, this stiffness matrix might be affected by the in-plane locations of the mobile platform and other unknown disturbances, so it is challenging or impossible to obtain its exact value. In this case, we can conduct the below scenario analysis even though the above uncertainties exist: In (10), the disturbances {𝜏𝑚𝑑 ∈ R3 ∶ 𝜏𝑚𝑑 ⊂ 𝜏𝑑 } to the mobile platform can be divided into a new form: 𝜏𝑚𝑑 = 𝜏𝑚𝑑𝑢𝑛𝑘𝑛𝑜𝑤𝑛 ± 𝐾𝑚𝑑 (𝑝𝑚𝑥 , 𝑝𝑚𝑦 )[𝑝𝑚𝑧 , 𝛼𝑚 , 𝛽𝑚 ]𝑇

(B.2)

where 𝜏𝑚𝑑𝑢𝑛𝑘𝑛𝑜𝑤𝑛 ∈ R3 and 𝐾𝑚𝑑 (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) ∈ R3 are unknown bounded disturbances and the out-of-plane disturbance stiffness matrix of the mobile platform that effected by in-plane locations (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ), respectively.

Fig. 13. Damping performance of the controllers with the uncertain load mass 2 and in-plane positions (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) of the mobile platform. (a) (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) = (−0.1, 0.05) m and (b) (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) = (−0.1, −0.05) m.

Combining (B.1) and (B.2), we get { } 𝐾𝑚𝑒𝑠𝑡 [𝑝𝑚𝑧 , 𝛼𝑚 , 𝛽𝑚 ]𝑇 + 𝜏𝑚𝑑 = 𝐾𝑚𝑒𝑠𝑡 ± 𝐾𝑚𝑑 (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) [𝑝𝑚𝑧 , 𝛼𝑚 , 𝛽𝑚 ]𝑇 + 𝜏𝑚𝑑𝑢𝑛𝑘𝑛𝑜𝑤𝑛

(B.3)

where 𝐾𝑚𝑑 = 𝐾[3,4,5][3,4,5] with 𝐾 ∈ R6×6 denoting the stiffness matrix of the 6-DOF cable-driven mobile platform using the four-spring model proposed by Behzadipour and Khajepour (2006). The corresponding items in (10) are equivalent to that of (B.3). Additionally, 𝐾𝑚𝑒𝑠𝑡 and 𝐾𝑚𝑑 (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ) in (B.3) can be evaluated using the following performance indices: Fig. 14. Comparison of performance indices. (a) 𝐽𝑚𝑒𝑠𝑡 versus 𝐽𝑚𝑑 and (b) 𝜅𝑚𝑒𝑠𝑡 versus 𝜅𝑚𝑑 .

− 𝑐7 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚2 𝑥𝑝02 𝑦𝑝𝑐02 2 𝑥 𝑐8 𝑚𝑝2 𝛽𝑚 𝜃̇ 𝑝2 𝑝02 𝑦𝑝𝑐02

+ +

𝑐8 𝑚𝑝2 𝛽𝑚 𝛽̇𝑚2 𝑥𝑝02 𝑦𝑝𝑐02 2𝑐72 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 𝑦2𝑝𝑐02

2 𝑥 + 𝑐7 𝑚𝑝2 𝛽𝑚 𝜃̇ 𝑝1 𝑝02 𝑦𝑝𝑐02 − 2 + 2𝑐8 𝑚𝑝2 𝛽𝑚 𝛼̇ 𝑚 𝛽̇𝑚 𝑦2𝑝𝑐02

𝜆2max 𝜆2min , for 𝐾𝑚𝑒𝑠𝑡 2 𝜆max + 𝜆2min 𝜆2max 𝜆2min , for 𝐾𝑚𝑑 2 𝜆max + 𝜆2min

𝐽𝑚𝑒𝑠𝑡 = 𝜆𝑇 𝜆, 𝜅𝑚𝑒𝑠𝑡 =

(B.4a)

𝐽𝑚𝑑 = 𝜆𝑇 𝜆, 𝜅𝑚𝑑 =

(B.4b)

where 𝜆 ∈ R3 represents the eigenvalues of 𝐾𝑚𝑒𝑠𝑡 or 𝐾𝑚𝑑 (𝑝𝑚𝑥 , 𝑝𝑚𝑦 ). 11

R. Qi, A. Khajepour and W.W. Melek

Control Engineering Practice 93 (2019) 104159

References

Kwakernaak, H., & Sivan, R. (1972). Linear Optimal Control Systems (fourth ed.). Toronto: John Wiley & Sons. Li, C., Ding, Y., et al. (2017). Damping control of piezo-actuated nanopositioning stages with recursive delayed position feedback. IEEE/ASME Transactions on Mechatronics, 22(2), 855–864. Lu, B., Fang, Y., & Sun, N. (2018). Nonlinear control for underactuated multi-rope cranes: Modeling, theoretical design and hardware experiments. Control Engineering Practice, 76, 123–132. Lv, C., Hu, X., et al. (2019). Driving-style-based codesign optimization of an automated electric vehicle: A cyber-physical system approach. IEEE Transactions on Industrial Electronics, 66(4), 2965–2975. Market Research Engine (2018). Automated material handling equipment market by product analysis; by system type analysis; by software & services analysis; by function analysis; by industry analysis and by regional analysis–global forecast by 2018-2024. https://www.marketresearchengine.com/automated-material-handlingequipment-market. MarketWatch (2019). Automated material handling equipment market poised to touch US$50.0 billion by 2024. https://www.marketwatch.com/press-release/. Mason, S., Righetti, L., & Schaal, S. (2014). Full dynamics LQR control of a humanoid robot: An experimental study on balancing and squatting. In 2014 IEEE-RAS international conference on humanoid robots (pp. 374–379). Madrid, Spain. Mattingley, J., & Boyd, S. (2012). CVXGEN: a code generator for embedded convex optimization. Optimization and Engineering, 13(1), 1–27. Méndez, S. J. T. (2014). Low Mobility Cable Robot with Application to Robotic Warehousing (Ph.D. thesis), Waterloo, ON, Canada: University of Waterloo. Mori, Y., & Tagawa, Y. (2018). Vibration controller for overhead cranes considering limited horizontal acceleration. Control Engineering Practice, 81, 256–263. Qi, R., Lam, T. L., & Xu, Y. (2014). Design and implementation of a low-cost and lightweight inflatable robot finger. In 2014 IEEE/RSJ international conference on intelligent robots and systems (pp. 28–33). Chicago, IL, USA. Qi, R., Rushton, M., Khajepour, A., & Melek, W. W. (2019). Decoupled modeling and model predictive control of a hybrid cable-driven robot (HCDR). Robotics and Autonomous Systems, 118, 1–12. de Rijk, R., Rushton, M., & Khajepour, A. (2018). Out-of-plane vibration control of a planar cable-driven parallel robot. IEEE/ASME Transactions on Mechatronics, 23(4), 1684–1692. Rushton, M. (2016). Vibration Control in Cable Robots Using a Multi-Axis Reaction System. Waterloo, ON, Canada: University of Waterloo. Rushton, M., & Khajepour, A. (2016). Optimal actuator placement for vibration control of a planar cable-driven robotic manipulator. In 2016 American control conference (pp. 3020–3025). Boston, MA, USA.. Rushton, M., & Khajepour, A. (2018). Transverse vibration control in planar cabledriven robotic manipulators. In C. Gosselin, P. Cardou, & et al. (Eds.), Cable-driven parallel robots (pp. 243–253). Cham: Springer. Tecnalia (2015). Parallel cable robotics: Best solution for optimizing operations in large spaces. URL https://www.tecnalia.com. Wang, L. (2009). Model Predictive Control System Design and Implementation Using MATLAB. London, U.K.: Springer-Verlag. Wang, Z., Li, G., et al. (2018). Collision-free navigation of autonomous vehicles using convex quadratic programming-based model predictive control. IEEE/ASME Transactions on Mechatronics, 23(3), 1103–1113. Xing, Y., Lv, C., et al. (2019a). Driver activity recognition for intelligent vehicles: A deep learning approach. IEEE Transactions on Vehicular Technology, 68(6), 5379–5390. Xing, Y., Lv, C., et al. (2019b). Driver lane change intention inference for intelligent vehicles: Framework, survey, and challenges. IEEE Transactions on Vehicular Technology, 68(5), 4377–4390. Xu, W., Liu, T., & Li, Y. (2018). Kinematics, dynamics, and control of a cabledriven hyper-redundant manipulator. IEEE/ASME Transactions on Mechatronics, 23(4), 1693–1704. Yeo, S., Yang, G., & Lim, W. (2013). Design and analysis of cable-driven manipulators with variable stiffness. Mechanism and Machine Theory, 69, 230–244. Zeinali, M., & Khajepour, A. (2010). Design and application of chattering-free sliding mode controller to cable-driven parallel robot manipulator: theory and experiment. In International design engineering technical conferences and computers and information in engineering conference (pp. 319–327). Montreal, Quebec, Canada. Zi, B., Zhu, Z., & Du, J. (2011). Analysis and control of the cable-supporting system including actuator dynamics. Control Engineering Practice, 19(5), 491–501. Zou, C., Manzie, C., & Nešić, D. (2018). Model predictive control for lithium-ion battery optimal charging. IEEE/ASME Transactions on Mechatronics, 23(2), 947–957.

Abdolshah, S., & Barjuei, E. S. (2015). Linear quadratic optimal controller for cable-driven parallel robots. Frontiers of Mechanical Engineering, 10(4), 344–351. Alikhani, A., Behzadipour, S., et al. (2009). Modeling, control and simulation of a new large scale cable-driven robot. In International design engineering technical conferences and computers and information in engineering conference (pp. 11–16). San Diego, California, USA. Alikhani, A., & Vali, M. (2011). Modeling and robust control of a new large scale suspended cable-driven robot under input constraint. In 2011 8th international conference on ubiquitous robots and ambient intelligence (pp. 238–243). Incheon, South Korea. Alp, A. B., & Agrawal, S. K. (2002). Cable suspended robots: design, planning and control. In Proceedings 2002 IEEE international conference on robotics and automation (pp. 4275–4280). Washington, DC, USA. Athans, M. (1971). The role and use of the stochastic linear-quadratic-Gaussian problem in control system design. IEEE Transactions on Automatic Control, 16(6), 529–552. Beckhoff Automation (2019). Limitations. URL https://infosys.beckhoff.com/english. php?content=../content/1033/tc3_c/54043196203206283.html&id=. Behzadipour, S., & Khajepour, A. (2006). Stiffness of cable-based parallel manipulators with application to stability analysis. ASME Journal of Mechanical Design, 128(1), 303–310. Bemporad, A. (2011). Automatic Control. Class Lecture, Topic: Integral action in state feedback control, Lucca, Italy: IMT School for Advanced Studies Lucca. Bostelman, R., Jacoff, A., et al. (2000). Cable-based reconfigurable machines for large scale manufacturing. In Proceedings of the 2000 Japan-USA symposium on flexible automation. Ann Arbor, Michigan, USA. Boston Dynamics (2019). Handle: Mobile box handling robots for logistics. URL https: //www.bostondynamics.com/handle. Caverly, R. J., & Forbes, J. R. (2014). Dynamic modeling and noncollocated control of a flexible planar cable-driven manipulator. IEEE Transactions on Robotics, 30(6), 1386–1397. Coleman, T., Branch, M., & Grace, A. (1999). Optimization Toolbox for Use with Matlab. Natick, MA: MathWorks, Inc.. ElMaraghy, H. A., Lahdhiri, T., & Ciuca, F. (2002). Robust linear control of flexible joint robot systems. Journal of Intelligent and Robotic Systems, 34(4), 335–356. Falcone, P., Borrelli, F., et al. (2008). Linear time-varying model predictive control and its application to active steering systems: Stability analysis and experimental validation. International Journal of Robust and Nonlinear Control, 18(8), 862–875. Ferreau, H. J., Kirches, C., et al. (2014). qpOASES: a parametric active-set algorithm for quadratic programming. Mathematical Programming Computation, 6(4), 327–363. Galuppini, G., Magni, L., & Raimondo, D. M. (2018). Model predictive control of systems with deadzone and saturation. Control Engineering Practice, 78, 56–64. Ghasemi, A., Eghtesad, M., & Farid, M. (2008). Constrained model predictive control of the redundant cable robots. In 2008 world automation congress (pp. 1–6). Hawaii, HI, USA.. Huang, Y., Khajepour, A., et al. (2017). A supervisory energy-saving controller for a novel anti-idling system of service vehicles. IEEE/ASME Transactions on Mechatronics, 22(2), 1037–1046. Jamshidifar, H. (2018). Integrated Trajectory-Tracking and Vibration Control of Kinematically-Constrained Warehousing Cable Robots (Ph.D. thesis), Waterloo, ON, Canada: University of Waterloo. Jamshidifar, H., Fidan, B., et al. (2015). Adaptive vibration control of a flexible cable driven parallel robot. IFAC-PapersOnLine, 48(3), 1302–1307. Jamshidifar, H., Khajepour, A., et al. (2017). Kinematically-constrained redundant cable-driven parallel robots: Modeling, redundancy analysis, and stiffness optimization. IEEE/ASME Transactions on Mechatronics, 22(2), 921–930. Jamshidifar, H., Khosravani, S., et al. (2018). Vibration decoupled modeling and robust control of redundant cable-driven parallel robots. IEEE/ASME Transactions on Mechatronics, 23(2), 690–701. Kawamura, S., Kino, H., & Won, C. (2000). High-speed manipulation by using parallel wire-driven robots. Robotica, 18(1), 13–21. Khajepour, A., & Méndez, S. T. (2015). Apparatus for controlling a mobile platform: U.S. Patent No. 14,613,450, 2015. Kino, H., Yahiro, T., et al. (2009). Sensorless position control using feedforward internal force for completely restrained parallel-wire-driven systems. IEEE Transactions on Robotics, 25(2), 467–474.

12