Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights

Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights

ARTICLE IN PRESS JID: EJCON [m5G;August 10, 2018;20:16] European Journal of Control 0 0 0 (2018) 1–8 Contents lists available at ScienceDirect Eu...

3MB Sizes 2 Downloads 67 Views

ARTICLE IN PRESS

JID: EJCON

[m5G;August 10, 2018;20:16]

European Journal of Control 0 0 0 (2018) 1–8

Contents lists available at ScienceDirect

European Journal of Control journal homepage: www.elsevier.com/locate/ejcon

Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights Stijn Derammelaere a,b,∗, Cosmin Copot a, Michiel Haemers a,b, Florian Verbelen b, Bram Vervisch b, Clara Ionescu b, Kurt Stockman b a b

Department of Electromechanics, Op3Mech, University of Antwerp, Groenenborgerlaan 171, Antwerp 2020, Belgium DYSC Dynamical Systems and Control, Ghent University, Belgium

a r t i c l e

i n f o

Article history: Received 1 August 2017 Revised 10 July 2018 Accepted 20 July 2018 Available online xxx Recommended by Frederic Mazenc Keywords: Snakeboard Nonholonomic Motion control Trajectory control

a b s t r a c t The snakeboard is a fascinating variation of the well-known classic skateboard, and a nonholonomic structure. Therefore, a snakeboard robot is appealing for usage in control engineering education. The propulsion, which relies on cyclic movements, resembles that of many biological creatures. Hence, the challenging snakeboard modelling and motion planning received much attention in literature during the last decades. Despite all these research efforts, there is no model available in which there is a clear link between the mathematical descriptions and physical phenomena. The lack of physical insights hampers the development of a closed-loop real-time trajectory controller which is apparent by the lack of literature on such algorithms for snakeboards. In this paper, the traditional models are rewritten to obtain a model with a clear link to physical phenomena. Based on this model a closed loop controller is designed. Moreover, this rewritten model delivers the insights on actuation efficiency which are used to adapt desired trajectories a priori to more energy-efficient forms. Finally, the control and trajectory optimisation is validated by measurements on a snakeboard robot. © 2018 European Control Association. Published by Elsevier Ltd. All rights reserved.

1. Introduction The snakeboard is a toy, visualised in Fig. 1, which was commercialised in 1992 [26]. It can be considered as a derivative of the more popular skateboard, as shown in Fig. 2. Instead of touching the ground to propel, the rider has to rotate his upper body, while choosing the wanted direction by turning his feet. Because of the nature of the propulsion, it is not possible to accelerate in a straight line. Instead, the rider has to move in a snake-shaped trajectory. This unconventional way of propulsion means position- or motion-control of the board is challenging. Moreover, such robotic structures are appealing for usage in control engineering education [7,28]. Early research was mainly focused on the modelling of the snakeboard as a typical example of a nonholonomic system [24]. Different attempts to improve and simplify this model followed in [14,20,23]. More recently the influence of viscous friction and skidding was researched in [11]. However, all these modelling efforts led to complex model formulations with minimal or no physical insights nor possible intuitive interpretations.

∗ Corresponding author at: Department of Electromechanics, Op3Mech, University of Antwerp, Groenenborgerlaan 171, Antwerp 2020, Belgium. E-mail address: [email protected] (S. Derammelaere).

When snakeboard locomotion control is mentioned in literature, the research always resorts to a priori motion planning [4,5,14,17,22,23,27]. The available path planning methods are based on a concatenation of primitive path segments. Each new segment requires a specific initial configuration of the robot. To switch between these configurations, the snakeboard has to come to rest. In [17], this method is developed using only circular segments as path primitives. A more elaborated attempt can be found in [9] where more path primitives are taken into account. Due to the complexity of the system, recent motion planning or trajectory planning research still results in an open loop structure. [27] resorts to special gait generation techniques to obtain a closed-form analytical solution to obtain the desired locomotion. This is also the case in [5] where especially the cyclic movements in the joints, necessary to move forward are studied. The authors of [5] highlight the correspondence of the snakeboard locomotion with that of many biological creatures. Robot control based on observations of biological creatures is a remarkable trend in robotics research [3,15,25]. In this paper, a closed loop controller is designed and validated which enables real-time trajectory following. For this purpose, modelling the snakeboard is necessary. Therefore, the available snakeboard models, based on the Lagrange formulation [12], are rewritten to obtain an intuitive model in which the physical

https://doi.org/10.1016/j.ejcon.2018.07.004 0947-3580/© 2018 European Control Association. Published by Elsevier Ltd. All rights reserved.

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

ARTICLE IN PRESS

JID: EJCON 2

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8

Fig. 3. Schematic representation of the snakeboard.

Fig. 1. Commercial snakeboard sold as a toy.

Fig. 2. Adapting a skateboard to obtain a snakeboard.

interpretation of each part is clear. This is done by converting the often used model describing the snakeboard speed along the trajectory to a more common torque equation. As the literature on snakeboard modelling an motion planning lacks measurement results and validations on real test setups trajectory efficiency is not an issue. However, in this paper, a snakeboard robot equipped with

V˙ =

−(d1 δ¨ +d2 ψ¨ 2 ) sin ψ1 cos ψ1 +cos ψ2

the snakeboard, and transforms them to a state space model with states (x, y, θ , V). The model is based on the mechanical properties of the robot: the total mass of the robot m, the distance between the centre of mass and the centre of the wheel platform L, the inertias Jr (rotor), Jp (wheel platforms) and J (robot frame). Given these inputs (φ f , φ b , δ ), outputs (x, y, θ ) and mechanical properties (m, L, Jr , Jp , J) the snakeboard is modelled as follows [20]:

x˙ = V cos θ − y˙ = V sin θ −

θ˙ =

V sin ψ2 sin θ cos ψ1 + cos ψ2

V sin ψ2 cos θ cos ψ1 + cos ψ2

(1)

V sin ψ1 L(cos ψ1 + cos ψ2 )

2 ˙ ˙ ˙ sin ψ1 +ψ˙ 2 sin ψ2 2 2 2 1 cos ψ1 +ψ2 sin ψ2 cos ψ2 − ( k ψ1 sin ψ(cos + ψ(1cos ψ1 +cos ψ2 )2 ψ1 +cos ψ2 )3 (sin ψ2 + k sin ψ1 ))V

the necessary sensors and actuators is used to validate the closedloop control. As autonomy of such mobile robots is often limited due to the capacity of their batteries [10,19] special attention is needed for actuation efficiency. Therefore, this paper considers the efficiency of control efforts on the actual snakeboard movement by considering the kinetic energy. This energy formula allows improving the energy efficiency by both adapting the controlled variable and the desired trajectory. To elucidate the closed loop trajectory control of the snakeboard based on a novel, intuitive model notation the following sections are used. Section 2 describes the reformulation of the commonly used snakeboard models into an intuitive formulation in which the physical interpretation of all components is obvious. Based on that section a control principle is constructed and explained in Section 3. To obtain energy-efficient movements, the path setpoints are fine-tuned in Section 4. This controller is validated by both simulations and measurements on a snakeboard robot, described in 5. The results itself are presented in 6.

2. Mathematical modelling Both for simulation and control, a mathematical model is needed. In this section, the model defined by [20] is written in a more intuitive form in which the physical meaning of the observed equations becomes clear. The position of the snakeboard is fully determined by the coordinates of the centre of mass (x, y) and the angle θ of the board with the x-axis as depicted in Fig. 3. The mathematical model based on Lagrange methods in [20] determines this position based on the controllable angular positions of the board. The latter consist of the angles φ f and φ b of the front respectively back wheel platforms and the angle δ of the rotor, concerning the robot depicted in Fig. 3. To do so, [20] departs from Gibbs–Appell equations [1], which describe the rate of change of V˙ , where V is the pseudo-velocity of

ψ2 +k sin ψ1 1 + sin (cos ψ1 +cos ψ2 )2 2

2

2

(2)

With:

ψ 1 = φ f − φb , k2 =

ψ 2 = φ f + φb , d 1 =

J + Jr + 2J p mL2

Jr , mL

d2 =

Jp , mL (3)

The model above is a state space representation with states (x, y, θ , V). Where the states (x, y, θ ) have a clear physical interpretation, this is not the case for the state V. This pseudo-velocity V, is just a mathematical value used to model the behaviour of the board and does not represent the physical velocity of the snakeboard. While this model is widely used in literature [14,20,23] there is no clear psychical interpretation of these equations. Therefore, this model is transformed into a more intuitive representation in this paper. First, it is assumed that both front and back wheels turn the same amount, but in opposite directions φ f = −φb = φ . This assumption seems to be a restriction for the snakeboard operation. However, almost all literature [4–6,9,17,22,23,27] on snakeboard trajectories makes this assumption. Moreover, this assumption is based on observations of human snakeboard riders who use roughly the same phase relationship. [18,21] show it is not unusual to access human behaviour to optimise robot modelling and control. Because of this assumption, the model simplifies greatly:

x˙ = V cos θ

(4)

y˙ = V sin θ

(5)

V tan(φ ) L JT Jr cos2 (φ )δ¨ − 2φ˙ tan (φ )V 2 mL mL V˙ = 2 2 cos2 φ + 2k2 sin φ

θ˙ =

(6)

(7)

It is typical in snakeboard literature [8,14] to neglect slip of the wheels on the surface [16]. In that case, the wheel angles φ di-

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

ARTICLE IN PRESS

JID: EJCON

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8

3

3. Trajectory control

Fig. 4. Radius controlled by the wheel angles.

rectly define the radius R of the followed path as depicted in Fig. 4. This means:

L = R tan φ

(8)

Eq. (8) based on Fig. 4 can be used to rewrite (6):

θ˙ =

V R

(9)

Which is indeed the relationship between the tangential speed V and angular velocity θ˙ for a curve with radius R. This means, in the simplified model representation (4–7), V is the actual velocity of the snakeboard. In this way, interpreting Eqs. (4–5), defining respectively the speed in the x- and y-direction becomes obvious. While the reasoning above clearly provides the insights in Eqs. (4)–(6) of the model representation (4)–(7) it is not yet obvious why the rate of change of the tangential velocity V˙ is governed by Eq. (7). In order to gain insight in Eq. (7) we propose to rewrite this equation based on the torque necessary to accelerate the rotor Jr δ¨ . Doing so, with the use of trigonometric relations, Eq. (7) becomes:

Jr δ¨ = −m

V˙ − JT c˙ V − JT cV˙ c

(10)

Here c represents the curvature: c = 1/R. JT is the total inertia: JT = J + Jr + 2J p . The different terms in the equation arise as follows: • Jr δ¨ : This is the torque that is needed to give the rotor a certain acceleration. Due to Newton’s third law, this torque is also exerted on the snakeboard, but in the opposite direction. ˙ • m Vc : The force needed to accelerate the total mass equals mV˙ . As V˙ is parallel to V, this force is perpendicular to its lever arm. This lever arm has as length R = 1c . Therefore, this term represents the torque needed to accelerate the centre of mass around the centre of rotation. • JT c˙ V + JT cV˙ : The torque needed to accelerate the rotational inertia JT :

T =

d d (JT θ˙ ) = (JT V c ) = JT V˙ c + JT V c˙ dt dt

(11)

In conclusion, the model describing the snakeboard behaviour (4–7) can be derived based on a torque balance to obtain Eq. (7). Furtheron, the relationship between the angular velocity θ˙ and tangential speed V is used to obtain Eq. (6). Finally, the relationship between the tangential speed V and the speed in x- and ydirection to define respectively Eq. (4) and (5). Based on these physical interpretations of the model (4–7) the necessary insights are obtained to enable an intuitive real-time trajectory control design for the snakeboard.

The setpoint trajectory can be fully determined in x − y coordinates as a function of time t. However, by considering the snakeboard more closely in Section 2, a coordinate system d − c (depicted in the top-right box in Fig. 5) which describes the distance travelled along the path d(t) together with the curvature c(t) suits the snakeboard control much better as it is possible to decouple the control of c(t) and d(t). Eq. (8) shows the followed radius R, and thus curvature c, of the snakeboard can be uniquely determined by the wheel angle φ . Moreover, the torque balance (10) shows the speed of the robot V and thus the travelled distance d(t) can be controlled by the acceleration of the rotor δ¨ . This transformation leads to the decoupled control structure in the d − c reference frame, depicted in Fig. 5. The trajectory defined by the user in x − y coordinates can be transformed using the equations given in Fig. 5. The desired curvature c∗ is based on the distance travelled along the path and defines the wheel angle φ in open loop. The speed along the path V is controlled using a closed-loop controller. A straightforward setpoint V∗ for the speed could be a constant value to obtain constant speed along the trajectory. However, from an energetic viewpoint, it is more interesting to control the kinetic energy to a constant level. In this way, elucidated in the following subsection, the energy that should be added by the rotor is limited. 3.1. Kinetic energy To obtain an efficient motion keeping the kinetic energy at a constant level is an interesting option. The total kinetic energy Etot of the board is the sum of the energy of the total mass m, the angular kinetic energy of the robot frame J, the wheel platforms Jp and the rotor Jr :

Etot =

1 1 1 1 mV 2 + J θ˙ 2 + J p ((θ˙ + φ˙ )2 + (θ˙ − φ˙ )2 ) + Jr (θ˙ + δ˙ )2 2 2 2 2 (12)

Due to the limited speed of the stepping motors (see Section 5)and slow change of wheel position, φ˙ can be neglected, resulting in a simplified equation:

Etot =

1 1 1 mV 2 + (J + 2J p )θ˙ 2 + Jr (θ˙ 2 + 2θ˙ δ˙ + δ˙ 2 ) 2 2 2

(13)

Eq. (13) still contains the rotor speed δ˙ , which means constant kinetic energy can be reached if the rotor is spinning fast (high δ˙ ), while the robot itself is not moving (θ˙ ≈ 0 and V ≈ 0). Therefore, only the part of the kinetic energy independent from the rotor speed δ˙ will be used as the controlled variable Ec :

Ec =

1 1 mV 2 + JT θ˙ 2 2 2

(14)

Another way to approach this is to transform the speed of the robot V to an equivalent speed Veq . This equivalent speed should be constant if Ec is constant and is defined as follows:

Ec =

1 1 1 2 mV 2 + JT θ˙ 2 = mVeq 2 2 2

(15)

By taking into account the relation between θ˙ and V, this can be rewritten as:



Veq =

1+

JT c2 V m

(16)

The actual control is done with this equivalent speed Veq instead of the energy Ec . The reason behind this is that a setpoint of for example Ec = 1.08 J is not explanatory. However, a corresponding setpoint of Veq = 0.3 m/s is far more intuitive to interpret. It means the robot will be moving at a speed of around 0.3 m/s.

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

JID: EJCON 4

ARTICLE IN PRESS

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8

Fig. 5. Decoupled trajectory control based on c − d reference frame .

3.2. Actuation efficiency To obtain efficient motion it is worth considering the impact of rotor acceleration δ¨ on the change in the controlled variable E˙ c for a certain rotation radius R. To do so we determine the derivative of Eq. (14):

E˙ c = −mV V˙ + JT δ˙ δ¨

(17)

As a certain radius R is considered, the change in curvature c˙ is zero. In that case, based on (10) we can rewrite (17) as a function of the controllable rotor acceleration δ¨ and wheel angle φ :

Jr E˙ c = − V tan (φ )δ¨ L

(18)

Eq. (18)shows the impact of rotor acceleration δ¨ on the change in kinetic energy E˙ c increases for larger values of the wheel angle φ . In other words, the actuation δ¨ is most efficient for small rotation radi R. Of course, in practice, the limit of φ = 90◦ is never used. Such a wheel angle means that the robot will spin in place, which is not very useful. Moreover, in the case of φ = 90◦ all four wheels will be on one line. In that case, extra support wheels are needed to avoid tipping over of the robot. To ensure stability, the construction discussed in Section 5 limits φ to 58°. 3.3. PID tuning As indicated in Fig. 5, a PID controller is used to determine the desired rotor acceleration δ¨ ∗ based on the error on the speed setpoint V∗ . To tune this controller its is essential to describe the system dynamics determining the relationship between the desired rotor acceleration δ¨ ∗ and the actual speed V. Given the dynamics of a DC-motor [13] as used to drive the rotor a first order dynamic behaviour can be expected between the desired rotor acceleration δ¨ ∗ and the actual rotor acceleration δ¨ . Furthermore, Eq. (7) describes first order dynamics between the actual rotor acceleration δ¨ and the snakeboard speed V. However, the latter greatly depends on the wheel angle φ . This means the dynamics describing the relationship between the desired rotor acceleration δ¨ ∗ and snakeboad speed V can be described in the s domain as follows:

K

( τ1 s + 1 ) ( τ2 s + 1 )

(19)

As discussed in the previous subsection the efficiency increases towards the maximum of the wheel angle φ = 58◦ . Therefore, controlling the snakeboard speed V by manipulating the rotor acceleration δ¨ will be done as much as possible at this maximum wheel angle φ = 58◦ . The latter justifies the tuning of the PID controller at this maximum angular value φ = 58◦ . As the impact of control actions at lower wheel angles φ is lower, tuning a PID controller for such low values of φ would lead to an overly aggressive

Fig. 6. Step response used for the identification of the parameters in (19).

and possibly unstable control at higher wheel angles. On the other hand, a controller tuned for high angular values φ will only result in slower, more robust behaviour if the wheel angle φ decreases. Therefore, the identification of the system dynamics described in (19) is done at φ = 58◦ by applying a step command for δ¨ and determining K = 0.09, τ1 = 2.8s and τ2 = 0.4s based on the step response of the snakeboard speed V (Fig. 6). As a PID controller can be considered as two zeros at tunable locations, one integrator and a proportional gain, the zeros can be used to cancel the poles [2] in the system dynamics (19). The proportional gain can be tuned in a trial and error manner by increasing its value until overshoot appears. By doing so, the PID control settings (Kp = 84, Ki = 26, Kd = 32) were obtained.

4. Optimal trajectories If the user wants to move the snakeboard from a point A to a point B, considering the actuation efficiency the most efficient way to achieve this movement is along a path consisting of half circles with the maximum wheel rotation φmax = 58◦ and L = 0.358 m for the used snakeboard robot described in Section 5. This means the optimal path is composed of half circles with a minimum radius of Rmin = 22cm. This path and the needed wheel angle to follow it are shown in Fig. 7. In practical systems, this path cannot be followed because the actual wheel angle should be continuous. Therefore, instead of instantaneously switching from one-half circle to the next, a more

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

JID: EJCON

ARTICLE IN PRESS

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8

Fig. 7. Top: Theoretical optimal path; Bottom: Wheel angle needed to follow this path.

gradual transition is needed. A more realistic situation is to use a constant angular acceleration φ¨ until φ reaches zero, and then use a constant deceleration until φ reaches its other extreme value. An example of this behaviour is represented in Fig. 8. The switch between two circle halves is made in one second. The transition time between these two circles can be considered as a parameter of the path. However, for Fig. 8 an arbitrary value of one second was chosen just to construct the figure. A more elaborate strategy for switching between circular parts and the transition will be elucidated at the end of this section. Another issue is a trend in the rotor velocity δ˙ as illustrated in Fig. 9. While the oscillatory behaviour of the rotor speed visible in Fig. 9 is due to the desired snake-like movement illustrated in the top Fig. 9, there is an undesired increasing trend of the rotor speed. As the equivalent speed control loop uses the rotor acceleration δ¨ as the manipulated value, the desired rotor velocity δ˙ can increase towards a saturation limit even when the rotor acceleration δ¨ stays within reasonable limits. To solve this problem, if the wheels are straight enough (φ < φ 0 ), the rotor is accelerated towards the middle of its speed range. Although this will have some influence on the speed of the robot, with the right choice of φ 0 , the disturbance will be limited. To further reduce the rotor speed range, no rotor acceleration is performed in the interval φ 0 < φ < φ 1 . Again this is because of the lower efficiency of rotor actuation at smaller wheel angles. For high wheel angles (φ > φ 1 ), the normal control is applied. An example trajectory, with the three regions shown in different colours, is shown in Fig. 10. To determine good values for φ 0 and φ 1 , the influence of the wheel angle on ddEtc , described in (18), which can be used as a

5

Fig. 8. Top: Optimal wheel angle as a function of travelled distance; Bottom: Resulting path based on the wheel angle φ and Eq. (8).

measure of efficiency, is plotted for different rotor accelerations δ¨ in Fig. 11. The maximal angle used for φ is 58 ° determined by the construction of the robot (cf. Section 5). Experiments reveal that due to friction etc. an average value of 2.8 rad/s2 is needed for the rotor acceleration to maintain motion. Therefore, point (a) (indicated in Fig. 11), at maximum φ = 58◦ and minimum δ¨ = 2.8 rad/s2 is taken as a reference for the impact on the rotor acceleration ddEtc . The minimum wheel angle φ 1 at which the rotor still accelerates has to be selected based on the minimum impact on ddEtc . As indicated before, the maximum efficiency will be obtained if φ 1 is equal to the maximum wheel angle 58°. However, in that case, the rotor will only accelerate during circular paths, leading to paths such as depicted in Fig. 7 which only work in theory. If on the other hand, acceleration is allowed over the entire wheel angle range δ , meaning φ1 = 0◦ , no energy is saved by setting the rotor acceleration at zero if the impact on the kinetic energy becomes negligibly low. This observation means a mathematical optimisation will not be able to determine the optimal minimum wheel angle φ 1 . Instead, the tradeoff between energy efficiency (higher φ 1 ) and allowing a broader range of trajectories (lower φ 1 ) is left to the user as a design parameter. In this paper, φ 1 is chosen such that the rotor acceleration impact ddEtc at the minimum rotor acceleration δ¨ = 2.8 rad/s2 is one-third of the value in (a), indicated as (b) in Fig. 11. In this way, a value of φ1 = 22.5◦ is obtained. It is important to note that the controller integrator value is stored if the wheel angle drops below φ 1 , which disables the PID controller. In that way, the integrator value can be recovered whenever the control is enabled again.

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

JID: EJCON 6

ARTICLE IN PRESS

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8

Fig. 12. Snakeboard robot built in our lab.

When φ < φ 0 , the maximal acceleration is used to return to the middle of the rotor speed range. A value of 11.2 rad/s2 is used for this maximal acceleration. This value is given by the torque limit of the BLDC driving the rotor (cf. Section 5). This value is represented by the cyan curve in Fig. 11. To have a large enough time span to accelerate the rotor, φ 0 cannot be chosen low enough to reach the same level as Fig. 11 point (b). Therefore, a compromise is made and φ 0 is chosen such that the influence of working at Fig. 11 point (c) is about half that of working in Fig. 11 point (a). Although the effect on ddEtc is not negligible, because of the short time span in this region, the total disturbance will be small. The final values for φ 0 and φ 1 are 9 ° and 22.5 ° respectively. Fig. 9. Top: A snakeboard path around a large circle; Bottom: Necessary rotor speed δ˙ to obtain the path with a constant Veq (16).

Fig. 10. Example of the different control regions along a path (φ0 = 9◦ , φ1 = 22.5◦ ).

5. Instrumentation The robot that is used to perform the experiments can be seen in Fig. 12. The upper body of the rider is simulated by a rotor inertia which is controlled by an RMCS-2006 Brushed DC motor with a speed range up to 150 rpm and nominal torque of 2.5 Nm. The position of both wheels can be controlled by stepper motors with 1.8° full step and a holding torque of 2.5 Nm at a rated current of 4 A. The stepping motors are driven by an AMIS-30421 configured at 1/16 microstepping. The control algorithm is implemented in an Arduino Mega (128kB program memory, 8 kB SRAM, 16 MHz clock speed) To obtain low-cost but accurate feedback [10] AEDR-8300 reflective encoders are mounted at the wheels (one on the front, one on the back. The encoder setup gives 282 pulses for one full rotation. Given the wheel diameter of 62 mm, this means the wheel positions can be measured with an accuracy of 0.69 mm. This form of feedback is sufficient for the control algorithm described above. However, this mechanism will not be able to measure the actual position of the board accurately. Therefore the Section 6 contains no comparison between desired and actual path as the means to measure the actual position are insufficient for accurate comparison. However, the results Section 6 includes useful measurements on the controller behaviour. For data logging purposes a wireless communication was set-up with the onboard Arduino Mega controller using nRF24L01+. The mechanical parameters describing the robot are listed in Table 1. 6. Experimental validation

Fig. 11. Influence of wheel angle and rotor acceleration on

dEc dt

for Veq = 0.27 m/s.

Experimental validation, on the robot described in the previous section, is done for the sinusoidal trajectory y = 0.08(cos (2.4π x ) − 1 ), shown in Fig. 13. The robot starts from zero speed with a setpoint of Veq = 0.27 m/s. After 30 seconds the setpoint is changed

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

ARTICLE IN PRESS

JID: EJCON

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8

7

Table 1 Mechanical properties of the robot depicted in Fig. 12. Parameter

Value

Description

m JT Jr Jp L

24 kg 2 1.6 kg m 2 0.197 kg m 2 0.0013 kg m 0.358 m

Total mass of snakeboard Total inertia of snakeboard Inertia of the rotor Inertia of one wheel platform Center to wheel platform

Fig. 15. The used path to verify the increase in efficiency.

Fig. 13. Setpoint path for comparison of controllers.

Fig. 16. Top: Measured speed of the robot; Bottom: Equivalent speed (PIDcontroller; optimal path); Cf. Section 4 the moments of actuation φ ∗ > φ 1 , no actuation φ 1 > φ ∗ > φ 0 , and offset compensation φ ∗ < φ 0 are coloured.

Fig. 14. Top: Measured speed of the robot; Bottom: Equivalent speed (PIDcontroller); Cf. Section 4 the moments of actuation φ ∗ > φ 1 , no actuation φ 1 > φ ∗ > φ 0 , and offset compensation φ ∗ < φ 0 are coloured.

to zero. Therefore the PID controller depicted in 5 and tuned in Section 3.3 is used. The resulting speeds V and Veq are depicted in Fig. 14. To obtain better actuation efficiency, the principles of section 5 should be considered. Using the optimisation according to Section 4 the trajectory of Fig. 13 is approximated by the optimized trajectory in Fig. 15. This trajectory consists of circle arcs with a radius of 22 cm based on the maximum wheel angle φ , followed for 2 s, joined by transition regions of 1 second. This is shown in Fig. 15. One could increase the length of the circle arcs to increase the control efficiency (more time on a smaller radius). However, this extension would also lead to a much smaller net displacement along the x-axis. The results for this trajectory are shown in Figs. 16 and 17. The velocity peaks at the moments the robot operates in the transition regions a large peak in the velocity occurs. These peaks are caused by a slower rotation of the robot, meaning a lower θ˙ in Eq. (13), in these transition regions, and thus more kinetic energy is available for the translation, meaning a higher V in (13). For this kind of trajectory, controlling the robot to a constant speed would need a powerful motor to compensate for these peaks in velocity. These results make the effect of working with the equivalent velocity as controlled variable manifest. The effect of the transformation to an

Fig. 17. Top: Applied rotor acceleration δ¨ ; Bottom: Rotor velocity δ˙ (PID-controller; optimal path); Cf. Section 4 the moments of actuation φ ∗ > φ 1 , no actuation φ 1 > φ ∗ > φ 0 , and offset compensation φ ∗ < φ 0 are coloured.

equivalent velocity is proven by the bottom figure of 16 which indicate these peaks are unvisible in Veq . The adaptation of the trajectory from Figs. 13 to 15 is done to reduce the needed rotor acceleration. Therefore, we will compare the used rotor acceleration to follow this path with the acceleration necessary for the sine path shown in Fig. 13. This is done with the same setpoint of Veq = 0.27 m/s. The performance measure P represents the average of the absolute value of the rotor acceleration.

P=

1 T



¨ dt |δ|

(20)

Where T is the total integration time. A lower value P is better. This value will be calculated for different cases. The first case is just the full trajectory. To rule out the influence of the start, the second case takes the full trajectory starting from t = 5 s. Because the sine path has a larger region (φ > φ 1 ) where it can compensate the rotor speed to the middle of its range, these compensation regions are excluded in the third case. The last case excludes both

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004

ARTICLE IN PRESS

JID: EJCON 8

[m5G;August 10, 2018;20:16]

S. Derammelaere et al. / European Journal of Control 000 (2018) 1–8 Table 2 Comparison of the needed average rotor acceleration P [rad/s2 ] to follow a trajectory. Sinusoidal

Optimal

Supplementary material associated with this article can be found, in the online version, at 10.1016/j.ejcon.2018.07.004

¨ dt |δ|

3.47

2.94

References

¨ dt |δ|

3.21

2.69

3.29

2.87

2.96

2.63

[1] M.D. Ardema, Analytical dynamics: theory and applications, Springer Science & Business Media, 2006. [2] K. Arent, I.M.Y. Mareels, J.W. Polderman, The pole-zero cancellation problem in adaptive control: a solution for minimum phase systems by approximate models, Eur. J. Control 4 (4) (1998) 320–332. [3] A.T. Asbeck, S.M.M. De Rossi, K.G. Holt, C.J. Walsh, A biologically inspired soft exosuit for walking assistance, Int. J. Robot. Res. 34 (6) (2015) 744–762. [4] A.R. Asnafi, M. Mahzoon, Some flower-like gaits in the snakeboard’s locomotion, Nonlinear Dyn. 48 (1–2) (2006) 77–89. [5] A. Asnafi, M. Mahzoon, On designing geometric motion planners to solve regulating and trajectory tracking problems for robotic locomotion systems., Bioinspir. Biomimet. 6 (3) (2011) 1–13. [6] A. Asnafi, M. Mahzoon, Some new robust pseudo forward and rotation gaits for the Snakeboard, Sci. Iran. 15 (5) (2008) 644–651. [7] M. Beschi, R. Adamini, A. Marini, A. Visioli, Using of the robotic operating system for PID control education, IFAC Pap. Online 48 (29) (2015) 87–92. [8] F. Boyer, S. Ali, Recursive inverse dynamics of mobile multibody systems with joints and wheels, IEEE Trans. Robot. 27 (2) (2011) 215–228. [9] F. Bullo, A.D. Lewis, Kinematic controllability and motion planning for the snakeboard, IEEE Trans. Robot. Autom. 19 (3) (2003) 494–498. [10] D. Carnevale, F. Martinelli, M. Velasco-Villa, E. Aranda-Bricaire, H. RodriguezCortes, J. Gonzalez-Sierra, Discussion on: trajectory tracking for a wheeled mobile robot using a vision based positioning system and an attitude observer, Eur. J. Control 18 (4) (2012) 348–355, doi:10.3166/EJC.18.348-355. [11] T. Dear, S.D. Kelly, M. Travers, H. Choset, Snakeboard motion planning with viscous friction and skidding, in: Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), IEEE, 2015, pp. 670–675. [12] T. Dear, R.L. Hatton, M. Travers, H. Choset, Snakeboard motion planning with local trajectory information, in: Proceedings of the ASME Dynamic Systems and Control Conference, American Society of Mechanical Engineers, 2013, p. 8. [13] S. Derammelaere, M. Haemers, J. De Viaene, F. Verbelen, K. Stockman, A quantitative comparison between BLDC, PMSM, brushed DC and stepping motor technologies, in: Proceedings of the 19th International Conference on Electrical Machines and Systems, ICEMS 2016, 2017. [14] Y.F. Golubev, A method for controlling the motion of a robot snakeboarder, J. Appl. Math. Mech. 70 (3) (2006) 319–333. [15] C. Gong, M.J. Travers, H.C. Astley, L. Li, J.R. Mendelson, D.I. Goldman, H. Choset, Kinematic gait synthesis for snake robots, Int. J. Robot. Res. 35 (1–3) (2015) 100–113. [16] R. Gonzalez, M. Fiacchini, T. Alamo, J. Luis Guzman, F. Rodriguez, Adaptive control for a mobile robot under slip conditions using an LMI-based approach, Eur. J. Control 16 (2) (2010) 144–155, doi:10.3166/EJC.16.144-155. [17] S. Iannitti, K.M. Lynch, Minimum control-switch motions for the snakeboard: a case study in kinematically controllable underactuated systems, IEEE Trans. Robot. 20 (6) (2004) 994–1006. [18] S. Kajita, K. Kaneko, F. Kaneiro, K. Harada, M. Morisawa, S. Nakaoka, K. Miura, K. Fujiwara, E.S. Neo, I. Hara, K. Yokoi, H. Hirukawa, Cybernetic human HRP-4C: a humanoid robot with human-like proportions, in: Robotics Research, in: Springer Tracts in Advanced Robotics, 70, 2011, pp. 301–314. [19] A. Kottas, A. Drenner, N. Papanikolopoulos, Intelligent power management: promoting power-consciousness in teams of mobile robots, in: Proceedings of the IEEE International Conference on Robotics and Automation ICRA, IEEE, 2009, pp. 2459–2464. [20] A.S. Kuleshov, Further development of the mathematical model of a snakeboard, Regul. Chaotic Dyn. 12 (3) (2007) 321–334. [21] A.E. Martin, R.D. Gregg, Incorporating human-like walking variability in an HZD-based bipedal model, IEEE Trans. Robot. 32 (4) (2016) 943–948. [22] T. Narikiyo, Control of underactuated mechanical systems via passive velocity field control: application to snakeboard and 3D rigid body, Nonlinear Anal.: Theory Methods & Appl. 71 (12) (2009) 2358–2365. [23] J.P. Ostrowski, Optimal gait selection for nonholonomic locomotion systems, Int. J. Robot. Res. 19 (3) (20 0 0) 225–237. [24] J. Ostrowski, A. Lewis, R. Murray, J. Burdick, Nonholonomic mechanics and locomotion: the snakeboard example, in: Proceedings of the IEEE International Conference on Robotics and Automation, 1994, pp. 2391–2397. [25] A. Patel, E. Boje, On the conical motion of a two-degree-of-freedom tail inspired by the Cheetah, IEEE Trans. Robot. 31 (6) (2015) 1555–1560. [26] M. Sauthaff, Ride like the wind, Image Text:J. Des. (3) (1994) 34–37. [27] E. Shammas, M. de Oliveira, Motion planning for the Snakeboard, Int. J. Robot. Res. 31 (7) (2012) 872–885. [28] A. Takacs, G. Eigner, L. Kovacs, I.J. Rudas, T. Haidegger, Teacher’s kit development, usability, and communities of modular robotic kits for classroom education, IEEE Robotics & Autom. Mag. 23 (2) (2016) 30–39.

Path type:  1 T T 0  1 T Case 2: P = T 5s  1 T Case 3: P = T 0  1 T Case 4: P = T 5s Case 1: P =

Supplementary material

 ¨ dt  |δ| φ >φ1  ¨ dt  |δ| φ >φ1

the start and the compensation regions. The results are shown in Table 2. The optimal trajectory scores about 15 − 20% better in every case. As expected, the rotor compensation plays a more significant role for the sinusoidal path. This role can be seen by comparing the difference between rows 1 and 3. Finally, Fig. 17 shows the rotor speed δ˙ and acceleration δ¨ along the trajectory depicted in Fig. 15, of which the controlled V and Veq are depicted in Fig. 16. Because of the lack of absolute feedback [10], as mentioned in Section 5, no performance measure can be calculated for the position control along the trajectory. To have some indication of performance, some trajectories as in Figs. 13 and 15 with a length of 5 to 7 m were followed. The observed deviation at the endpoint was never larger than 20 cm. 7. Conclusions This paper studies the motion control of a nonholonomic system corresponding to many biological systems. More in particular, the snakeboard is considered as a typical example of such a system. While the literature on the modelling and open loop motion planning of the snakeboard motion is numerous, to the knowledge of the authors there is no real-time closed-loop motion control structure reported in the literature so far. In this paper, the complex non-linear equations describing the snakeboard behaviour are studied piece by piece and rewritten to obtain an intuitive model in which the physical interpretation of each part is clear. Based on this novel model representation physical insights are elucidated in this paper. These insights allow developing a realtime locomotion controller for the snakeboard which is entirely new to the field of snakeboard applications. Thanks to profound model insights, a straightforward yet robust controller is obtained in which the curvature and speed control of the board are decoupled. Given the restrictions of this snakeboard robot, the control and trajectory are adapted to obtain energy efficient control and movements. Moreover, while lots of publications on snakeboard modelling are limited to simulation results, this paper contains measurement results on a self-built snakeboard robot to validate the controller approach. Acknowledgments The results in this paper were made possible by thesis students who built the snakeboard robot. The authors would like to thank Simon Houwen and Bram Vervisch for their pioneering work in the construction of a snakeboard robot and Jens Desmet and Jarne Liagre for their further optimisations.

Please cite this article as: S. Derammelaere et al., Realtime locomotion control of a snakeboard robot based on a novel model, enabling better physical insights, European Journal of Control (2018), https://doi.org/10.1016/j.ejcon.2018.07.004