{'fraction_non_alphanumeric': 0.026333586947332826, 'fraction_numerical': 0.010313635979372729, 'mean_word_length': 4.4804262219133655, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Dynamics and Aerial Attitude Control for Rapid Emergency Deployment of the Agile Ground Robot AGRO

In this work we present a Four-Wheeled Independent Drive and Steering (4WIDS) robot named AGRO and a method of controlling its orientation while airborne using wheel reaction torques. This is the first documented use of independently steerable wheels to both drive on the ground and achieve aerial attitude control when thrown. Inspired by a cat's self-righting reflex, this capability was developed to allow emergency response personnel to rapidly deploy AGRO by throwing it over walls and fences or through windows without the risk of it landing upside down. It also allows AGRO to drive off of ledges and ensure it lands on all four wheels. We have demonstrated a successful thrown deployment of AGRO. A novel parametrization and singularity analysis of 4WIDS kinematics reveals independent yaw authority with simultaneous adjustment of the ratio between roll and pitch authority. Simple PD controllers allow for stabilization of roll, pitch, and yaw. These controllers were tested in a simulation using derived dynamic equations of motion, then implemented on the AGRO prototype. An experiment comparing a controlled and non-controlled fall was conducted in which AGRO was dropped from a height of 0.85 m with an initial roll and pitch angle of 16 degrees and -23 degrees respectively. With the controller enabled, AGRO can use the reaction torque from its wheels to stabilize its orientation within 402 milliseconds.


I. INTRODUCTION
The ubiquitous and rapid deployment of robots alongside or instead of humans during emergency and disaster situations has long been a goal of the global robotics research community [1]. The DARPA Robotics Challenge catalyzed the research and development of humanoid and human-sized rescue robots and the algorithms to control and operate them reliably [2], but disaster robots that move with wheels and treads see the most adoption, with the successful deployment of the Colossus robot to help combat the 2019 Notré Dame fire being a recent highlight [3]. Wheels or treads provide robots the means of quickly, efficiently, and reliably traversing flat land and driving over some small obstacles. Most wheeled robots, however, are designed with either skid-steer [4] or Ackerman [5] steering geometries that limit their mobility, and are easily blocked by stairs, curbs, ditches, and other obstacles depending on their design. These robots can tip onto their side or back when pushed beyond their physical limits, requiring operator intervention if not equipped with a self-righting mechanism [6]. On the other hand, legged robots can move omnidirectionally and traverse such obstacles either by stepping over them or jumping and landing, but commercial offerings still lack the speed, efficiency, and reliability of their wheeled counterparts.
AGRO is a novel Agile Ground RObot that aims to combine the best attributes of both legged and wheeled platforms in its design to be highly maneuverable and rapidly deployable in emergency situations (See Fig. 1). The AGRO prototype has a Four-Wheel Independent Drive and Steering (4WIDS) architecture similar to that of ODV9 [7] and AZIMUT [8] that enables it to maneuver quasiomnidirectionally on the ground. This wheel architecture also allows AGRO the novel capability of controlling its orientation in the air and landing on its "feet" like a cat. A cat twists its body and legs while conserving angular momentum to reorient itself (first documented by Marey in 1894 [9] and then demonstrated on a twisting robot [10]). AGRO instead uses the reaction torques from its in-wheel hub motors to control its base orientation mid-air, land upright, and distribute the force of impact evenly to all four wheels. This is an important capability because it allows AGRO to be rapidly and reliably deployed by emergency response personnel by being thrown over walls and fences, or through windows without the risk of landing upside-down.
While this is the first documented use of multiple independently steerable wheels to both drive on the ground and achieve aerial attitude control for a throwable robot, the use of reaction torque to control orientation has been studied extensively, perhaps most for the control of spacecraft and satellite orientation using flywheels [11]. A variety of legged robots have been demonstrated controlling their balance and orientation using a tail [12] [13], and an independent flywheel [14] [15]. In the sport of motocross, drivers manually control the orientation of their motorcycles to perform tricks and safely land from jumps by accelerating or braking their rear wheel [16].
In this work, we enable the rapid deployment and aerial attitude control of robots with independently steerable and driven wheels by throwing. We analyze and demonstrate the use of wheel reaction torque for dynamic attitude control of a class of 4WIDS robots and implement a simple pitch and roll controller on the AGRO prototype.
The Agile Ground Robot concept and hardware design are discussed in Section II. In Section III the affect of kinematics on attitude control authority are analyzed and the dynamic equations of motion of the airborne robot are derived. A control strategy for stabilizing aerial attitude is described and simulated in Section IV. This control strategy is demonstrated on the robot prototype in Section V and compared to uncontrolled motion. Section VI provides a conclusion and outlines future work to be conducted.

A. Agile Emergency Responder Concept
AGRO was designed out of a need for agile, easy-to-use, reliable, and relatively inexpensive ground robot platforms that could maneuver both indoors and in outdoor urban and off-road environments while carrying out teleoperated or autonomous inspection and response missions. For example, such a robot could be equipped with a mapping and radiation detection sensor and driven outside a compound or inside a contaminated building to generate a map with radiation hotspots identified. This map can then provide emergency responders the information they need to plan safe movements and reduce their risk of injury. A similar system could be used to respond to a chemical spill or a fire.
If entryways to the disaster location are locked, blocked by debris, or otherwise barred, AGRO can be deployed by being thrown. For example, from a firefighting ladder truck, AGRO can be thrown through a window into a burning building, or over a wall into a nuclear facility. The ability to reliably and repeatably land on its wheels is critical for the continuation of the mission.

B. Robot Hardware Design Overview
The AGRO prototype (See Fig. 2) incorporates 4 steering and drive modules. Each module consists of one "Hoverboard" in-wheel hub motor for drive and a Hitec HS-1000SGT servo motor for steering attached to each wheel through custom mounting brackets. The front pair and rear pair of motors are each driven by an ODrive two-channel brushless motor controller. Two Turnigy 6s 16Ah Lithium Polymer batteries connected in series supply 44.4V for motor drive. A DROK DCDC converter provides 12V at 15A peak to power the four servo motors. The drive system allows AGRO to achieve a top speed of 11.4 m/s (40.9 km/h or 25.4 mph), enabling rapid movement from building-to-building.
The structure is made from 80/20 t-slotted aluminum extrusion and custom waterjet aluminum brackets. The batteries are cradled in the center of the chassis for close proximity to the center of mass. A Redshift Labs UM7 Orientation Sensor is mounted below the main base, also near the center of mass, and measures the base orientation in Euler angles, the base angular velocity, and the base accelerations. The ODrives are mounted to the chassis using 3D printed components and are located between each pair of wheels for ease of motor cable management. A carry handle is mounted on the chassis to facilitate deployment.
On the "tail pillar" sits an Mbed Nucleo F446RE microcontroller which performs all control calculations for this system. A SparkFun Logomatic v2 microSD card read/write module is connected to the Mbed for internal logging. An FrSky R-XSR RC radio receiver is also mounted on this "tail pillar" and accepts commands from an FrSky Taranis QX7 transmitter. A Hella Master Power Switch is used to switch main battery power. Power wiring is facilitated by terminal blocks mounted on the left side of the chassis. The entire prototype robot has a mass of 23.59 kg (52 lbs).

III. KINEMATIC AND DYNAMIC ANALYSIS
New to this application is the aerial phase of motion in which both the motor wheel reaction torques and the reaction forces of steering can affect the orientation of the robot base. We will investigate how the kinematic configuration affects aerial attitude control authority, then derive dynamic equations of motion.
The model consists of a rigid body B representing the base of the robot and its fixed components (See Fig. 3). Point B represents the fixed center of mass of the base. Four wheels, also modelled as rigid bodies, connect to B via massless linkages at steering points S i , which fix each respective wheel to the base. Points W i account for the mass centers of each wheel. All mass centers are assumed to be coplanar. A right-handed, orthogonal, and unitary vector basisB xyz is fixed to base B and the vector basesŴ xyz,i are fixed to each respective wheel. Steering angle displacement δ i is measured deviation from the forward driving direction, with δ i = ∠B xŜxi for i = 1, 4 and δ i = ∠B xŜxi − π for i = 2, 3. Unit VectorsX,Ŷ , andẐ are fixed in the Newtonian frame O.

A. Kinematics Parametrization, Singularity Analysis, and its Affect on Aerial Orientation Manipulability
While airborne, we command symmetric movement of the front right and rear left wheels (δ 1 = δ 3 ) and the front left and rear right wheels (δ 2 = δ 4 ). This allows us to consider only two axes about which wheel reaction torque may be generated instead of four. We then divide the steering motion of these wheel pairs into two main coordinated submovements: one submovement α during which the two pairs of wheels move in opposing directions, and another submovement β during which the two pairs of wheels move in the same direction.
Let us define the first opposing-direction submovement α as and the second same-direction submovement β as where To visualize these submovements, consider the configurations shown in Fig. 4. Applying the symmetric submovement α = π 4 to the neutral configuration shown in Fig. 4-a leads to the configuration shown in Fig. 4-b. Applying the asymmetric submovement β = − π 4 to the neutral configuration shown in Fig. 4-a leads to the configuration shown in Fig. 4c. The superposition of these two movements leads to the configuration shown in Fig. 4-d.
The coordinated submovements α and β affect the dynamics of the robot travelling through the air in different ways. First, coordinated motion of the wheels along submovement α leads to zero net torque applied to the base along thê B z axis, and no yaw motion is observed. On the other hand, coordinated motion of the wheels along submovement β lead to a net torque applied to the base along theB z axis, and yaw motion of the base opposite the direction of wheel motion is observed in accordance with conservation of angular momentum. If α = π 4 , adjusting β can be used to control the base yaw orientation with minimal effect on the roll and pitch or the ratio of roll and pitch authority.
The second effect of coordinated submovements α and β on the airborne robot is to adjust the ratio and direction of orthogonal attitude control authority. Let the net roll torque on the base from the wheels aboutB x be τ x and net pitching torque on the base aboutB y be τ y . The net torque about the first control authority axisB x is τ x and net torque about the second control authority axisB y is τ y . The angle ofB x relative toB x is β. This leads to the following expressions for net base torque.
If β = 0, these orthogonalB x andB y axes lie along the baseB x andB y axes, and are the roll and pitch of the base, respectively. Adjusting β rotates theB x andB y axes about which the orientation control authority ratio may be adjusted.
Assuming α and β are constant (and thus no forces result from inertial effects on the wheel), the magnitudes of τ x and τ y are determined by α and the individual wheel torques τ i aboutŴ yi .
Assuming symmetric application of torque (τ 1 = −τ 3 and τ 2 = −τ 4 ) and combining (6), (7), (8), and (9) leads to where the configuration-dependent Jacobian J τ between individual wheel torques and base pitch and roll torque is The eigenvalues λ x and λ y of J τ correspond with the authority over rotation about theB x axis andB y axis, respectively. While the isotropic configuration of [α = π 4 , β = 0] is shown in Fig. 4-b, parameter α may be adjusted to provide more control authority over either theB x orB y axis. The determinant of J τ det J τ = sin(2α) provides insight into singular configurations in which rotational authority about either theB x orB y axis becomes 0. Parameter α alone dictates relative control authority, with α = ±π/4 being isotropic configurations in which λ x = λ y , and α = 0, ±π/2 being singular configurations in which λ x or λ y become 0. The Jacobian eigenvalue ellipsoid (manipulability ellipsoid) collapses along one axis at these singular configurations. See Fig. 4 for a visualization. For example, [α = 0, β = 0] (wheels driving forward/back) provides full authority over the pitch and none over the roll, while [α = π 2 , β = 0] (wheels driving left/right) provides full authority over roll and none over the pitch.
Incorporating the net steering torques of β motion by assuming all steering joints apply the same torque τ δ gives the full expression where the configuration-dependent Jacobian J τ between individual wheel and steering torques and the instantaneous base roll, pitch, and yaw torques is By combining coordinated motion α and β with the reaction torque from spinning the wheels, the orientation of AGRO while in the air can be controlled, assuming no steering angle or wheel velocity limits are reached.

B. Dynamics of an Airborne 4WIDS Robot
Before designing the base orientation controller, the dynamic equations of the system must be obtained. These dynamics will enable the system to be simulated and the controller to be designed and tested before being implemented on the prototype. Gravity acts on the base of the robot at B and the four attached steerable offset wheels impart reaction torques τ Bi and forces F Bi on the base at points S i (See Fig. 5). Taking the Newton-Euler equation for angular momentum for the base about its mass center, we get where the angular momentum of the base is The four steering axes are located symmetrically about B as follows leading to the following angular momentum equation for the base: Resultant reaction forces F Bi can be solved for using the linear momentum equation for the wheels.
For tractability, we assume a nonmoving steering angle (δ constant,δ =δ = 0). The displacement, velocity, and acceleration of the wheel in the Newtonian frame are then and Combining (18) and (19) gives Note that moments due to gravity and base acceleration cancel out due to symmetry. Torque on the wheel τ Bi can be broken down as the wheel torque input τ i , the steering joint torque τ δi and one reaction torque τ x .
Because δ 1 = δ 3 , τ 1 = −τ 3 , δ 2 = δ 4 , τ 2 = −τ 4 , and assuming all τ δi are equal we can simplify using (13) where the reflection of wheel masses to the overall inertia of the base is and and the matrix converting wheel reaction torques τ xi to thê B xyz frame is The scalar wheel reaction torque component τ xi can be found by taking the Newton-Euler equation for angular momentum for a single general wheel i about its center of mass and dotting withŴ ix Combining equations (27) through (33) yields scalar equations of motion for the base in terms of the reaction forces and torques. For tractability, these equations assume that gravity is aligned in theB z and again that the derivatives of δ i are zero.
Equation of motion about theB x axis: Equation of motion about theB y axis: (J Byy + J m W yy + 2J W xx (sin δ 1 + sin δ 2 ))Ω y Equation of motion about theB z axis: where J W xx is the component of [J W ] alongŴ ix .

IV. ANALYSIS AND SIMULATION OF AERIAL ATTITUDE CONTROL
We now aim to control the orientation of the robot base q using the wheel torques τ i and net steering torque τ δ . During operation, AGRO automatically detects freefall and enables the attitude controller. To do this, AGRO runs a finite state machine that gives the operator command over the vehicle translation and rotation when on the ground. The on-board accelerometer detects the gravitational acceleration vector of magnitude 1 g (9.8 m/s 2 ). When the accelerometer detects no acceleration, it considers itself to be in freefall, takes command away from the user, and changes to the free-falling orientation control state.
While in the freefall state, AGRO immediately sets α = 45 • (shown in Fig. 4-b) to equalize authority over both pitch and roll. While α can be tuned proportionally to the demand of pitch vs roll, we do not implement this functionality in this work. In this configuration, AGRO can use its wheel torques τ i and net steering torques τ δi in coordination to generate net moments about its base and regulate its orientation.
Let the small deviation of the base orientation q from desired equilibrium q desired be q = ϕ θ ψ T (37) Equations (34), (35), and (36) can be linearized about the equilibrium δ 1 = π/4, δ 2 = −π/4, Ω x = Ω y = Ω z = 0 to produce decoupled linear equations of motion for control design: which, when combined with (13), give transfer functions in terms of q These systems can be stabilized with simple PD controllers using the following feedback control law where K P and K D are the symmetric positive definite proportional and derivative gain matrices. Because we consider the linear decoupled systems, these matrices are also diagonal. The commanded wheel torques τ i and steering torques τ δi can be derived from the torques τ x , τ y , and τ z in the B frame by inverting (13), assuming the robot does not take a singular configuration, leading to the following control law Note that we are assuming symmetric application of torque (τ 1 = −τ 3 and τ 2 = −τ 4 ) and that all wheels apply equal steering torque τ δ . See Fig. 6 for a block diagram of the entire control system. To tune the controller, the nonlinear dynamics of AGRO falling and reacting to the wheel torques were simulated using an ODE solver. The mass and inertia properties in the simulated robot match those of the AGRO prototype.
A test case shown in shown in Fig. 7 and Fig. 8 involves the robot driving off of a 1.2 meter ledge at a forward velocity of 2.5 m/s and given an angle disturbance in the form of an initial angle condition of φ = −25 • and θ = 25 • . The yaw controller was disabled by tuning its proportional and derivative gain parameters to 0, and the pitch and roll controllers each have a proportional gain of 75 Nm/rad and a derivative gain of 12 Nms/rad. The simulated robot reaches the desired zero angle before impact at 498 milliseconds.

V. EXPERIMENTAL VALIDATION OF AERIAL ATTITUDE CONTROL A. Experiment Setup
An experiment was designed to evaluate the roll and pitch control of AGRO as it fell to the ground. A comparison was made between a fall utilizing the controller to stabilize the base and a fall with no control enabled. As shown in Fig.  9-a.1 and Fig. 9-b.1, the AGRO prototype was suspended from a tether on a cantilever beam with initial conditions of roll, pitch, and free-fall height. Because AGRO currently lacks a suspension to mitigate impact, a foam landing pad was placed underneath. The robot tether was released from the end of the cantilever beam to begin freefall.
The free-fall height was set to h = 0.85 m to prevent damage to the robot during the uncontrolled fall while providing the controlled fall 0.416 seconds to stabilize before impact. The initial roll and pitch angles were 16 • and −23 • , respectively. Prior to each trial, the robot was configured with the same initial conditions. For this experiment, the yaw controller was disabled by tuning its proportional and derivative gain parameters to 0. The pitch and roll controllers each have a proportional gain of 75 Nm/rad and a derivative gain of 12 Nms/rad, just like the simulation. Fig. 10 shows the results of the experiment comparing a controlled (green) fall and a non-controlled (red) fall. The controlled and non-controlled robots have nearly identical initial pitch and roll angles before freefall (t < 0) and when the fall starts (t = 0).

B. Results and Discussion
At the time before impact (t = 402 milliseconds), the controlled (green) roll angle is within 10% of its initial After impacting the landing pad, the robot with attitude control disabled (red) lands on its rear-right wheel (Wheel 3), which causes an impact acceleration of 5 g on the body. This causes the impacting wheel to bounce back up, causing the whole robot to pitch forward and roll left before finally settling. On the other hand, the robot with attitude control enabled touches down on all four wheels simultaneously and only sees an acceleration of 4 g on its body, a 1 g improvement over the non-controlled case. Because the robot has angular velocity in the direction of overall rotation, the impact also imparts motion, causing a backward pitch and rightward roll before settling.
The robot lands on all four wheels during the controlled fall, but has a nonzero angular velocity, which imparts uneven force between the wheels, albeit not as significant as the force of landing on one wheel. During the first half of the fall, motors 2 and 4 are commanded to their maximum torque limits. Higher torque limits and control gains would decrease the settling time and allow the controlled robot to stabilize its orientation and angular velocity before impact when dropped from this height. Fig. 10: Measured roll and pitch angles, angle velocity, base acceleration, and commanded base torque during a controlled (green) and non-controlled (red) fall from initial conditions.

VI. CONCLUSION AND FUTURE WORK
In this work we analyzed and demonstrated aerial attitude control using drive wheel reaction torques on AGRO, a Four-Wheeled Independent Drive and Steering (4WIDS) Agile Ground RObot which was designed for rapid deployment by emergency response personnel into unsafe areas by being thrown. By adjusting its steering angles, AGRO can adjust the ratio between pitch and roll authority. An experiment was conducted in which AGRO was dropped from a height of 0.85 meters from an initial angle offset both with and without the controller enabled. AGRO was able to stabilize its orientation, touch down on all four of its wheels, and reduce impact acceleration by 1 g.
Future work includes increasing the wheel torque and speed limits by operating at a higher voltage, which will allow for a greater total reaction impulse to be applied to the robot by the wheels. We will implement and test a strategy for adjusting the steering parameters to maximize control authority over the more critical axis of rotation, and take into account the gyroscopic dynamics that will emerge from the steering. AGRO 2 will incorporate an independent legged suspension allowing it to absorb landing impact forces and hop up stairs and curbs.