Dynamic control of steerable wheeled mobile platforms applied to an eight-wheeled RoboCup Middle Size League soccer robot

challenges in control: the platform becomes kinematically nonholonomic due to the kinematic constraints around the pivot axes, but it is shown that in the context of the driving task the controller can keep the wheel configurations such that they can generate a force and torque in the directions needed by the task. Hereby, the restriction to minimize the position-error in its three degrees of freedom with respect to a predefined trajectory is relaxed by taking only the degrees of freedom relevant for the task into consideration. A cascaded control strategy is proposed that combines kinematic and dynamic control and also addresses the control-allocation problem. Compared to a full kinematic approach as typically applied on steerable wheeled systems, 2.3 times higher translational and 1.8 times higher angular velocity are demonstrated. For the translational acceleration and angular acceleration, improvement factors of 2.7 and 3.2 are achieved, respectively. The platform made a successful debut during the RoboCup Portuguese Open 2019, showing the robustness of the proposed approach.


Introduction
The RoboCup-initiative, a platform to promote robotics and research in artificial intelligence [1], has set its ultimate goal of beating the human world champion team in 2050 with a team of autonomous robots.On the route to this objective, various competitions are set up.Among those competitions is the RoboCup Middle Size League (MSL), in which teams of five fully autonomous, wheeled robots having a maximum size of 50 × 50 × 80 [cm] play soccer with a regularly sized FIFA soccer ball on a field of 22 × 14 [m] [2].Most MSL-teams adopt an omniwheel-based drive configuration for the sake of agility [3,4].In general, in such fixed configurations not all motors will equally contribute to the platform's motion.Among other disadvantages are the wear which the rollers of the omniwheels show throughout the year.In the near future, such rollers will be easily contaminated with sand pairs can be (re-)oriented such that all motors are able to contribute in the desired direction of motion, hence the platform is able to move in any direction and orientation of the field.As a result, omnidirectional properties are maintained.Strictly speaking, holonomicity is lost as the platform cannot do all these movements instantly anymore.It will be shown however that from a strategic soccer perspective the platform can be considered near-holonomic when driving, as these wheel sets can be reoriented relatively fast compared to the direction-changes in the desired platform movement.
Current research indicates that for steerable wheeled systems velocities and accelerations were realized which are significantly below the velocities and accelerations which are required to play soccer.Examples are seen in various domains such as mobile manipulation [5], logistics [6,7], (domestic) services [8][9][10], industry [11,12] and automotive [13,14].The former Philips RoboCup team had a steerable wheeled platform [3] already in the early days of RoboCup, which in correspondence with the other systems in practice showed limited speed and acceleration [15].As will be demonstrated in this work, a significant performance increase is obtained for our steerable wheeled type of system.Where a first glance of our controller design of the over-actuated eight-wheeled soccer robot as developed in this work was given in the team description papers and the winners papers of Tech United Eindhoven [16][17][18][19], this work gives a detailed explanation of the control architecture and the necessary modifications of the soccer software which was developed for the three-wheeled platform.For the system realized, a detailed list of hardware specifications, along with Computer-Aided Design (CAD) files of the mechanics, the schemes of the electronics, links to the open source software implementation in MATLAB [20] and Simulink [21], as well as some videos of the platform in action can be found at the Robotic Open Platform (ROP) Wiki 1 .
The remainder of this paper is structured as follows: first, in the next section, an overview of relevant literature is given and the contributions are listed.Next, in Section 3, the wheel sets and the robot architecture of the eight-wheeled platform are described, followed by a study of the kinematics and dynamics of the system.Then, the control architecture and the integration into the soccer software developed for the three wheeled system is explained in Section 4. The controlallocation problem is elaborated on and quasi-holonomicity of the platform is discussed.Experimental results are presented and discussed in Section 5. Section 6 concludes this paper.

Related work
In this section, the relevant literature related to the hardware design of steerable wheeled mobile robots is discussed.Next, motion planning and control hierarchy are described.The final paragraph summarizes the contributions of this work.

Hardware of steerable wheeled mobile systems
All with the purpose of creating a mobile system with high maneuverability, various types of platforms consisting of steerable wheels have been designed.These systems provide an alternative to omnidirectional wheeled systems and find an application in various domains [3,[5][6][7][8][9][10][11][12][13][14][22][23][24][25][26][27][28].Given the dimension constraints required by the rules of the league and for system stability, for the soccer domain a compact platform with a low COM is desired.Therefore, opposed to the pullybelt systems mostly applied to provide the driving actuation, within this work hub-driven wheel sets are applied.[9,10] implemented a set of two wheels to provide the actuation.As a result, more power can be transmitted in the desired direction.For the system described by [9,10], per wheel set an extra motor is added to control the orientation of the wheel sets.However, assuming there is sufficient friction between the wheels and the ground, this work considers the orientation actuator redundant as the wheel sets can be reorientated with both actuated wheels based on differential drive principles.Lastly, to prevent the orientation of the wheels to be constraint by wiring to provide power and communication, similar to [23], a slipring is utilized to transmit electrical signals between the robot, the motor and the encoders.

Control of steerable wheeled mobile robots
Two of the core functionalities in autonomous navigational systems are motion planning and control.The task of the motion planning module is to select a continuous path through the environment to accomplish a navigational task.For the motion planning module, many techniques have been developed for mobile platforms executing a task under uncertainty [29,30].The control algorithm then reactively corrects errors in the execution of the planned motion [29,[31][32][33].For over-actuated mechanical systems with a redundant set of effectors and actuators, the hierarchy of these motion control algorithms commonly includes three levels [34], namely (1) a high-level motion control algorithm which commands a vector of virtual control efforts (i.e.forces and moments) to meet the overall motion control objectives, (2) a control allocation algorithm which coordinates the different effectors such that they together produce the desired virtual control efforts, and (3) low-level control algorithms which may be used to control each individual effector via its actuators.
For a steerable wheeled soccer system which has to position itself with respect to the ball when for example a free kick needs to be taken, caused by the sensor noise of the camera when measuring the ball position, simultaneous corrections in all its Degrees Of Freedom (DOFs) is not possible due to its non-holonomic properties.As a result, reactivity in the desired DOF(s) is lost.Within the soccer context there are many alternative trajectories which lead to a desired location.To make this set of trajectories explicit, in contrast to motion planning techniques typically applied on robotic systems in general [29][30][31][32][33]35] and control architectures of steerable wheeled systems as listed in Table 1 specifically, recently [36] described the notion of a tube as the allowed deviation along a path.For an omnidirectional but non-holonomic system as discussed in this research, the simultaneous corrections in its DOFs are relaxed by adopting this tube approach.As will be experimentally validated within the context of our work, the system remains reactive in the relevant directions as the wheels will be oriented accordingly.For a steerable wheeled system present in a dynamic environment such as the soccer scenario, this means that high frequent direction changes of the wheel sets caused by sensor noise of for example the camera are suppressed and as a result the task can be executed properly.
Table 1 provides an overview of control strategies for steerable wheeled systems.The table shows that for a system with steerable wheels typically kinematic approaches are utilized within experimental validations, while dynamic approaches are tested in various simulations.For the kinematic concepts, performance is limited and remains an order of magnitude below the velocities and accelerations required for playing robot soccer.Reasons of the limited performance are sought in the underlying assumption that dynamical effects are negligible and interaction forces are low in relation to the system mass.This leads to low accelerations and as a result low velocities given the finite time to obtain the desired velocity.Another reason of the limited performance of the kinematic approach is thought to be found in the independent wheel velocity control at the respective wheels.Disturbances caused by for example irregularities of the ground or size-variation between the wheels are compensated for each joint independently, as cross-coupling between the joints is neglected [17].Within dynamic approaches, as seen in [13,14,25,26], these disturbances can be addressed by separating the control of the dynamics present in the system.As an example, [25] separates the dynamics of the chassis from each wheel and tire.However, the validation in various simulations permits the dynamical parameters to be known with negligible uncertainty and to make assumptions which are unrealistic for the soccer scenario.For instance, [25] assumes perfect sensor observations, trajectories to be known a priori and neglects actuator saturation, while [14] assumes almost perfect force sensors measuring the longitudinal and lateral force acting on each wheel.To experimentally validate a dynamic approach and take uncertainties into consideration to achieve the performance required, we will validate our work in real experiments and compare our approach to a kinematic one.
The second level of the motion control algorithms considers the control allocation.The primary objective of the control allocation is to compute a control input that ensures the virtual efforts are produced.For over-actuated systems such as the eight-wheeled robot considered in this work, the allocation solution is non-unique [34].By formulating the cost-function as an optimization problem it is possible to take physical constraints such as input saturation and rate constraints, operational constraints, real-time requirements and secondary objectives into consideration.Examples of secondary objectives are the minimization of (the energy-loss caused by) slip [38] and the steering rate of the wheels [13,39].To keep the wheel sets steerable, within this publication we explicitly address the friction assumption between the wheels and the ground as an objective within the optimization approach.

Approach and contributions
In this research, a system is proposed with hub driven wheel sets in which all actuators contribute to the orientation of its corresponding wheel set as well as the actuation of the platform.Compared to existing steerable wheeled systems seen in literature, the main advantage is that this concept allows for a compact and low-height mobile platform design.To achieve a performance suitable for playing soccer, several challenges have to be solved.The contributions of this paper are: • The realization of a low-height eight-wheeled platform in which each wheel has a dual steer and drive function and which is suitable to play soccer autonomously in a competitive match.• The design of a control architecture for steerable wheeled systems aiming for higher accelerations than other control approaches.
The architecture decouples wheel orientation control from platform motion control.Experimentally obtained non-parametric models in the form of frequency response functions allow for easy tuning of the controllers.• The introduction of a task-based position error, thereby loosening the classical requirement to make the position error as small as possible on a predefined trajectory, which makes it possible to consider this platform as near holonomic from a task perspective.

System description
This section gives a description of both the realization of the wheel sets as well as the hardware of the entire system.Next, the notation and symbols are elaborated, followed by a study of the kinematics and dynamics of the system.An overview of the nomenclature as applied in this work is given in Table A.5 of the Appendix.

Wheel sets
The wheel sets consist of two mechanically coupled direct driven wheels, having a maximum continuous power of 336 [W], a radius   and are placed at a distance   between each other.Such wheel set is shown in Fig. 1(a) and its relevant parameters are listed in Table 2. Encoders are applied to estimate the rotational wheel velocity  , and  , for both the left and right wheel of wheel set  as well as the rotation   of each wheel with respect to the robot-frame.This rotation is also called the pivot angle and is unconstrained as a slip ring is applied.This slip ring can be found at the base of the wheel set and transmits the power and communication signals.The origin (   ,    ) of each wheel-frame  is at the center of the corresponding rotation axis.The suspension consists of four metal bars, connecting the wheels to the base of the wheel set.The center of two of these bars are visualized in Fig. 1(a) with a white line.All of these bars can hinge around the axial axis of its corresponding screws, thereby creating an unobserved passive DOF in lateral direction of the wheel set, i.e. the    -axis.On the level of a wheel set, this DOF ensures that to some extend both wheels are in contact with the ground on an uneven surface.A possible reconfiguration of the wheel using this DOF is visualized with the white-dotted line in Fig. 1(a).The range of this DOF limited in both directions by an endstop.
As shown at the first wheel of Fig. 2, the orientation of a wheel set can be manipulated when a force-difference  1, −  1, between the two wheels is applied on the ground, thereby creating a torque   1 at the first pivot.When the force applied is equal in magnitude and direction, the force applied to the platform equals twice the force delivered per wheel along the    -axis.This is visualized at the second wheel in Fig. 2. The third wheel shows the combined effect of the first two wheels.

Robot's architecture
The eight-wheeled soccer robot is a redesign of the fifth generation soccer robots of Tech United Eindhoven [40].A detailed list of hardware specifications of this platform, along with a CAD file of the base, upper-body, ball handling and shooting mechanism can be found on the ROP Wiki 2 .For the redesign, of which the realization is shown in Fig. 1(b), the omni-wheels have been removed and replaced by four wheel sets.As shown in Fig. 2, the wheel sets are placed in a rectangle having length  and width  and are discriminated with the variable  = 1, 2, 3, 4. The corresponding parameters are shown in Table 2. Given there are eight actuators controlling three DOFs, the platform is five times over-constrained.Four of these constraints are compensated by means of the passive lateral movement in each wheel.A hinging axle which creates a suspension between the two wheel sets at the back resolves the last constraint.Other relevant components for playing soccer autonomously are kept: the omnivision (OV) system [41,42] and the Kinect-V2 RGBD-camera [43] acquire information about the robotsurroundings.
Gyroscope and accelerometer data from an Inertial Measurement Unit (IMU) are fused with the OV measurements to determine the robot-pose [44].For ball-manipulation, an active ball 2 http://www.roboticopenplatform.org/wiki/TURTLE handling mechanism [45], solenoid kicker [46] and an active lever [40] are applied.To integrate the new robot player into the team, other software components are adopted such as the communication [47], the trajectory planning [48] and the Skills, Tactics and Plays (STP) framework [16,49,50] to make strategic decisions.

Notations and symbols
This section elaborates on the used notation and symbols.A graphical representation of the system can be found in Fig. 2.
The geometric center  of the wheels is used as the center of the platform-frame having its positive -axis in the direction of the ballhandling arms of the robot.From this perspective, the -axis is defined to the right side of the robot.For a platform consisting of  wheel sets, the wheel-position matrix  , = ] consists of all wheel positions (, ) of the center of the wheel sets   ,  = 1, … ,  with respect to frame  .The position (,  ) and orientation  of the robot with respect to the origin  of the field can now be expressed with the pose vector The velocity and acceleration in this frame are the first and second order time derivatives with respect to their corresponding variables.
Another relevant system property is the Center Of Mass, which is experimentally determined and listed in Table 2.The parameters  and  indicate the distance of the COM with respect to the rear and front pivots respectively, while  and  indicate the distance of the COM with respect to the left and right pivots respectively.As a result,  +  =  and  +  =  .The pivot axis of the hinging axle is centered between the left and right wheel set: the arm to each side equals  ∕2.

Kinematics
To derive the relations between the wheel orientations, the wheel velocities and the direction of movement, this subsection derives the kinematics of the system.
From the reference platform velocity q    ,  ,  , in frame  , the desired orientation of each wheel set can be derived.Due to the omnidirectional properties of the wheel sets, the wheels can move in any orientation at any time.As a result, given the desired platform velocity in a frame, the position of the pivot axis of the wheel set (   , ,    , ) in the corresponding frame, the desired velocity    , = [ ẋ  , ẏ  , ]  of each wheel set with respect to the this frame is obtained as In here,   describes the inverse kinematics of wheel  and the inverse kinematic matrix  describing the inverse platform kinematics contains the contributions of each wheel, hence containing the reference orientation of each wheel set , the desired orientation of each wheel set can be trigonometrically determined for    , ≠ 0: As a result, the orientation is undetermined for a standstill of the center of the wheel set.This is the case when the platform is at standstill or when the platform rotates around the corresponding center of the wheel set.
The platform velocity is estimated using the forward kinematics.Under no-slip conditions, the wheel set velocity can be estimated in the COM-frame by transforming the average of the angular wheel velocities measured with respect to the wheel frame given the observed orientation: Given the velocity estimate of the wheel sets, the platform velocity can be derived by solving the inverse problem of (1) by using the pseudo inverse  † of .

Dynamics
As will be shown in Section 4.4, we make use of a non-parametric model of the robot dynamics to tune our controllers.As an advantage, in comparison to a parametric model, a non-parametric model for control design can be readily obtained by measuring the system's frequency response functions.We assume that control of the steering angle can be considered to be decoupled from control of the platform movement and as such the responses of the wheel sets as well as the platform will be presented and discussed.
First, the dynamics of the rotations of the wheel sets are discussed.Therefore, the transfer from control input ]  to the orientation   of wheel set  is studied.Here, the vector contains the current    applied on each wheel of wheel set .As the wheels contained in a wheel set are coupled, the actuation input of each wheel in a wheel set is applied in opposite direction.To derive the undamped dynamics, the lumped model of Fig. 3 is considered.This models contains the inertia   of both wheels as well as the inertia   of the wheel set around the pivot axis.Both are coupled with a spring which represents the tire-stiffness   .Further it is considered that the torque input    to the wheel set input    is proportional to the motor torque constant   .Based on conservation of momentum, the following transfer function is derived containing its undamped resonance frequency  at Here, the system poles are found at  = ±.This model is confirmed by the measured plant responses which are shown in Fig. 4(a).A −40 dB/decade-slope (second order dynamics) and a phase lag of 180 [degrees] in the frequency range up to 50 [Hz] are observed, caused by the inertia of both wheels as well as the inertia of the wheel set.The resonance frequency at approximately 90 [Hz] is caused by the stiffness of the tires, while the high frequent response is indicated by a −80 dB/decade-slope (4th order dynamics).Next, the platform dynamics are studied by determining the frequency response from the translational force input   to the translational velocity as well as the rotational moment input  to the rotational velocity of the platform.Both   and  are the force and moment acting on the platform and result from the actuation inputs of all wheels.The COM was chosen as the reference frame and the reference-orientation of the wheel sets is determined according to the kinematics derived in Section 3.4.For the frequency response measurements of the platform, the control allocation problem is solved by equally distributing the desired control effort among the wheel sets.
The frequency response measurements of Fig. 4(b) show the response of the system, combined with the expected response based on the robot mass and the wheel parameters.Here it is shown that the low frequency content of the measurements is related to this mass.A similar effect is observed for the rotational response, which is assumed to be related to the robot inertia.The estimate of the inertia is shown in this figure as well.For frequencies above 10 [Hz], several (anti)resonances are observed.It is hypothesized that the observed higher order dynamics can be mainly attributed to the interplay of inertia and stiffness of the wheel tires.Further investigation of these is outside the scope of this work.

Control architecture
The control architecture starts with the cascaded control architecture adapted from the three-wheeled soccer platform [16].An overview of this architecture is provided in Fig. 5.It consists of a velocity controller in the inner loop and a position controller in the outer loop.The reason for adapting the cascaded approach is twofold.Firstly, it supports the separation of the kinematics from the dynamics of the wheel sets and the platform.As a result, the kinematics can be utilized to determine the orientation of the wheel sets.This makes the control-algorithm modular as the approach remains independent on the number of wheel sets.Secondly, similar to the three-wheeled system, the position feedback loop has a major dependency on the processed omnivision image [44].As the update rate of this image is relatively slow compared to the system dynamics, the separation of the loops allows to compensate the system dynamics in the inner loop and to compensate the drift with the position controller   in the outer loop.The inner loop is visualized in blue in Fig. 5.The platform velocity controller   , which is present in the inner loop, is shown in detail in Fig. 6 and consists of six major components, namely: (1) the computation of the velocity setpoint q   , , , based on the platform task to address the holonomic assumption as considered within the strategy (2) the setpoint-generation of the pivots   based on the kinematics of the system, (3) the pivot controllers   for accurately controlling this setpoint by taking the inertia of both wheels as well as the wheel set into account, (4) the platform feedforward based on the desired velocity and acceleration of the platform, (5) the platform feedback controllers compensating the platform dynamics based on the velocity desired by the trajectory generator and the kinematic estimate of the platform velocity and (6) the control allocation function   for distributing the input of the platform controllers over a redundant set of wheels.Details about the cascaded software architecture are provided in Section 4.1.Subsequently, each of the components of the platform velocity controller are discussed.

Cascaded position controller
For a platform consisting of  wheel sets, the task of the cascaded control architecture, shown in Fig. 5, is to determine the actuation control vector ]  based on the desired position in the -frame and both the velocity and acceleration of the COM as imposed by the trajectory generator.The actuation control vector contains the current  applied on each wheel.The COM is chosen as the reference frame as this minimizes the observed inertia during platform rotations.The outer loop contains the position controller   and compensates the drift based on the estimate of the robot-position, while the inner loop enables high bandwidth velocity feedback control.The position estimate of the outer loop fuses the omnivision pose OV, the gyroscope and accelerometer signals of the IMU, the orientation vector of the wheel sets       and the rotational velocity ]  in a two-stage Kalman filter [44] through a double integrator model.To accommodate for the altered mechanical design compared to the three-wheeled platform, the kinematic model was updated according to the model described in Section 3.4.Next, to obtain the input to the position controller in the -frame, the global position error is converted to the local frame by means of the  2 rotation matrix.In this matrix, the global orientation  is applied according to The output is of the position controller is the velocity correction vector q, .This vector is utilized in the inner loop.The loop controls the velocity of the platform and takes in addition the desired velocity and acceleration of the trajectory generator and the strategic control mode as an input.This mode indicates which directions are important to control given the skill the robot is executing as imposed by the strategy.The full control-architecture of the velocity-controller   is shown in Fig. 6.The subsequent subsections elaborate on the components of this loop.

Platform setpoint generation: Skill based control error
Though the platform is non-holonomic, it is desired to maintain the agile properties of the three-wheeled system.As the wheel sets are able to rotate quite fast with respect to the platform movement, from a task perspective the platform is still assumed to be holonomic to maintain these properties.In this subsection, it is explained where this assumption is violated and how these violations are taken into consideration within the ''Velocity Setpoint Generation Platform''-component of the platform velocity controller of Fig. 6.Details of this component are visualized in Fig. 7(a).
A difference between a holonomic platform and the proposed one is that at a standstill any motion would typically start by a quick reorientation of the wheels.However, around a standstill, for a system consisting of wheel sets typically the wheels need to be reoriented before it starts moving.This is especially a problem when the robot needs to position itself on a fixed location and relative small corrections are required due to sensor noise of the OV and the IMU.This is the case if the robot has to receive a ball during a free kick or a pass which leads to high frequent direction changes of the wheel sets.
This positioning requirement is however not strictly necessary: the task of the robot when receiving a ball which is being passed is ''to position the system in the direction of the ball movement, oriented towards the ball''.In other words, for this task, the robot only needs to have an accurate orientation and accurately position itself perpendicular to the ball trajectory.The later is achieved by accurate lateral movements (i.e. in the -direction of the system).To reduce the undesirable high frequent direction changes, as shown in Figs.7(a) and 7(b), it is proposed to scale the velocity-correction qCOM, cor of the position controller with a scaling factor  ∈ [0, 1] in one or multiple relevant control DOFs = {, , }.For each relevant control DOF, the scaling factor is determined according to Here,    , indicates the distance to the position for which the target is reached in the relevant DOF and is indicated for each direction in Fig. 7(b).A lower distance boundary   is chosen in which no corrections are applied in the corresponding direction, while a linear transition is applied between the lower and upper bound   .In the example of Fig. 7(b) during a ball interception the target distance in the  DOF is below the lower distance boundary and hence,   = 0.As a result, the wheels are oriented such that corrections in  and -direction of the system could be applied.

Setpoint generation of pivots
The role of the setpoint generation of the pivots, shown in detail in Fig. 7(a), is to determine the desired orientation   of all wheel sets based on the platform velocity setpoint q, .Assuming a holonomic platform, this can be kinematically determined according to (2).However, the solution is undetermined for a standstill of the center axis of a wheel set.To determine the required orientation of the wheel sets in all cases, for small pivot velocities, i.e. ‖ , ‖ 2 < 0.01, the orientation of the previous sample is maintained.
As the holonomic assumption requires infinite accelerations in the orientation of the wheel sets, within the next phase of the trajectory generation of the pivots, each unwrapped reference orientation  , is smoothed using a separate single DOF second order trajectory, thereby obtaining the setpoint vector  𝒔𝒑

Dynamics: Decoupled control
Given the desired orientation of the wheel sets, as indicated by Fig. 6, both the wheel sets and the platform velocity can be controlled by taking the dynamics into account.In order to control the three DOF of the system, decoupling between the pivot-control and the platform is considered, where the pivot control is fast compared to the needs of the platform control.Thanks to the non-parametric models as obtained in Section 3.5, we can design our controllers with classical loop-shaping techniques using e.g. the Shapeit -toolbox [51].This subsection elaborates on both the pivot as well as the platform control.Subsequently, the feedforward controllers are discussed.
First, the pivot controllers are designed to control the direction of motion of the system.Assuming a decoupling of the wheel sets, a separate orientation controller is applied for each wheel set, leading to  pivot controllers.For the platform controller to manipulate the platform in the desired direction, the objective of these controllers is to accurately follow the desired orientations as determined by the setpoint generator, thereby compensating disturbances.Based on the experimentally derived dynamics of a wheel set as discussed in Section 3.5 and shown in Fig. 4(a), a loop-shaping controller is designed with classical loop-shaping techniques containing a lead filter consisting of a zero and a pole at 3 and 200 [Hz] respectively.In combination with a control gain of 71, the pivot controllers   are designed as The Open Loop (OL) response of the first wheel set is indicated in Fig. 4(a).A bandwidth of 17 [Hz] is achieved while maintaining a modulus margin of 5.6 [dB], a phase margin of 60 [degrees] and a gain margin of 6.8 [dB].Next, the output vector   is applied in opposite direction of the wheels present in each wheel set.
To comply with the decoupling assumption between each of the pivot controllers and the platform controllers, two monitors are applied for the pivot controllers.The first monitor checks if the wheels do not slip by comparing the expected rotational velocity of the wheel set based on the observed rotational velocity of both wheels and the actual rotational velocity of the wheels.If a difference above 30 [rad/s] is observed, the accelerations of the system are reduced in order to recover from the uncontrollability of the wheel sets.This value was empirically determined.The second monitor checks the decoupling assumption by observing the differences between the desired orientation and the measured orientation: for large differences, platform accelerations are reduced in order to align the wheels.
Next, the ''Platform Velocity Controllers'' consider the platform dynamics.This component is visualized in detail in Fig. 8(a).Given the orientation of the wheel sets, two controllers are designed for manipulating the magnitude of the platform velocity: a translational controller   () to regulate the translations of the system and a rotational controller   () to manipulate the rotations of the robot.First the translational platform velocity error is computed by determining the difference between the velocity setpoint q, and the kinematic estimate of the platform velocity.This estimate is provided by the feedback loop and based on the measured pivots as well as the angular velocities of the wheels.The magnitude of the translational velocity error ė is determined by projecting the velocity error ]  by taking the inproduct between these vectors according to The velocity error vector contains the velocity errors ė = ẋ − ẋ and ė = ẏ − ẏ in  and  direction respectively and the direction of movement is normalized to prevent manipulations of the magnitude of the error.This projection is visualized at the center of Fig. 8(b).In this figure, the error signal is projected in the direction of the desired translational movement, thereby obtaining the translational velocity error ė .The rotational controller manipulates the rotational velocity of the platform given the rotational velocity error ė .Both control outputs are combined in the platform wrenches vector of the feedback controller w fb = [   ė   ė ]  .The loop-shaping controllers   and   of the platform are based on the experimentally derived dynamics as discussed in Section 3.5 and indicated in Fig. 4(b).Due to the cascaded control structure controlling the inertia of the wheel sets in the inner control loop and the platform velocity in the outer loop, for the platform controller it is desired to manipulate the platform translational and rotational velocity, thereby observing the mass and inertia of the system as the dominant dynamical effects for frequencies up to 10 [Hz].The rotational controller neglects higher order effects by utilizing a double lowpass filter, of which both poles are placed at 15 [Hz].In combination with a gain of 40, the rotational platform controller is designed as The OL response is indicated in Fig. 4(b).A bandwidth of approximately 5.5 [Hz] is achieved while maintaining a modulus margin of 3.4 [dB], a phase margin of 55.9 [degrees] and a gain margin of 10.4 [dB].A slightly different approach has been taken for the translational controller, as there is a relative higher gain at the frequency content between 10 and 100 [Hz] compared to the rotational controller.A notch has been applied slightly above 40 [Hz] to suppress the corresponding resonance, such that it was possible to apply an integrator at 42 [Hz].
To prevent windup of the integrator action, the control signal is saturated.A lead filter with its zero and pole at 1 and 10 [Hz] respectively suppresses the phase-lag of the integrator action.In combination with a gain of 30, the translational platform controller is designed as The OL response is indicated in Fig. 4 To increase the tracking-performance of the platform velocity controllers, a platform feedforward controller has been designed.Based on the desired setpoint of the trajectory generator in the ,  and  direction of the system, for both the translational and rotational controller, an acceleration gain has been tuned to compute the necessary control action for realizing the desired accelerations.In a similar fashion, a velocity gain has been tuned to compensate the viscous friction and a constant in the direction of the velocity vector has been applied to compensate the Coulomb friction.For the feedforward of the translational controller, the translational velocity and acceleration setpoints are required.By projecting the reference acceleration and reference velocity in the desired direction of movement, these variables are obtained in a similar fashion as the error-signal of the translational controller itself was determined in (9).The output w ff of the feedforward controllers are summed with the corresponding control outputs w fb of the feedback controller, thereby creating a wrench vector w p .This vector is taken into account in the control allocation problem.

Control allocation
As the system contains a redundant set of actuators, a choice has to be made on how to distribute the wrenches w p desired by the feedforward and feedbackcontrollers over the wheels.This process takes place in the ''Control Allocation'' of Fig. 6.The considerations made for the soccer platform will be elaborated in this subsection.
Having  actuators, the objective of the control allocation problem is to find the contribution of each wheel to obtain the desired platform control outputs.Following the reasoning of Section 4.4, the platform control is decoupled from the pivot controllers and the desired control effort is equally distributed among the wheels within a wheel set.This gives  degrees of freedom for the control allocation.The decoupling is indicated in Fig. 6 by the addition and deduction of the platform control signal   and the pivot control signals   .As a result, the platform actuation vector   is obtained.
Under input saturation constraints and the presence of multiple objectives in a real-time application, an optimization-based approach turns out to be powerful [34].As a result, the constrained quadratic optimization-function is defined as (12) in which the cost function  ( w , qCOM ) is defined as The first term of the cost function is applied to minimize the difference between the desired control efforts w p and the effective control efforts (  ,  w )I p applied on the platform, while the second term minimizes the control input applied on the wheels.The forward force matrix  is determined by summing the contributions of each wheel set to the wrenches given the orientation of the wheels.It depends on the desired motion direction of the platform   = atan2( ẏ , ẋ ), the wheel set orientation vector       = [  1 …   ]  and the velocity setpoint of the platform ( ẋ , ẏ ).The signals are determined with respect to the COM and visualized in Fig. 8(b).The -matrix is derived as Here, c indicates the cosine-function and its argument   −   indicates the difference between the desired motion direction   and the observed orientation   of wheel set .This argument is visualized in Fig. 8(b) for wheel set 4. The contributions of each wheel to the second row of this matrix are given by To keep the platform steerable, the pivot-controllers are prioritized over the platform controllers.Therefore, in the optimization function the control input applied on each wheel is subject to the maximum remaining control input  , of a wheel set.The positive definite weighting matrices   ∈ R [2×2] ,   ∈ R [×] and the scalar  ∈ R + balance the terms of the optimization function.To penalize differences between the desired and the applied control input in both quantities of the platform wrenches equally, it is chosen to balance this matrix with the mass  and inertia   of the platform by taking the inverse of both, hence . As wheel slip scales with the normal force applied on the wheel and this phenomenon is the cause for not applying the desired force on the ground, the normal force is taken as a criterion for weighting the control inputs using the wheel weighting matrix   .Therefore, the input to each wheel is penalized with the inverse of the normal force acting on each wheel: . The term  balances the left and right term and is set equal to the gravitational acceleration constant , such that in correspondence with the reasoning for   , all terms are mass-balanced.The normal force on each wheel is estimated in a feedforward fashion using the longitudinal acceleration ÿ and lateral acceleration ẍ desired by the trajectory generator, and the system properties.Following the reasoning of [52], given the accelerations, the normal forces  ⟂, on each wheel set  can be estimated based on the force and moment balance in both longitudinal and lateral direction.Neglecting other dynamical effects which are for example caused by the finite stiffness of the tires, for the soccer platform considered in this work having  = 4 wheel sets, this results in Here, the COM is taken as reference frame.The height ℎ  denotes the height of the center of rotation of the hinging axle and the height of the COM is abbreviated to ℎ.As the lateral DOF in a wheel set is

Table 4
Root mean square of the platform velocity error ̇ and the pivot control errors   of both approaches in each DOF during an iteration of the motion pattern as shown in Fig. 9(b) using the settings of Table 3. unobserved, it is assumed that the position of both wheels in the wheel frame is equidistant from the   -axis giving an equal normal force distribution among both wheels In compliance with the steerability consideration, the normal force computed is artificially reduced when a low normal force is expected.

Experiments & discussion
To demonstrate the functionality of the control architecture, several experiments have been conducted on the practice field of Tech United Eindhoven.An overview of this field during the experiments can be seen in Fig. 9(a).Having dimensions of 12.1 × 8.1 [m], this field is significantly smaller than the competition field, though it is still possible to show the functionality of the control algorithms.The control algorithms are implemented in Simulink [21], from which the executable is automatically generated using the RTW -functionality of Matlab [20].The software is executed on a Beckhoff C6920 industrial PC running Ubuntu 16.04 with a preempt-RT patched kernel.Within the Simulink software, the optimization function (12) of the control allocation problem is solved using the mpcqpsolver-function of Matlab [20].Within this section, the results of the experiments will be shown and discussed.
The first experiment demonstrates the functionality of the control architecture, while displaying the accelerations and velocities achieved so far with the proposed controller.Further, a comparison to the kinematic control approach as proposed in [17] is made.To combine several motion patterns which are typically desired in a match in the RoboCup Middle Size League, a repetitive pattern of targets has been designed combining a fast rotation and forward acceleration and deceleration over a distance of approximately 8 [m] along the longitudinal direction of the field, followed by a sideways acceleration and deceleration over a distance of 4 [m] along the lateral dimension of the field.Consequently, the robot is required to drive in a rectangular pattern consisting of a forward movement, a sideways movement and a rotation of 180 [degrees] at the transition from the sideways movement to the forward movement.This pattern is visualized in Fig. 9(b).As a result, the entire process of the cascaded control structure as shown in Figs. 5 and 6 is executed, as well as the localization and trajectory planning processes.The attainable maximum translational velocity , rotational velocity φ, translational acceleration v and rotational acceleration φ settings as applied for the kinematic and dynamic control approach are provided in Table 3.For each of the approaches, the found maximum reference velocities and accelerations allowed for proper trajectory tracking.The misalignment of the wheel sets turned out to be the limiting factor due to increased friction between the wheels and the ground.Note that the maximum rotational velocity is constrained by the acceleration as a maximum rotation of 180 [degrees] is required.Based on the maximum actuator inputs of 35 [A], the maximum pivot input was set to 20 [A].Though from a control perspective the pivot controllers are prioritized over the platform controllers, by applying these values it is chosen to reserve a substantial part of the control input available for the platform controllers in order to be able to reduce the platform velocity when required, thereby maintaining safety.
The results of this experiment for the kinematic control approach as proposed in [17] are shown in Fig. 10 and the dynamic approach as discussed in this work are shown in Fig. 11.In the two upper graphs of both figures, over a time window in which more than a full rectangular pattern was executed, the platform velocity in its three degrees of freedom are shown as well as the corresponding velocity control error ė expressed in the local coordinates.These velocities are kinematically estimated by observing the wheel velocities and solving the inverse problem of (1).The third graph visualizes the position error e loc expressed in the robot coordinates.The two subsequent graphs indicate the required orientation of the wheel sets  sp and the corresponding control errors e  .Finally, the lower two graphs indicate the required control inputs.For the kinematic approach, the required rotational velocity of each wheel needs to be determined.This signal consists of the contributions of the pivot controllers v  and the desired platform velocity v  as required according to the platform kinematics.Both signals are provided in the penultimate and final graph of Fig. 10, respectively.Due to the wheels in a wheel set being coupled, the required velocity setpoint for the pivot controllers is applied in opposite direction of each wheel contained in a wheel set, while the required velocity setpoint for the platform control is applied in the same direction for both wheels.For the dynamic approach, the lower two graphs of Fig. 11 indicate the required control inputs desired by the pivot controllers and the platform controllers, respectively.
Based on the platform velocity error, for the dynamic approach as shown in Fig. 11 it can be observed that for the task of playing soccer, the deviations from the required reference velocity are within 0.1 [m/s] and 1 [rad] while the positional deviations are within 0.1 [m] and 0.1 [rad].Hence, the objective of reaching the required acceleration and velocity is achieved.For the kinematic approach, of which the results are shown in Fig. 10, despite providing lower velocities and accelerations as indicated in Table 3, the root mean square of the platform velocity control error ė as provided in Table 4 was in general in the same order of magnitude and both the peak values and the root mean square of the pivot control errors e  are significantly larger.For the kinematic approach, the performance is limited by the nonconstant accelerations of the robot as observed in the upper graph of Fig. 10.The system reduced its speed to correct misalignment of the wheel orientations as indicated by the pivot monitors as discussed in Section 4.4.Based on Table 3, for the dynamic approach compared to the kinematic approach, improvement-factors of 2.3 and 1.8 are achieved in terms of the attainable translational and the rotational velocity, respectively.For the translational and rotational accelerations, improvement-factors of 2.7 and 3.2 are achieved respectively.For higher velocity settings of the kinematic approach, the pivot control errors and platform velocity control errors increase even more, which slows down the task of playing robot soccer.Reasons for this limited performance of the kinematic approach are sought in the independent velocity control at the respective wheels: these velocity controllers need to compensate the dynamics of the platform as well as the dynamics of the wheel sets.This can lead to conflicting requirements for the velocity controller due to the different requirements of both control loops.Furthermore, the independent velocity control of each wheel assumes disturbances to be decoupled while this is not the case in practice.The validation of this reasoning is however left for future work.For the dynamic approach, around the moment the platform is required to rotate and starts its forward movement, for example around 137.5 [s], the error in the wheel orientations increases for time intervals of approximately 0.1-0.15[s].As a result of that, a rise of the velocity error as well as the position error is observed.These deviations in the pivot orientations are caused by the fast orientations the wheels have to make, which can be observed in the corresponding setpoints.Inspection of the corresponding actuation inputs indicated that the saturation-limits were reached, thereby making it very hard to follow the desired trajectory.Possible solutions here are to reduce the maximum acceleration of the setpoints of the pivots or to take these limits into account during the trajectory planning phase, as depending on for example the distance which needs to covered to grab the ball, it is not always required to make a full platform rotation immediately.Rather than manually setting the acceleration limits, less conservative limits could be chosen by observing the wheel slip online by taking this observation into account in the trajectory planning phase by constraining the contribution of the slipping wheel(s).
As the task of the robot is not only to drive around on the field, but to play soccer as well, the task components are tested in the second set of experiments.As a result of that, the task-dependent velocity scaling starts to play a roll as well.Therefore, two tests are shown.In the first part of this experiment, to demonstrate the functionality of the velocity scaling onto the position-controllers, the task of the robot is to position relative to the ball.This is relevant for example when the robot needs to be positioned with respect to the ball when taking or receiving a free kick.Furthermore, compared to a dynamic example when receiving a pass, this demonstrates the principles of reduced wheel rotations better.The results of this experiment are shown in Fig. 12.Here, over a time-interval of similar length, the rotations of the wheel sets are shown when the velocity scaling is applied and when this scaling is not applied.For the velocity scaling, the parameters   and   are related to the deviation from the target from which this target is considered W. Houtman et al.Fig. 10.Several control signals for the kinematic control approach as discussed in [17].The robot is driving in a rectangular pattern which consists of a forward movement, a lateral movement and a rotation of 180 [degrees] at the transition from the sideways movement to the forward movement.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)as being reached, namely 0.14 [m].As such, the parameters   and   are empirically determined and set to 0.25 and 1.4 times this distance respectively.This should guarantee that the decision to (partially) neglect the position error does not interfere with the other software components.For this task, it was chosen to reduce the positioning error in the forward direction of the robot, as this position is less relevant for the task of receiving a ball.The figure indicates there are significant less wheel rotations for the situations where this scaling principle is applied compared to the situation where it is not applied.As a result, the control effort is applied in the directions relevant for completing the task, as no control effort was spent in the forward-backward direction of the robot.
For the second part of this experiment, the dynamic example is demonstrated.During this test, two more robots were placed on the field and the task was given to continuously pass the ball to each other.The results are demonstrated in Fig. 13.Here, the velocity scaling being applied when receiving a pass is shown in the upper graph.For the velocity scaling, similar settings were chosen as for the previous experiment.The upper graph also indicates when the robot is in ball possession.The ball possession information is based on the position of the ball handling arms, as these are rotated towards the robot when in ball possession.The lower graph indicates the wheel orientations during this task.In this figure can be observed that during the task of receiving the pass the velocity scaling in the -direction is below 1.This means that the position error in the forward direction of the robot is partially neglected.This is valid, as the ball is moving towards the robot during this phase.As a result, the position error is not fully compensated, while the task is still successfully completed.Conceptually, the principle of reducing the control action in certain directions could be applied along the entire trajectory if the set of allowed deviations is taken into consideration when planning the trajectory around other objects on the soccer field.This would relax the control constraints even more as a tube of allowed deviations along multiple dimensions of the entire trajectory is created.However, the deviations which are allowed should then be explicitly taken into account in the trajectory planner as the requirements might change during the trajectory, especially in a highly dynamic environment such as a soccer field.When the robot should receive a pass for example, the reduction in the velocity error in -direction is valid when the system is positioned in the direction of the ball movement, not when the robot is moving towards this line.This requires significant updates in the trajectory planner and to explicitly determine the required accuracy in the skill-execution.
Next to the significant improvements in terms of the achieved velocity and acceleration for steerable wheeled systems, robustness of the system and methods were shown during the Portuguese Robotics Open 2019.During this tournament, the eight-wheeled platform made its debut using a preliminary version of the software described in this research.Video footage of this match can be found at the ROP-wiki 1 .

Conclusions
Within this research, a cascaded control architecture for systems composed of steerable wheels with a dual steer and drive functionality was proposed.On top of the robot's kinematic model, the control architecture is based on a non-parametric dynamical model.By separating the dynamics of the wheelsets and the platform, and considering the control allocation problem to take the friction between the wheels and the ground into consideration, the approach is scalable with respect to the number of wheel sets and gives a significant performance increase with respect to existing steerable wheeled systems.
Concretely, based on Table 3, compared to a kinematic approach as typically applied on these type of systems, improvement-factors of 2.3 and 1.8 were achieved in terms of the translational and the rotational velocity respectively, while for the translational and rotational accelerations, improvement-factors of 2.7 and 3.2 were achieved respectively.For the soccer application, agility is maintained by prioritizing the control actions in the directions which require a high positioning accuracy for successfully executing the task.The fast reorientation of the wheel sets allows to consider the platform as near-holonomic from a strategic soccer perspective.
In the near future we will investigate the inclusion of wheels with a small caster offset for backdrivability which potentially would offer safety and handling benefits.Despite these possibilities, the robustness of our approach was demonstrated on an eight-wheeled robot playing soccer autonomously in a competitive match.

Fig. 1 .
Fig. 1.The realization of the eight-wheeled platform with four suspended wheel combinations which are able to rotate around its center hinge.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 2 .
Fig. 2. Graphical representation and conventions of the eight-wheeled robot.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 4 .Fig. 5 .
Fig. 4. Bodeplots of the FRF measurements and the OL response of the system and its components.P indicates the plant response, OL indicates the open loop response.The dynamics are discussed in Section 3.4 and the controller design is discussed in Section 4.4.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 6 .Fig. 7 .
Fig. 6.Inner loop of the control architecture of Fig. 5 elaborating on the platform velocity control architecture.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 8 .
Fig. 8. Visualization of the signals relevant for the platform control.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 9 .
Fig. 9. Overview of the experiments carried out at the RoboCup practice field of Tech United Eindhoven.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 11 .
Fig. 11.Several control signals for the dynamic control approach as discussed in this work.The robot is driving in a rectangular pattern which consists of a forward movement, a lateral movement and a rotation of 180 [degrees] at the transition from the sideways movement to the forward movement.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Fig. 12 .Fig. 13 .
Fig. 12. Rotations of the wheel sets during a positioning task relative to the ball.(For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.)

Table 1
Overview of control strategies and the validation for steerable wheeled mobile systems.Performance is considered in the velocity and acceleration achieved.

Table 2
Parameters of the wheel sets and the robot.

Table 3
Overview of settings during the experiments.