Raibert’s hopping robots [raibert1984experiments], and Boston Dynamic’s BigDog [raibert2008bigdog] are amongst the most successful examples of legged robots, as they can hop or trot robustly even in the presence of significant unplanned disturbances. Other than these successful examples, many bipedal and anthropomorphic robots have also been introduced [ramezani_atrias_2012, ramezani_performance_2014, buss_preliminary_2014, park_finite-state_2013, park_switching_2012, dangol_towards_2020, dangol2021hzd, de2020thruster]. Boston Dynamics’ dynamic humanoid, ATLAS, has pushed the limits of dynamic legged locomotion with its 28 hydraulically actuated joints. This robot has showcased impressive mobility feats, including jumping over obstacles and dynamic flip-turns.
Despite all of these accomplishments, state-of-the-art legged robots are prone to fall-over and cannot negotiate highly rough terrains when they face large obstacles. In nature, animals such as birds impressively showcase multiple modes of mobility including legged and aerial locomotion. Birds and other animals are known for their natural, efficient, and robust locomotion feats and can fly over larger walls, inside tight spaces, can recover from unpredictable situations such as severe external pushes, scuffing, or slippage on icy surfaces.
Inspired by animals multi-modal mobility, our main goal is to design and control legged robots that integrate two completely different forms of locomotion in a single platform. This paper will report our recent efforts in dynamic modeling and designing closed-loop feedback for the thruster-assisted locomotion of a quadrupedal legged robot called Northeastern University (NU) Husky Carbon, which is shown in Fig. 1. Currently, Husky Carbon’s hardware is being developed at NU. We have reported the successful legged locomotion of Husky in [sihite2021optimization, ramezani_generative_2021, sihite2021unilateral]. The flight tests and integration of legged and aerial mobility are ongoing at the time the report is being prepared. First, we briefly discuss the previous work done on the path planning of multi-modal robot and present a rough overview of Husky’s hardware.
I-a Multi-Modal Path Planning Past Work
In order to take full advantage of the multi-modal capacities of the Husky, it is necessary to develop a path planning optimization methods that can incorporate Husky’s multi-modal locomotion capability. Numerous researches have already been done on multi-modal robots which are either able to roll and fly such that the HyFDR [sharif_energy_2018][sharif2019new] and the Drivocopter [suh_optimal_2019] or to drive and navigate on water such that the Ambot [suh_optimal_2019]. Most of the methods developed in these articles use a uniform discretization of the space, and then the optimal path is found with the Dijkstra algorithm [suh_optimal_2019], or with the A [sharif_energy_2018][araki_multi-robot_2017]. Furthermore, in [suh_optimal_2019], an optimization technique based on a reduced model of the system is used to calculate the costs of the edges and then to smoother the final trajectory. Araki et al. [araki_multi-robot_2017] have coupled their path planning method to a prioritization algorithm allowing swarm operation with 20 flying cars. While in this article [sharif2019new], Sharif et al. have developed an algorithm to select the locomotion mode of the HyFDR robot allowing to optimize the transport cost during outdoor navigation with only a 2D map of the environment.
I-B Overview of Husky Carbon Platform
The design of Husky Carbon intends to achieve both quadrupedal mobility and multi-rotor flight within the same mechanical architecture. To this end, a propeller motor is attached to the outside of each knee joint, allowing the robot to morph into a quad-rotor configuration by extension of the hip frontal joints. There are three actuated degrees of freedom per leg: hip frontal flexion/extension, hip sagittal flexion/extension, and knee flexion/extension. To simplify the design for this initial prototype, off-shelf servomotors are used to actuate each joint in lieu of lighter, more specialized custom hardware. Extensive use of carbon fiber epoxy laminates fortify the airframe and leg bones, while 3D printed components with carbon fiber reinforcement serve as connecting members. The electronics are mounted on two vertical carbon fiber plates to yield a minimized Total Cost of Transport (TCoT) and payload[ramezani_generative_2021].
Ii Reduced-Order Model (ROM) Formulation
We developed a simulator using a reduced-order model (ROM) to simplify the trajectory tracking and cost calculations in the path search algorithm. This ROM assumes massless leg linkages and can be reduced down to a single body, 6 DOF dynamics. In this simplified model, each leg has 3 DOF to describe the foot position. These 3 DOF of leg are the hip frontal angle (), hip sagittal angles (), and leg length (), as illustrated in Fig. 2. This results in a total of 12 kinematics DOF and 6 dynamical DOF which is much simpler than the full dynamical model of the robot. The dynamical model can be derived using Euler-Lagrangian formulation.
Let be the dynamical states, where is the body center of mass (COM) inertial position and is the Euler angles for the transformation from body frame to the inertial frame. Let be the kinematic states of the virtual legs. The equation of motion for the dynamical system can simply be represented in the following form:
where is the inertial matrix, contains the gravitational and coriolis terms, and is the generalized ground reaction forces (GRF) and thruster forces of leg , respectively.
The forces acting on the dynamical body can be derived using virtual displacement to map the forces into the generalized coordinates . Let and be the foot and thrusters inertial positions of leg . The generalized forces of both the GRF and thrusters can be derived as follows:
where and are the GRF and thruster force defined in the inertial frame. The GRF can be derived using a compliant ground model and Stribeck friction model for the forces normal and along the ground surface, respectively. Assuming flat ground surface, let , , and be the inertial force components of . The GRF can be defined as follows:
where , , and are the dry, static, and viscous friction coefficients, respectively. The friction along the axis () follows a similar derivations to . Finally, the thruster force and torque can be defined as force and torque acting parallel to the hip sagittal axis.
Iii Low-level Locomotion Control, High-level Decision Making and Path Planning
Iii-a Reference-Governor (RG) Based Control of Legged Locomotion
Here, we assume a conventional flight control design which is skipped for brevity of this report. However, the optimality of the low-level legged locomotion control in terms of achieving feasible gaits is enforced within an RG-based framework. The RG framework is utilized to enforce the friction pyramid constraint in (3) by manipulating the applied reference into the kinematic states [dangol2020performance, liang2021rough, sihite_integrated_2021]. This method is very useful as it avoids using optimization frameworks to enforce locomotion feasibility constraints which as a result facilitates faster high-level decision making.
Let be the applied reference to which will be used instead of the pre-defined (nominal) references . Also, consider the GRF constraints as a nonlinear function of and ROM states denoted by . The RG algorithm manipulates the applied reference () to avoid violating the constraint equation while also be as close as possible to the desired reference (), as illustrated in Fig. 3. Consider the Lyapunov equation ; is updated through the update law:
where drives directly to , while and drives along the surface and into the boundary , respectively. The objective of this RG algorithm is to drive to the state which is the minimum energy solution that satisfies the constraint . We denote the rowspace of the violated constraints of by . We define where is the size of the nullspace. Then the following update law is used for the term in (4)
where are scalars defined as follows:
where is a positive scalar which determines the rate of convergence.
The robot follows the waypoints generated by the path planning algorithm using a simple state machine showed in Fig. 4. This state machine allows the robot to transform between the legged and aerial mobility by executing the transformation sequence whenever the waypoint switches the mode of locomotion (e.g., from legged to aerial, or vice versa). Then, the state machine provides the state references for the joints and flight controller to track.
The ground mobility controller follows a simple turning and forward walking speed tracking controller which are used in a similar fashion to a unicycle model. Given a waypoint, the robot will turn to face the target waypoint and walk forward until it reaches the destination. The aerial mobility controller follows a typical quadrotor flight controller scheme using two pairs of clockwise and counter-clockwise rotating propellers to generate the yaw moment and thrusts.
The transformation sequence follows a set routine done within a fixed time and rate. Transforming from legged to aerial mobility starts by raising the legs vertically upwards relative to the body, which effectively crouches the robot until the landing gear touches the floor, then followed by the hip joints rotation and leg length adjustment to the UAV configuration. The reverse of this sequence is used to transform the robot back to the legged mobility.
Iii-B High-level Decision Making and Path Planning
The objective of the path planning strategy is to minimize the total energy consumed by the robot by optimizing the choice of the locomotion mode. To achieve this goal, the environment is first discretized into a set of nodes each associated with a locomotion mode (walking or flying). The nodes are then connected by edges, and a cost is computed for each of them. Finally, an Aalgorithm is used to determine the optimal path defined by a set of waypoints, each associated with a state (Flying and Walking).
Iii-B1 Discretization Of The Environment
Two different discretization methods have been used to create a set of nodes and edges representing the environment, and their performances are then compared. The first one consists in dividing the space into a set of uniformly distributed points. While, in the second one, the 3D environment is discretized into a set of nodes and edges with the 3D MM-PRM shown in Algorithm1. Like in [MM_PRM], this adapted version of the Probabilistic Road Map (PRM) algorithm takes into account the Multi-Modal nature of the robot’s movements.
The classical PRM algorithm builds a graph in the defined space by generating a certain number of nodes, where the nodes are created with random position one by one. When a node is created, it will search for the nearest nodes already present in the graph and then connect to them to form edges while checking that it does not cross any obstacles. This method is adapted to generate a graph for unimodal robots by constraining the node generation to a single mode (e.g., create only ground nodes for a legged robot or create nodes in aerial space for a quadcopter).
In this work, Husky can move both on the ground and in aerial space. Therefore, it is necessary to create 2 sets of constraints when generating the nodes. Thus, the main difference with the classical PRM algorithm is that a constraint is added on a certain number of nodes to ensure a sufficient number of nodes in each mode. This extended version of the PRM algorithm requires the definition of 3 parameters: the number of ground surface nodes , the number of nodes describing flyable space , and the maximum distance between neighboring nodes .
New ground nodes are randomly assigned according to the following constraint:
Similarly, new nodes in the flyable task space are obtained as follows:
The search for neighboring nodes that will then be used to create the edges () is at the core of the PRM algorithm and is found using the following condition:
where is the set of nodes already created, denotes the maximum radius distance, and is the Euclidean norm.
The cost and time of calculation are very strongly linked to the choice of the values of the algorithm parameters (, , ). The greater the total number of nodes or the greater the radius of acceptance of the neighbors, the greater the computation time and cost will be. Therefore, it is necessary to study the convergence of the result in function of the parameters in order to optimize to computation cost. We identified the parameters that led to best results. The parameters are meters, and . An example of the graph built with the 3D MM-PRM algorithm is presented in the Fig. 5.
We found that compared to a uniform discretization with 0.25m-wide grids, the 3D MM-PRM algorithm produces a graph representative of the environment with a minimal number of nodes as shown in Fig. 6. This reduces the cost and the computing time while avoiding any compromises on the performance concerning the optimality of the path obtained. The comparison between these two methods is summarized briefly in Table I, which shows the significant reduction in computational time when using the PRM algorithm.
|3D MM-PRM||Uniform Grid|
|Number of Nodes||500||9892|
|Number of Edges||30920||219340|
|Computation Time [s]||12.1||78.29|
Iii-B2 Calculation of Cost of Locomotion
To calculate the locomotion cost including legged and aerial, it is necessary to not only determine the costs associated with each modes but also the cost corresponding to the transition from one mode to another. As such, the cost of transport on a walking edge denoted by is calculated using the power consumption at the joints . Then, are integrated over the time of legged locomotion. The total joint power consumption is computed based on the torque and the angular velocity of each joint which is obtained from ROM. The time of legged locomotion is calculated based on the distance between the two nodes. As a result, is given by:
The energetic cost on a flying edge is computed using the power consumption in hovering, the robot forward velocity in flying mode, and the altitude of the two nodes. Hence, is given by:
where and are respectively the altitudes of the nodes 1 and 2, is the mass of Husky and the gravitational acceleration constant. Last, the transition cost between the two modes is determined based on the power consumption of the joints during the morphing process . Then, is integrated over the time of transition which yields:
These three energetic costs are employed to determine the optimal path in the edge space generated by MM-PRM algorithm using the A algorithm.
Iii-B3 Find Optimal Path Using 3D A* Algorithm
To find the optimal path in the graph, the A path search algorithm [A_star] is used. The improved version of Dijkstra’s algorithm [dijkstra1959note]
is employed to find the optimal path by using a heuristic function. The algorithm computes the best path to each node in order to only visit the most promising nodes. This avoids going through all possible paths and, therefore, finding the first-best optimal path with a low computational cost. Thus, each time the algorithm explores n-th node, it calculates the minimum costnecessary to reach the goal by passing through it using the following formula:
where is the real cost from the start to the n-th node, computed based on (14), and denotes the heuristic cost to the goal. The heuristic cost is calculated by summing two conservative costs. First, the cost of walking on flat ground to the goal in a straight line is calculated. Second, the cost of flying vertically along the z-axis to the goal is obtained. Since the cost of walking is much lower than flying, this is the most optimal way to move between two points if there is no obstacles or impassable terrains. The following cost for is defined:
where and are respectively the number of walking and flying edges traveled by Husky, is the cost on the walking edge , denotes the cost on the flying edge , and represents the number of transition made by Husky.
Iv Simulation and Result Discussions
Iv-a Environments and Path Planning Results
We designed several environments to test the path planning algorithm and the control architecture performance, as illustrated in Fig. 7. We have placed box-shaped obstacles, and in some cases, the goal is located on a platform where the robot can walk. The purpose of these configurations is to put Husky in a situation where it has to perform at least one flight phase to reach the goal. Hence, it has to optimize its choice of locomotion mode to avoid obstacles and reduce its consumed energy. Fig. 7, presents three of these environments and the planned path generated by our algorithm.
We utilized the cost of transport of Husky as reported from our previous work [ramezani_generative_2021]
, and an estimation of energy consumption of the propeller motors during flight for a robot of this size and weight class. In the case of environment A shown in Fig.7, the cost of the optimized path is 9600 Joules while the direct one using only the flight mode is 14200 Joules. The use of the Husky’s multi-modal locomotion, therefore, allows a very large gain (about 32%) in terms of energy consumed, where most of the saving comes from the slower but much more energy efficient ground locomotion.
Iv-B Trajectory following simulation results
We implement the waypoints generated in IV-A for the robot to track and follow using the controller described in Fig. 4. In this simulation, we implemented the path generated for environment A, as shown in Fig. 7. The robot was initialized on the ground and walks using a simple trotting gait as shown in the state machine described in Fig. 4, and fly using a simple flight controller to track the aerial trajectories.
The simulation result can be seen in Fig. 8. The robot has successfully followed the desired trajectory and demonstrated the multi-modal locomotion capability that we proposed. Figure 8 also shows the transformation sequence as the robot transition from the legged into the aerial mode and vise-versa. As shown in Fig. 8, the legged to aerial transformation can be achieved by crouching until the landing gear touches the ground, then the legs can safely reorient to the UAV configuration and starts flying. On the other hand, the aerial to legged transformation can be done in reverse: land, then reorient the legs to face the ground, and stand up to continue walking.
V Conclusions and Future Work
In this paper, we presented the implementation of a high-level path planning algorithm based on MM-PRM and A algorithm to a legged-robot capable of both grounded and aerial movement. Both the high and low level control architecture are presented in this work and implemented in the simulator to show the multi-modal capabilities of our platform. The simulation has shown that the robot is capable of tracking the path found by the path-finding algorithm and is capable of transitioning from the legged to aerial mobility, and vice versa. In our future work, we will look into implementing the path finding algorithm in the lab environment and fully integrated the control architecture used in the simulation into the Husky Carbon for practical experiments.