{'fraction_non_alphanumeric': 0.02572331143759715, 'fraction_numerical': 0.009878152735295593, 'mean_word_length': 4.897102306327617, 'pattern_counts': {'":': 0, '<': 0, '<?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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Bruce -- Design and Development of a Dynamic Hexapod Robot

This paper introduces Bruce, the CSIRO Dynamic Hexapod Robot capable of autonomous, dynamic locomotion over difficult terrain. This robot is built around Apptronik linear series elastic actuators, and went from design to deployment in under a year by using approximately 80\% 3D printed structural (joints and link) parts. The robot has so far demonstrated rough terrain traversal over grass, rocks and rubble at 0.3m/s, and flat-ground speeds up to 0.5m/s. This was achieved with a simple controller, inspired by RHex, with a central pattern generator, task-frame impedance control for individual legs and no foot contact detection. The robot is designed to move at up to 1.0m/s on flat ground with appropriate control, and was deployed into the the DARPA SubT Challenge Tunnel circuit event in August 2019.


I. INTRODUCTION
Multi-legged robots have the advantage over wheeled and tracked counterparts when traversing rough and unstructured terrain. Subterranean environments such as manmade tunnels, underground urban infrastructure and natural caves are examples of environments where the versatility of legged systems can be exploited for gaining rapid situational awareness through exploration. Existing robot research platforms have focused on quadruped locomotion, such as ANYmal [1], HyQ2Max [2], TITAN-XIII [3] and MIT Cheetah 3 [4]. The design focus of quadruped robots have been for fast, dynamic locomotion (primarily on flat terrain) with increasing robustness against disturbances and uneven terrain. On the other hand, hexapod robots such as LAURON V [5], MAX [6], RHex [7] and Snake Monster [8] have focused on rough terrain locomotion as they are inherently more stable over rough terrain with a wider support polygon, lower centre of gravity, larger locomotion workspace and statically stable, fast gaits. Hexapod robots trade-off stability and speed in rough, unstable and slippery terrain for additional hardware complexity and weight compared to quadruped robots. In reality, environments contain a mix of flat and rough terrains, thus a robot platform capable of fast dynamic locomotion on flat terrain and fast stable locomotion on rough terrain would be ideal for time critical applications. this paradigm. Bruce was originally intended to compete in the DARPA Subterranean Challenge, wherein it would be required to rapidly and autonomously explore an unknown subterranean environment composed of man-made and natural terrain formations. This paper focuses on the unique design using linear series elastic actuators (SEAs) [9] and the control strategy employed to achieve robust locomotion. The rest of the paper presents the design philosophy and system overview of both hardware design and control strategy used in Bruce. The design overview is given in Section II. Section III presents the hardware design of the robot while the software components are described in Section IV. The robot's performance is evaluated in Section V and Section VI concludes the paper.

II. DESIGN OVERVIEW
A hexapod robot design allows for its centre of mass (CoM) to be within its large support polygon while using the statically stable, fast tripod gait. This gait is also favoured by insects when traversing 3D terrain [10]. However, compared to quadruped robots, where multiple platforms are able to achieve speeds greater than 1 ms −1 [1], [11], [3], [4], [12], [13], [2], hexapod robots have not been able to travel at this speed, with the exception of RHex [14], [15], a six degree of freedom (DOF) hexapod robot with compliant legs.
Bruce was designed to have: most of its mass in the single central body, very light legs, and high bandwidth task frame impedance for each leg. This enables the system to respond similar to the corresponding spring-loaded inverted pendulum (SLIP) model, which has been shown to be a good representation for the dynamics of most legged robots and animals, including hexapods [15]. Thus, mimicking hexapods in nature, Bruce achieves locomotion through tuned leg impedance feedback combined with an open loop gait engine akin to a central pattern generator (CPG). This approach was shown on RHex [7] to lead to dynamic stability at higher speeds and allow traversing rough terrain without explicit detection of foot-ground contact. Bruce expands this idea to a three degree of freedom leg, requiring both passive and active software controlled impedance control to gain compliance.

A. Morphology Requirements
The performance requirements for the robot to be successful in the SubT Challenge governed many aspects of the robot's morphology. Rectilinear configuration of the legs was chosen to increase the available forward velocity by expanding the foot tip workspaces in the forward-aft direction. The total body length was limited to allow for reconfiguration of its footprint to strafe through 0.8 m openings or stairwells. This resulted in the pivot points of the coxa joints being placed 0.3 m apart and the foot tip workspaces to be 0.5 m long, giving a 0.1 m safety buffer to avoid leg collisions. Link lengths, and required joint velocities and torques were optimised in simulation to determine the final dimensions of the legs that achieved the target body velocity of 1.0 ms −1 . The dimensions of the robot are shown in Figure 2 and Figure 3, with all technical specifications outlined in Table I.

B. Actuator Selection
Actuator selection is a critical component of designing a new system. Based on the above design requirements and the pursuit of a control strategy with active dynamics, an actuator with accurate force control was required. In order to assess the control requirements for the actuators, an initial kinematic model was developed in simulation using OpenSHC and Gazebo [16]. This simulation provided an initial estimate of the required torques and velocities for each joint. Based on these requirements, quasi-direct-drive (QDD) and series elastic actuators (SEAs) were identified as the most suitable for use in the hexapod system.
QDD actuators typically feature a high powered brushed or brushless DC motor mated with a low reduction transmission, typically 5-15:1 reduction. This allows the actuator to achieve the required torque while sensing the motor current for direct force control. Most dynamic legged platforms in this size class employ QDD solutions, including MIT Cheetah 3 [4], Ghost Vision 60 [11], Laikago Pro [12] and Boston Dynamics' Spot [13]. SEAs instead operate by placing a passive spring element in series with the output of the actuator [18]. Accurate force control is measured through the spring deflection, allowing for high transmission ratios whilst maintaining force control. Because the spring is an energy absorbing element, SEAs can deal with large impulses passively, such as those that occur during legged locomotion. Examples of robots using SEAs include ANYmal [1] and the HEBI Robotics hexapods [8], [19].
The Apptronik P170 Orion actuator, based on Paine's work in [9] and shown in Figure 4, is a high performance linear SEA with specifications shown in Table II. When   TABLE I    linear SEAs are arranged in a four bar linkage to create a rotary output, the joint space performance can be modified by setting the length of the lever arm in the output linkage. For Bruce, the joints have theoretical performance as shown in Table III. The drawback of linear SEAs however, is twofold; limited range of motion and non-linear joint performance. However, based on prior knowledge of hexapod design [6], [20], a limited range of motion does not hinder walking performance. This is because for the specific morphology chosen, most joint actuation takes place within a limited available workspace. The non-linearity of output torque and speed reduces performance towards the joint limits, however simulation results show the requirements during stable walking are within the performance envelope of the joint.
After all these technical considerations, commercial availability, lead time, cost, and the available development time, the Apptronik P170 Orion actuators were selected for all 18 joints of the robot.

C. Mechanical and Physical Design
The core requirement of 3D printing the majority of the robot's structure enabled rapid hardware testing and iterations. The flexibility of 3D printing led to the control of the internal density of components in order to reduce mass while maintaining strength in high stress areas shown in Figure 5. A fast fail paradigm was adopted to iterate on leg revision and actuator configurations. Actuator lever length adjustments were updated during testing to improve the available torque in the femur joint as the expected mass of the system increased as the project matured. Each leg has identically constructed femur and tibia links. The build differs for the coxa links and attachment method to the robot's body due to mirroring two of the coxa configurations in order to package their actuators below the body. Systems related hardware is mounted internally inside the carbon fibre

D. Computer Systems Architecture and Interfacing
The Apptronik P170 Orion actuators are controlled via Apptronik's Axon Series actuator control boards. These 18 boards are arranged in an EtherCAT loop that communicates with an Intel NUC computer running the control software. The computer is configured with a RT-PREEMPT patched kernel for real-time preempt-ability, allowing the control stack and EtherCAT communications to run at 800 Hz. To achieve tight time-synchronisation and high data exchange rates required for control, the software modules run inside the Robot Operating System (ROS) nodelet framework with a zero-copy shared memory interface. Apptronik provides an implementation of this framework for synchronising control Fig. 7.
High-level Software Architecture. The rectangular blocks are modules while the curved blocks describe the data types. Due to the high CPU usage from the real-time control of the hexapod, a second computer is used in parallel for high level autonomy tasks. There is also a second onboard NUC designated for running additional navigation software as required by the mission.

E. Sensor Payload
Optional sensor payloads can be mounted at the front of the robot. For the results presented in this paper, a selfcontained perception payload performing SLAM was used to provide localisation to the on-board autonomy computer for mission planning. The interface between the autonomy computer and the robot platform is a velocity twist message. Figure 6 shows the computation load distribution of Bruce with the autonomy and control computers. Other sensor payloads up to 5 kg can be mounted depending on the application.

IV. SOFTWARE ARCHITECTURE AND CONTROL STRATEGY
The control strategy of the robot relies on a feed-forward CPG to provide walking patterns, with an underlying taskframe impedance control for each leg to keep the robot stable. During nominal walking, Bruce keeps its CoM within its support polygon over a wide range of speeds, but will become statically unstable as it approaches its fastest design speed of 1.0 ms −1 . For lower speed traversal over rough ground (e.g. at 0.3 ms −1 ), Bruce's primary feedback control mechanism is independent task-frame impedance control of the legs, and tracking the foot position from the CPG. To minimise impedance gains, additional feed-forward inverse dynamic torque setpoints are added to support Bruce's weight and compensate for fast accelerations. This control strategy is implemented through the CSIRO legged locomotion libraries known as 'LegGO', a suite of control libraries for multilegged systems. The libraries are split into two layers. Firstly, the Locomotion Engine takes in target velocities and outputs foot tip trajectories. Secondly, the Tip Controller takes in commanded foot tip states and outputs joint commands. A basic software flow diagram of the LegGO stack is presented in Figure 7.

A. Locomotion Engine
The Locomotion Engine is an advanced central pattern generator that implements the highest level of control over the locomotion and behaviour of Bruce. For general locomotion, it is split into two separate modules: 1) Gait Generator: This generates a combination of signals for any custom designed gait and a commanded step frequency. The generated gait signal consists of two primary components: the stance and swing signals for the 'on-ground' and 'in-air' components of the step cycle respectively. The swing signal is further split into three sub-signals: 'liftoff', 'midswing' and 'touchdown' for the associated components of the swing section of the step cycle. These three swing sub-signals and the stance signal feed directly into the four Bézier curve functions within the Trajectory Engine module.
2) Trajectory Engine: This executes the generation of leg tip trajectory commands, and for each leg consists of four linked 4 th order Bézier curve functions for a total of 20 control points per leg trajectory. Each Bézier curve respectively handles trajectory generation for the stance, liftoff, mid-swing and touchdown sections of the full stepcycle. The control points of the four Bézier curves are calculated to ensure C 2 smooth trajectory generation over the entire step cycle whilst achieving the required tip velocity for a commanded body velocity and required touchdown tip positions for commanded foothold locations.

B. Tip Controller
The Tip Controller performs two functions: tracking of tip trajectories via inverse kinematics, inverse dynamics and impedance control; and management of stance forces for stable walking. The Tip Controller consists of the following modules: 1) Stance Force Solver: This determines the amount of force required at each foot in contact with the ground to maintain a stable stance. This is achieved through assuming a simplified CoM at the centre of the body and then solving the linear system of stance forces using a damped least-squares regression method. These contact forces are converted into feed-forward torques then passed directly to the actuators.
2) Inverse Kinematics: This (IK) takes in the desired tip positions and velocities from the Trajectory Engine and calculates the desired joint position and velocities to be fed to the Inverse Dynamics (ID) engine. Both the IK and ID engine make use of the Rigid Body Dynamics Library (RBDL) [21], a software library with kinematic and dynamic algorithms for controlling dynamic rigid-body systems.
3) Inverse Dynamics: The ID engine takes in desired joint position, velocity and acceleration to calculate the required joint torques using RBDL algorithms. 4) Task Frame Impedance: This runs at the leg level to control the compliance around the tip at the desired setpoint. A diagram of the model is shown in Figure 8, where X anḋ X are the tip setpoint position and velocity, q andq are the joint position and velocity, F is force, t is torque, J T is the Jacobian transpose and K p , K v are the impedance model proportional and derivative gains respectively.

A. Simulation Based Testing
Simulation of the robot was developed using the Gazebo environment integrated into ROS Melodic [22]. A kinematic simulation was initially used to assess the morphology of the hexapod. For dynamic simulation of the control strategy, the Gazebo ROS Control libraries [23] was utilised. The simulation model, shown in Figure 10 of heavy design iterations. To validate the actuator requirements, the theoretical achievable torque limits of the joints were overlaid with joint torques generated during a walk cycle of the simulation model, similar to Figure 9. The CPG and impedance control approach described in Section IV was tested extensively in simulation before being transferred to hardware.

B. Field Experiments
The robot was run in a tripod gait for 20 m at a commanded 0.5 ms −1 in a controlled test environment. These runs were repeated 5 times. Tip tracking performance for this data is presented in Figure 11(c). Qualification for the DARPA SubT Challenge required the robot to navigate a 25 m course consisting of rock, dirt and grass terrain. Bruce successfully completed the qualification task and is pictured on the rock portion of the course in Figure 10(b).
The robot was also deployed during the Tunnel Circuit event of the DARPA SubT Challenge in Pittsburgh, PA in August 2019. The robot's walking capability in the field was demonstrated by being deployed into the tunnel at a speed of 0.3 ms −1 . The tip trajectory tracking data during walking is presented in Figure 11

C. Analysis
The experiments demonstrate walking in a tripod gait at 0.5 ms −1 . The required torque during regular operation for each of the joints nominally stays below the continuous torque value for the joints, as shown in Figure 9. The exception to this is the femur joint, which peaks above the continuous torque rating during stance. However, this value falls within the peak torque limit for the joint. Thus, the walking data supports the designed performance for each of the joints. Using the on-board SLAM payload and Lidar + IMU EKF pose filter, the pose of the body over time  was calculated. The height of the body deviated on average 0.02-0.03 m peak-to-peak during a gait cycle, shown in Figure 12, indicating the feed forward models were adequate at compensating for the robot's mass, even without foot contact detection. The velocity tracking performance of the robot, as determined by the SLAM solution, is shown in Figure 13.
Kinematically, the robot is capable of speeds up to 1.4 ms −1 in tripod gait. In tests however, the robot did not demonstrate stable locomotion above 0.5 ms −1 . A number of factors prevented the robot from reaching its top speed. Tip trajectory tracking performance was degraded at high step frequencies, due to a relatively low task frame impedance and inaccurate dynamic modelling of the legs. Since the robot is primarily controlled by the CPG, any degradation in tip trajectory tracking reduces system performance. Velocity tracking performance relies upon the task frame impedance, with Figure 13 showing the robot does not track the desired 0.5 ms −1 velocity and exhibits large oscillations due to the 0.75Hz Step Frequency 1.00Hz Step Frequency relatively low stiffness of the legs. The desired step frequency from the CPG and its interaction with the leg impedances can excite instabilities in the system. In this case, a 0.75 Hz step frequency in tripod gait experiences a resonance with the leg impedances and produces large lateral oscillations during walking, as compared with a 1.0 Hz step frequency, shown in Figure 14.

VI. CONCLUSIONS AND FUTURE WORK
We presented the development and underlying design decisions for Bruce, the CSIRO Dynamic Hexapod Robot designed for dynamic locomotion over rough terrain. Built using linear series elastic actuators, the robot has demonstrated locomotion up to 0.5 ms −1 . Using a central pattern generator and task-frame impedance control for individual legs, the control paradigm performs adequately at slow speeds across rough terrain. It is desired to have a low impedance stiffness to gain better disturbance rejection and leg compliance in rough terrain environments. However, when the desired body velocity and step frequency is increased, the tracking performance degrades and the individual task-frame impedance control for each individual leg interacts with each other in an undesirable way. In order to achieve the dual objectives of high leg compliance and stable body locomotion, additional control strategies are required. Future work will focus on providing higher level feedback around the body pose in order to provide more stable walking and improve velocity tracking without the need for higher leg stiffness. To achieve this, it is expected both robust touchdown detection and state estimation will be required.