The present invention relates to a robotic hoppers, and in particular to structures of such robotic hoppers and their control methods.
Many organisms in nature achieve hybrid locomotion through the integration of jumping and flying behaviors. Arboreal foraging birds such as parrotlets and sparrows exhibit high agility by combining jumps between branches with intermittent flights [1] Insects such as locusts, froghoppers, and fleas integrate jumping and flying behaviors to navigate complex environments and evade predators [2]-[4]. Flying squirrels [5] and Draco lizards [6] perform hybrid jumping and gliding to achieve long jump distances. These examples demonstrate the potential benefits of hybrid jumping-flying locomotion for improving mobility, agility, efficiency and versatility.
Developing a hybrid hopping-flying robot that can achieve continuous jumping and flying is challenging, particularly when considering the limitations and complexity of conventional jumping mechanisms. While a few combustion-driven robotic jumpers have been reported [7]-[10], existing robots capable of jumping are primarily based on either latched [11]-[29] or unlatched [30]-[36] actuation mechanisms.
Jumpers with latched actuation mechanisms employ a catch mechanism to enable rapid energy release from mounted elastomer, making varying jump height and continuous hopping difficult. If the explosive energy release is passively triggered (via cam escapement or pawl-and-ratchet mechanisms, for instance) [11]-[15], [19], [22]-[24], [26]-[29], the jump height is fixed according to the pre-determined tension, thereby limiting the robot's capability. On the other hand, if the explosive energy release is actively triggered, the jump height is variable but continuous hopping remains difficult as the release must be precisely timed when the robot lands [17], [18], [20], [25], thereby impacting the robot's jumping agility.
Jumpers with unlatched actuation mechanisms can directly drive their legs with actuators [30], [37]-[39], enabling continuous hopping with variable height. However, without energy storage, they cannot generate sufficient instantaneous power for high jumps. To address this limitation, elastomers are used in parallel [34], [36] or series-elastic [31]-[33] jumping mechanisms are used to temporarily store the energy produced by the actuator and amplify the output power during the stance phase. With carefully designed linkages and nonlinear spring stiffness, these robots may benefit from variable mechanical advantage, demonstrating agile continuous hopping with superior vertical jumping agility [21], [31]-[33]. However, they necessitate a relatively complex mechanical structure, higher actuator power, and non-negligible stance time. These somewhat restrict hopping agility as the robot must spend a certain amount of time in stance for the actuator to inject.
Existing attempts to create robots capable of both jumping and flight have directly combined jumping mechanisms with aerial platforms [15]-[18], [40]-[42]. This allows the robots to rapidly gain altitude through jumping-assisted takeoff. However, these existing robots cannot achieve continuous hopping, fine-tune jump height, and/or sustained flight.
In addition, mobile robots have emerged as versatile platforms for a wide range of applications, making impacts on various fields including manipulation [70], [71], environmental monitoring [72]-[74], subterranean [75] and space [76] exploration, and disaster response [77]. Their ability to navigate and operate in environments that are dangerous or inaccessible to humans makes them invaluable tools across various domains.
Among the most widely adopted mobile robot platforms for real-world applications are legged robots and aerial robots, each offering distinct advantages and limitations. Legged robots, such as quadrupeds [75], [76] and humanoids [78], excel in their ability to navigate uneven terrain [78]-[80] and carry substantial payloads [81], [82]. Their multi-jointed limbs allow for precise foot placement and force control, enabling them to climb stairs, step over obstacles, and maintain stability in challenging environments [83]. However, they typically exhibit slower speeds and may struggle in extremely cluttered environments. Conversely, aerial robots offer rapid movement and the ability to bypass obstacles by flying over them [84]-[86]. Nevertheless, they are often constrained by limited payload capacity [87], endurance [88], and reduced manipulation capabilities [71], [89].
To harness the strengths of both legged and aerial platforms, researchers have proposed hybrid robotic platforms that augment humanoid robots with thrusters or flight components, enabling them to overcome large obstacles or traverse gaps through short-duration flights [53], [90]. An alternative strategy, which forms the basis of this work, involves equipping a quadrotor with a passive, springy leg [43], [91]. This design leverages the quadrotor's existing actuators for both flight and terrestrial locomotion. It maintains a compact form factor and retains flight efficiency, as the passive leg adds minimal weight.
Incorporating a passive leg transforms a quadcopter into a thrust-based hopper, facilitating continuous jumping akin to leg-actuated hopping robots [24], [31], [92]-[95], [35], [21], [96]. The stance dynamics of this hybrid system can be approximated using a spring-mass model, drawing parallels to the well-studied Spring-Loaded Inverted Pendulum (SLIP) model [97], [59], [34], albeit with notable differences in actuation and control strategies.
Each of the following references (and associated appendices and/or supplements) is expressly incorporated herein by reference in its entirety:
Mascarich, O. Andersson, S. Khattak, M. Hutter, R. Siegwart et al., “Cerberus in the darpa subterranean challenge,” Science Robotics, vol. 7, no. 66, p. eabp9742, 2022.
Laengle, G. Cioffi, Y. Song, A. Loquercio et al., “Agilicious: Open-source and open-hardware agile quadrotor for vision-based flight,” [20] Science robotics, vol. 7, no. 67, p. eabl6259, 2022.
IEEE, 2022, pp. 3948-3955.
According to an aspect of the invention, there is provided a robot which includes an aerial unit, a passive leg mechanism operably coupled with the aerial unit, and a controller configured to control operation of the aerial unit such that the robot is operable in, at least, a flight mode and a hopping mode.
In some embodiments, the controller may be configured to control operation of the aerial unit such that the robot alternates between the flight mode and the hopping mode during operation.
In some embodiments, the passive leg mechanism may consist only of a single telescopic leg arrangement.
In some embodiments, the single telescopic leg arrangement may include an upper leg section fixed to the aerial unit, a lower leg section movably connected with the upper leg section via one or more connectors, and an elastic mechanism operably coupled between the upper leg section and the lower leg section.
In some embodiments, the controller may be configured to predict a landing location of the robot in the hopping mode.
In some embodiments, the controller may be configured to determine a landing location of the robot for a next hopping cycle based on a landing attitude of the robot for a current hopping cycle.
In some embodiments, the aerial unit may include a mini unmanned aerial vehicle or a micro unmanned aerial vehicle.
In some embodiments, the aerial unit may include a micro quadcopter.
In some embodiments, the telescopic leg arrangement may further include one or more guide wheel sets, each of the one or more guide wheel sets being operably coupled between a respective one of the one or more connectors and the lower leg section to restrict motion of the lower leg section to translation only and to reduce the friction. The guide wheel sets may include, e.g., bearings.
In some embodiments, the lower leg section may include a foot for contacting ground or environment.
In some embodiments, the lower leg section may include a first hook for supporting part of the elastic mechanism, and at least one of the connectors may include a second hook for supporting another part of the elastic mechanism.
In some embodiments, the elastic mechanism may include one or more elastic elements.
In some embodiments, the one or more elastic elements may be mounted between the upper leg section and the lower leg section such that the one or more elastic elements are tensioned to provide an elastic force operable to overpower weight of the robot.
In some embodiments, a length measured from a lowest end of the lower leg section to a center of mass (CoM) of the robot is at least twice the length of a wheelbase of the aerial unit.
In some embodiments, the robot may further include a stabilizer operable to interact with airflow to stabilize the robot.
In some embodiments, the stabilizer may be configured to control a landing attitude and to stabilize hopping speed and attitude without external feedback or vision.
In some embodiments, the stabilizer may include one or more horizontally hinged surfaces.
In some embodiments, the one or more horizontally hinged surfaces may be actuated by a cable arrangement connected to a drive unit.
In some embodiments, the one or more horizontally hinged surfaces may be arranged to be made rigid when the cable arrangement is actuated and swing freely in response to airflow when the cable arrangement is de-actuated.
In some embodiments, the controller may be configured to predict a landing location and velocity of the robot for a current hopping cycle (k), determine a takeoff attitude and a takeoff velocity of the robot for the current hopping cycle (k) based on: the predicted landing location and velocity, a pre-specified landing location, and a hopping altitude setpoint for a next hopping cycle (k+1), determine a desired landing attitude for the current hopping cycle (k) to realize the determined takeoff attitude and takeoff velocity of the robot for the current hopping cycle (k), and control a landing location for the next hopping cycle (k+1) and stabilize the robot by regulating the landing attitude of the current hopping cycle (k).
In some embodiments, the controller may be configured to determine the landing location for the next hopping cycle (k+1) based on a lateral component of the takeoff velocity and an amount of time the robot spends in an aerial phase, and the takeoff velocity is influenced by the landing attitude.
According to another aspect of the invention, there is provided a robot which includes an aerial unit having a thruster module; a passive leg mechanism operably coupled with the aerial unit; and a controller module configured to control operation of the aerial unit such that the robot is operable in at least a hopping mode. The thruster module is adapted to provide bidirectional thrusts.
In some embodiments, the aerial unit includes a quadrotor which contains the thruster module. The thruster module further includes a plurality of rotors, each of the rotors adapted to provide independently the bidirectional thrusts.
In some embodiments, the quadrotor contains a plurality of bidirectional motor controllers each connected to and adapted to control a corresponding one of the rotors.
In some embodiments, each of the rotors has a ratio of thrust coefficients in a reverse direction to a forward direction respectively, which is in the range of −0.36 to −0.56.
In some embodiments, the hopping mode includes a descending phase, a stance phase, and an ascending phase of the robot. The thruster module is adapted to provide a substantially downward thrust during at least part of the descending phase, and a substantially upward thrust during at least part of the ascending phase.
In some embodiments, during a hopping cycle, the thruster module is adapted to change its thrust direction twice.
In some embodiments, the descending phase comprises an unpowered descending sub-phase and a powered descending sub-phase. The ascending phase includes an unpowered ascending sub-phase and a powered ascending sub-phase. The thruster module is adapted to provide the substantially downward thrust during the powered descending sub-phase, and the substantially upward thrust during the powered ascending phase.
In some embodiments, the passive leg mechanism contains a telescopic leg arrangement which is spring-loaded with an elastomer module.
In some embodiments, the telescopic leg arrangement includes an upper leg section fixed to the aerial unit; and a lower leg section movably connected with the upper leg section via a connection module. An elastomer module is operably coupled between the upper leg section and the lower leg section.
In some embodiments, the upper leg section contains two upper legs that are separated apart and extending in parallel. The lower leg section includes a single lower leg located substantially equidistantly to the two upper legs and adapted to move relative to the upper legs.
In some embodiments, the connection module contains an upper bearing module and a lower bearing module which are fixed to the upper legs. The upper bearing module and the lower bearing module are coupled to the lower leg such that the lower leg is adapted to move relative to the upper legs in a single direction.
In some embodiments, the elastomer module contains a lower mounting hook, an upper mounting hook, and one or more elastomers connected between the lower mounting hook and the upper mounting hook. The lower mounting hook is fixedly connected to the lower bearing module, and the upper mounting hook is fixedly connected to the lower leg.
In some embodiments, the controller module is configured to predict a landing location of the robot in the hopping mode.
In some embodiments, the controller module is configured to determine a landing location of the robot for a next hopping cycle based on a landing attitude of the robot for a current hopping cycle.
In some embodiments, the controller module is adapted to use a trained neural network to calculate the landing attitude based on a predicted landing location and a desired landing location.
In some embodiments, the controller module comprises a height controller, a high-level position controller, thrust and attitude management, and a low-level attitude controller.
Exemplary embodiments of the invention therefore provide various hybrid hopping and flying robot named Hopcopter. The Hopcopter seamlessly integrates a nano quadcopter with a passive telescopic leg, overcoming the limitations of traditional jumping mechanisms that rely on stance phase leg actuation, which largely simplified the complexity of mechanical structure. By analyzing the dynamics, a propeller-based jumping control method has been developed to stabilize and control the position of the robot during a continuous jump. This unique design and actuation strategy allow for adjustable jump height, short stance phase duration and position controllability. Compared to conventional jumping mechanisms or jumping robots, the hybrid jumping-flying robot achieves a highly reliable controllability and jumping agility with a simple mechanism.
In some embodiments, a thrust-based hopper is introduced which significantly enhances its payload capacity as achieved through the integration of bi-directional thrusters and a refined stance phase model that accounts for gravitational effects during the stance phase. The bidirectional thrusters enable the robot to handle increased energy losses from ground impacts and the leg mechanism, accommodating heavier payloads. By considering gravitational forces, the robot achieves greater accuracy in hopping, especially during larger jumps with substantial payloads.
Other features and aspects of the invention will become apparent by consideration of the detailed description and accompanying drawings. Any feature(s) described herein in relation to one aspect or embodiment may be combined with any other feature(s) described herein in relation to any other aspect or embodiment as appropriate and applicable.
The foregoing and further features of the present invention will be apparent from the following description of preferred embodiments which are provided by way of example only in connection with the accompanying Figs, of which:
Before any embodiments of the invention are explained in detail, it is to be understood that the invention is not limited in its application to the details of embodiment and the arrangement of components set forth in the following description or illustrated in the following drawings. The invention is capable of other embodiments and of being practiced or of being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.
In the drawings, like numerals indicate like parts throughout the several embodiments described herein.
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
As used herein and in the claims, “couple” or “connect” refers to electrical coupling or connection either directly or indirectly via one or more electrical means unless otherwise stated.
Terms such as “horizontal”, “vertical”, “upwards”, “downwards”, “above”, “below” and similar terms as used herein are for the purpose of describing the invention in its normal in-use orientation and are not intended to limit the invention to any particular orientation.
The invention generally relates to a robot that includes an aerial unit, a passive leg mechanism operably coupled with the aerial unit, and a controller configured to control operation of the aerial unit such that the robot is operable in, at least, a flight mode and a hopping mode. The following disclosure provides some example embodiments of the robot of the invention.
In an first embodiment of the invention, there is provided a hybrid hopping-flying robot that augments a micro aerial vehicle with a passive elastic telescopic leg (see
The passive elastic leg differentiates the hybrid hopping and flying robot in some embodiments of the invention (i.e., referred to as “Hopcopter” herein) from existing jumping robots, allowing it to achieve unprecedented hopping agility. The absence of stance actuation permits a shorter stance phase, enabling higher jumping frequencies and agility. To demonstrate high hopping agility, a 42-gram Hopcopter prototype is constructed, and the robot's hopping dynamics are identified and characterized. Based on the results, a model-based hopping controller is developed to stabilize the robot during hopping using external feedback. For each hop, the passive telescopic leg absorbs and stores kinetic energy through elastic recoil, while the thrust-based actuation compensates for energy loss and stabilizes attitude and velocity. Experimental results show that the robot can accurately track a reference trajectory, validating the proposed three-dimensional hopping model and showing that the Hopcopter's average hopping speeds approach the theoretical ballistic limit, surpassing state-of-the-art jumping robots including Salto-1P [32]. This distinguishes the proposed approach from those relying on latched elastic actuation, which imposes limitations on continuous hopping and variable jump heights, and from those relying on unlatched series elastic actuation, which require a longer stance time. In flight mode, the robot in some embodiments of the invention functions as a regular micro aerial vehicle, allowing for stable hovering, agile maneuvering, and smooth flight-hopping transitions. Intermittent hops during flight dramatically enhance instantaneous accelerations for rapid and tight turns.
To attain stable hopping using onboard sensors only, the robot is outfitted with active aerodynamic stabilizers. These surfaces dynamically influence landing attitude, stabilizing hopping speed and attitude without external feedback or vision. The realized hybrid hopping-flying locomotion of Hopcopter offers unprecedented versatility in navigating complex environments. Unlike wheeled aerial vehicles that struggle to negotiate rough terrains [44]-[50], the hopping ability allows the robot to overcome obstacles and traverse uneven surfaces. Compared to flight-capable bipedal and legged robots [51]-[54], the hopping mechanism is far more efficient, requiring less energy for locomotion. By seamlessly integrating flying and jumping, our approach enables synergistic hybrid locomotion, with the flight mechanism facilitating passive jumping and intermittent jumping generating large accelerations for rapid turns when flying. This multimodal locomotion capability has the potential to radically expand the range of environments in which robots can operate effectively and efficiently, from cluttered indoor spaces to rugged outdoor terrains.
A hybrid hopping and flying robot (or vehicle) according to an embodiment is provided. The hybrid hopping and flying robot is referred to as “Hopcopter” herein. As shown in
The design incorporates two key features to simplify the stance phase dynamics. Firstly, the passive leg mechanism 20 (i.e., the telescopic leg), at 22 cm long (from the foot to the CoM of the robot), is over twice the length of the quadcopter 10's 9 cm wheelbase. Secondly, the rubber bands 30 are pre-stretched, enabling the elastic force to overpower the robot 100's weight. These features allow the robot 100 to be treated as a point mass during the stance phase and decouple the dynamics from gravity's orientation as detailed in the subsequent section.
In flight, Hopcopter's dynamics are characterized by propelling torque (roll, pitch, and yaw) and collective thrust, indistinguishable from a regular rotorcraft [55]-[57].
However, when functioning as a monopedal hopper, the robot is a hybrid dynamical system, with one jumping cycle alternating between the aerial and terrestrial stages, separated by the ground contact [58]-[60]. For modeling purposes, in this work, the movement of the CoM of the hybrid robot in each jumping cycle is divided into two phases: aerial (AP), stance (SP) phases, separated by two key timestamps: landing (tLD) and takeoff (tTO) as illustrated in
Without the ground contact, in the AP, the robot shares the same flight dynamics with a regular quadcopter with six degrees of freedom (DoFs) in the form of rotational and translational motion. Upon landing, under the condition of no slippage between the foot and the ground [58], [59], the attitude and position of the robot are physically coupled. The ground contact acts as a pivot for the body attitude, with the distance to the CoM changing with the leg contraction. The foot collision marks the transition between AP and SP. A comprehensive model consists of two sets of dynamics and the state transitions between them. Inspired by the classical spring-loaded inverted pendulum (SLIP) model [59], [61], the embodiments of the invention propose a simplified yet complete three-dimensional jumping model that captures the dominant effects, suitable for real-time jumping control.
When flying, the robot is modeled as a rigid body with weight mg and inertia tensor I=diag (Ix, Iy, Iz) in a gravity field. The lightweight telescopic leg is abstracted as a thin rod with a preloaded elastomer. The leg axis passes through the CoM of the robot and aligns with the thrust direction of the propellers as schematically illustrated in
In the aerial phases, the equations of motion are identical to those of a regular multirotor vehicle [55]-[57], [62] and given by
where p=[x, y, z]T denotes the position vector of the CoM of the robot in the inertial frame {xw, yw, zw}. The z axis of the body-fixed frame {xb, yb, zb}, as seen in the inertial frame, represents the thrust direction of the propellers: zb=Re3, where R∈SO(3) is a rotation matrix mapping the body-fixed frame to the inertial frame and e3=[0,0,1]T is a basis vector. ω=[ωx, ωy, ωz]T is the body-centric angular velocity. The summation Σfi denotes the total thrust magnitude and TP is the total propelling torque in the body frame. Together Σfi and τp are control inputs that can be commanded via distributing the power between the four rotors. In a regular flight regime, aerodynamic drag can be neglected [56], [62].
Once landed (timestamp tLD in
Based on the measurements from the drop tests (see Materials and Methods section below, and
where l−l0 is the leg contraction and lP is the pre-stretched length of the elastomer. The friction term accounts for the dissipating energy that results in a hysteresis behavior brought by the loading/downstroke ({dot over (l)}<0) and unloading/upstroke ({dot over (l)}>0) motion (see
Assuming no slippage (thanks to the pointy foot), the ground contact point can be regarded as a free-to-rotate spherical hinge and the CoM of the robot is restricted to the translation along the leg axis and the rotation about the foot as shown in
Unlike existing studies of the three-dimensional SLIP models [58], [63], the complexity of the stance dynamics of the Hopcopter is further reduced owing to the strategic design decision to substantially pre-stretch the elastomer. As detailed in Note S2, when the directions of {dot over (p)}(tLD) and zb(tLD) are largely aligned, the centrifugal acceleration is negligible and the SP is governed by the axial and angular dynamics in the form of two semi-coupled differential equations:
Given the initial conditions (∥{dot over (p)}(tLD)∥ and θLD), the axial dynamics is independent of ψ and dictated by the natural frequency Ω=√{square root over (k/m)}. An analytical solution of l(t) and the takeoff timestamp tTO corresponding to the moment when the elastic force vanishes (l(tTO)=l0) are yielded as detailed in Note S3. With the expression of l(t), Equation (7) states that {dot over (ω)}(t)=l02{dot over (Ψ)}(tLD)/l2(t). The time integration Δψ=∫t
where R(eψ, Δψ) is a rotation matrix based on the axis-angle representation. Letting zb(tTO)=R(tTO)e3 be the primary body axis at tTO, the takeoff velocity {dot over (p)}(tTO) is obtained by projecting the axial {dot over (l)}(tTO) and tangential speeds l0{dot over (ψ)}(tTO) of the robot at tTO to the inertial frame. This results in ∥{dot over (p)}(tTO)∥=√{square root over (l02{dot over (ψ)}2(tTO)+{dot over (l)}2(tTO))} with the direction specified by the angle between zb(tTO) and {dot over (p)}(tTO), θTO=arctan (l0{dot over (ψ)}(tTO)/{dot over (l)}(tTO)). In the vector form, this is given by
As illustrated in
With the identified model coefficients Ω=√{square root over (k/m)}, fe/m, and lp in Table S1) from the drop tests (see Materials and Methods section), the takeoff state of the robot specified by Δψ, θTO and ∥{dot over (p)}(tTO)∥ is predicted according to the landing state (θLD and ∥{dot over (p)}(tLD)∥) in
This forms the basis of the model-based hopping controller.
Similar to other spring-mass monopeds, the passive jumping dynamics of the Hopcopter is unstable and lossy. Stabilizing the attitude of the robot in the aerial phase to guarantee an upright landing attitude is insufficient to prevent the horizontal speed from diverging after consecutive jumps [58], [63], [64]. Concomitantly, energy must be injected into the system to compensate for losses in both stance and aerial phases. However, unlike monopedal hoppers with direct leg actuation (e.g., linear hydraulic and hip actuators in [65] or a series-elastic actuator in [32]), the stance phase of the Hopcopter is completely passive. This unique hopping mechanism demands a dedicated control framework.
The proposed controller for the Hopcopter differs from widely employed policies [32]-[34], [64] based on Raibert's hopping machine [65] and other jumping controllers [34], [36], [38], [58], [63], [66]. The controller according to an embodiment allows the robot to take off in a desired direction in three dimensions. This capacity enables the robot to track trajectories while hopping and facilitates smooth transitions between aerial and terrestrial modes, enabling complex hybrid locomotion. For instance, during high-speed flight, the Hopcopter leverage the ground contact or environment to generate an instantaneous burst of acceleration and hop to decelerate, turn, or accelerate—significantly improving agility beyond flight alone.
The control strategy takes advantage of the derived model of the SP dynamics in order to (i) decrease the control effort and (ii) decouple the altitude control problem from the landing control problem as much as practically possible. As a result, the trajectory of the robot in the aerial phase is mostly ballistic and the landing position control is accomplished through the control of the landing attitude zb (tLD), in a similar manner to the control of the touchdown angle in [32]. This differs from an existing jumping quadrotor [43], in which the position control is directly implemented during the aerial phase using a flight controller designed for a small rotorcraft. The framework renders the hopping locomotion markedly more efficient than flying. Besides, since the elastic force present in the SP dominates the propelling thrust, the use of the ground reaction force through the elastic leg for position control results in superior jumping agility.
Since the hopping motion is cyclic and the aerial phase of the trajectory is primarily ballistic, the embodiments of the invention regulate the landing attitude of the current hopping cycle (indexed k) to yield the desired landing location in the subsequent hop (indexed k+1, as shown in
The high-level hopping controller loop is executed once per jump cycle. Starting from the apex of cycle k, the total thrust of the Hopcopter is nominally set to zero and the unpowered robot follows a ballistic trajectory as illustrated in
During the descent, the attitude of the robot is controlled with the collective thrust and angular velocity minimized, allowing the motion to be treated as free fall from an altitude of z(t)−l0.
Based on the landing setpoint attitude zb(tLD)=R(tLD)e3 and the computed landing velocity {dot over (p)}(tLD), the stance phase dynamics (Equation 6 and Equation 7) is integrated forward to produce the liftoff state R(tTO) and {dot over (p)}(tTO) using Equation 8 and Equation 9 with θ(tLD)=arccos(−zbT(tLD){dot over (p)}(tLD)/|{dot over (p)}(tLD)|). Immediately after taking off (detected by a significant change in the axial acceleration), the low-level controller (v) (described in Materials and Methods) swiftly re-orients the robot to an upright orientation (zb=e3) to minimize the horizontal thrust. Thus, the landing position of cycle k+1 is entirely determined by the lateral component of the liftoff velocity ([e1, e2]T{dot over (p)}(tTO)|k) and the time the robot spends in the aerial phase. This flight time is varied according to the setpoint altitude as the aerial maneuver is divided into a powered ascent (PA) and an unpowered projectile (PJ) (
where ż(tTO)=e3T{dot over (p)}(tTO) is the vertical liftoff speed and zd denotes the relative hopping altitude. The former case is when the vertical liftoff speed is insufficient for the robot to passively reach the setpoint and the latter is when the jump height without any thrust assistance is already over zd. During the powered flight phase, the propelling thrust counterbalances the weight and the vehicle retains its upward speed of ż(tTO). The rest of the trajectory is a projectile with duration of
in which the first term refers to the rest of the time the robot spends ascending and the latter is free fall. Finally, the landing position for cycle k+1 is iteratively updated as
The outcomes of Equations 11-15 verify that the touchdown location of the next cycle (k+1) is predominantly determined by the landing attitude zb (tLD) of the current cycle.
From the estimated current landing position p(tLD)|k provided by Equation 11, the controller employs Equation 15 to iteratively search for the touchdown attitude that minimizes the predicted position error of the next landing,
under the no-slip condition as constrained by the ground friction coefficient μ (Note S4)
Depending on the setpoint of pd and the current state of the robot, the error can be marginalized to zero or a particular value, which indicates whether the robot is able to reach the desired location in a single or multiple steps.
After the landing attitude zb (tLD) is determined from Equation 16, it is realized in when the robot is falling by the low-level controller (v). To regulate the jumping altitude, after the liftoff, the robot is quickly reoriented to an upright direction and the collective thrust magnitude is maintained at Σfi=mg for ΔtPA as described by Equation 13. The action injects energy into the system to compensate for any losses. Thereafter, the robot remains upright until the landing location is again predicted by (i) for the next jump cycle.
Unlike flying robots, which are able to stabilize any control errors continuously, the cyclic nature of the hopping motion only allows the corrective measure to be executed once per cycle. The action to alter the landing attitude when the robot is falling only affects the landing location in the next cycle. Therefore, to track a predefined trajectory, the desired landing location pd in Equation 16 is chosen to be the desired location of the robot at tLD|k+1, under the assumption that tLD|k+1−t=ΔtLD+2√{square root over (2zd/g)}. This consideration eliminates the inherent latency, allowing the robot to track a time-varying trajectory more precisely. Still, the complexity of achievable trajectories is intrinsically limited by the hopping frequency.
To validate the identified parameters and the derived dynamic model, a preliminary controlled hopping experiment with the developed controller is performed. As detailed in Materials and Methods, the landing states (∥{dot over (p)}(tLD)∥ and θLD) of 130 consecutive jumps were recorded. The experiment employs the devised model to predict the takeoff states in terms of the body rotation Δψ and takeoff angle θTO and compares the predictions with the measurements as presented in
Next, the tracking performance was evaluated using circular and step trajectories. For the circular trajectory, the robot was instructed to hop at a constant altitude (0.60 m) around a circle with a radius of 1.20 m at an average speed of 0.2 ms−1. The step trajectory demands the robot to maintain a jump height of 0.75 m and laterally translate by up to 2 m several times in 40 s. Three repeated trials were conducted for each trajectory. The resultant trajectories are shown in
Next, an experiment is conducted to investigate the relationship between the hopping height and frequency of the robot, and to calculate its hopping agility, defined as the cycle-averaged vertical speed of the robot v=2hf (The definition of hopping agility presented here deviates from that of vertical jumping agility as defined in (31). The latter refers to the vertical climbing speed). The robot is commanded to hop in place for over 60 s using the developed position controller. The test is divided into seven segments, each corresponding to a different hopping height ranging from 0.59 m to 1.63 m. In each segment, the robot hopped at a constant height for at least six cycles (
As seen in
The hopping agility is computed as the product of the height and frequency. Due to the short stance time (<45 ms), the Hopcopter achieved a hopping agility of 2.38 m/s when h=1.63 m, which is 30% higher than 1.83 m/s for 1.25 m attained by Salto-1P (with a stance time over 120 ms) [31], [32] and other jumping robots (
Strategically combining hopping and flying can uniquely enhance maneuverability and agility, as the hopping mode can generate bursts of acceleration for flight. By momentarily switching to hopping mode during flight for a single jump, the monopedal robot can generate an instantaneously large acceleration from the ground normal. Using the developed hopping model, the takeoff direction is regulated through the landing attitude. This operation assists the robot in decelerating, accelerating from hover, or turning tightly, providing enhanced agility despite the limited thrust-to-weight ratio (for example 1.2).
The first maneuver demonstrates the use of elastic leg and ground normal to accelerate and then decelerate the robot in flight. As shown in
Next, the agility is illustrated through rapid and tight turns. The robot leverages the ground to swiftly change the travel direction by 90° as depicted in
To further push the agility limit, hybrid jumps on a wall and a tilted surface are realized. Non-horizontal surfaces extend the range of non-slip landing and takeoff angles (Note S4). This effectively raises the achievable lateral acceleration. In the experiment, the robot flies toward a wall at a speed over 4 ms−1. Within 0.54 s or 1.8 m prior to reaching the surface, the attitude controller reorients the robot for landing and the robot touches down on the wall with the tilt (pitch) angle of 570 and landing speed of 3.6 ms−1 (
The results demonstrate that the jump-flying locomotion enables average and instantaneous lateral accelerations that are remarkable compared to its thrust-to-weight ratio of only 1.2. The Hopcopter can accomplish instantaneous and average accelerations of over 14 g and 1.2 g by using the ground normal and the elastic leg in intermittent jumps. This is notably higher than the reported accelerations of other micro aerial robots with similar or higher thrust-to-weight ratios [56], [57], [67]. The hybrid locomotion is especially advantageous for robots with limited thrust power, such as small and lightweight platforms, as it allows them to perform rapid and tight maneuvers that would otherwise be impossible.
According to the proposed hopping dynamic model, in hopping, the takeoff velocity of the robot is directly dependent on landing attitude and landing velocity. This implies that to stabilize the robot, a velocity measurement as feedback is necessary. To reduce the robot's dependence on sensors and external measurements, an actuated aerodynamic stabilizer is proposed to interact with the airflow to stabilize the robot. The strategy to enable the robot to hop in place without position or velocity feedback involves the adjustment of the landing angle θLD based on the robot's velocity {dot over (p)} in the falling phase. This is by appropriately balancing the attitude controller with the rotational torque created by the stabilizer.
The stabilizers are activated only during the descent while hopping. They use the upward airflow to create a torque that rotates the robot's attitude and reduces the landing angle θTD by making its major axis parallel and opposite to its translational velocity: zb→−{dot over (p)}. In the meantime, the attitude controller applies a propelling torque to make the robot upright zb→zw=e3. As a consequence of the competing efforts, the robot lands with its major axis zb pointing between the vertical axis and the velocity vector −{dot over (p)}(tLD) (see
To manifest the damper-assisted stability, Poincaré maps are numerically constructed assuming a constant hopping height of 0.5 m. The landing state is chosen as the fixed point of the limit cycle. Under the influence of the attitude controller and the aerodynamic stabilizer, the vectors zw, zb, and {dot over (p)}(tLD) are coplanar. The angle between the landing velocity and the vertical, θz=arccos(−zwT{dot over (p)}(tLD)/∥{dot over (p)}(tLD)∥) (see
The Poincaré maps plot θz|k+1/θz|k for different θz|k and ϕ|k at a particular hopping height, where k represents the hopping cycle (
To substantiate the insights from the Poincaré analysis, three sets of experiments are conducted to evaluate the performance of the hopping robot under each control strategy (attitude control and aerodynamic stabilizer) individually, as well as their combination. For each set of experiments, the robot starts to hop after a drop from about 75 cm. The hopping trajectory is tracked to determine the robot's attitude and velocity in the landing phase.
When utilizing only the attitude controller (dashed line indicated by “controller only”), the robot is expected to land consistently in an upright orientation or 0=0, but without any guarantee on the horizontal hopping speed or θz. Experimental results confirm this (
Relying solely on the stabilizer (the attitude controller was only active in the CP, i.e., when the robot is ascending) is predicted to marginalize the difference between θz and ϕ, but not directly reducing θz. Again, experiments validate this (
In contrast, experiments integrating both the attitude controller and stabilizer yield highly robust hopping as theorized. The robot retains near zero horizontal velocity component and near upright attitude across multiple successive jumps (white dots in
To further demonstrate the robustness and reliability of the stabilizing strategy, three field tests are conducted in varying environments, including stairs, a corridor, and outdoor terrain. In each test, a human operator commands the desired landing attitude for the controller, though the actual landing posture depends on both the attitude setpoint and aerodynamic stabilizer as previously described. The adjusted desired landing attitude results in a bias that directs the robot to hop toward the prescribed direction. This control scheme allows the Hopcopter to ascend/descend a flight of stairs, navigate the narrow corridor space, and traverse rough terrain. Through these field experiments, it is verified that the active stabilizer enables stable and resilient mobility without requiring vision or additional sensors for velocity feedback.
As described, the embodiments of the invention provide a hybrid hopping and flying robot (Hopcopter) that combines hopping and flying capabilities to achieve high-performance locomotion. Its passive telescopic leg distinguishes it from existing bio-inspired jumping robots that rely on latched or unlatched elastic actuation as it dispenses the need for a trigger, actuation in stance, or variable mechanical advantage, making it mechanically simpler and more reliable. The thrust-based actuation of the passive telescopic leg allows fine-tuning of jump height and enables the Hopcopter's exceptional hopping agility, surpassing the state-of-the-art jumping robots. The short stance phase enabled by the absence of actuation in the stance phase permits higher hopping frequencies, resulting in its high agility. The robot achieves a maximum velocity of 2.38 m/s at a jump height of 1.63 m, exceeding the highest agility reported in jumping robots (
The Hopcopter's ability to both fly and hop facilitates rapid changes in flight speed and direction. The robot's jumping ability can be leveraged to mitigate damage from collisions with walls or ground by employing jumping maneuvers. The integration of attitude control and aerodynamic stabilizers establishes the robot's hopping control autonomy. Poincaré analysis and experiments show that the attitude controller and aerodynamic stabilizers work together synergistically to stabilize the Hopcopter's hopping dynamics. Without external feedback, the robot achieves over 56 consecutive jumps with near-zero velocity and upright landing-demonstrating the value of integrating attitude control and aerodynamic surfaces.
Crucially, the passive leg design of Hopcopter could be readily applied to conventional rotorcraft. With simple addition of an elastic leg and control changes, a standard quadcopter could transform into a hopping robot, unlocking new performance frontiers through hybrid locomotion. Overall, the Hopcopter represents an improved platform that transcends the limitations of aerial or terrestrial locomotion alone, demonstrating the potential of integrating flight and hopping capabilities.
Unlike the aerial mode, the Hopcopter generates thrust intermittently rather than continuously during the hopping mode. This mode of operation presents an opportunity to substantially extend Hopcopter's operation time while reducing power consumption. To evaluate the endurance, a continuous jumping test is conducted with a fully charged 250-mAh single-cell Li-Ion battery (8.3 g). The robot hops continuously for over 1246 s (20.8 minutes). With a 650-mAh Li-Ion battery (16.8 g), the endurance increases to over 3052 s (50.9 minutes). However, the total mass of the robot (43.1 g) with a high-capacity battery exceeds the maximum takeoff weight for flight (42.0 g). Battery voltages recorded onboard during the tests are shown in
The lack on a reliable onboard current sensor and the weight limitation render direct measurement of the robot's operational power consumption impractical. Nevertheless, the duty cycle of the motors is used as a metric to compare the flight and terrestrial operations.
This is because the robot is required to constantly generate T≈mg when hovering, whereas it only generates T=mg momentarily after takeoff while hopping. Defining the vehicle-based duty ratio D=(1/T)∫TΣ(fi/mg)dt, D=1 is obtained for the benchmark quadcopter flight. In endurance testing, the Hopcopter spends over 85% of time in ballistic and stance phases with minimal thrust for attitude control (Σfi<0.11 mg outside the powered phases, see
The experiments are carried out in a 3×3×2.5-m3 arena with ten motion capture cameras (for example, OptiTrack Prime 13w). The pose measurements are used for both control and ground truth measurements. The high-level controllers, including the hopping and flight controllers, are implemented by Python on the ground computer and executed at 100 Hz. The custom attitude controller is implemented onboard and operated at 1 kHz. The robot and the ground station are communicated through a radio module (for example, Bitcraze Carzyradio PA) via Crazyflie Python API.
As the stance phase dynamics captured by Equations 6 and 7 are subject to a few unknown lumped physical parameters, namely Ω=√{square root over (k/m)}, fc/m, and lp (l0=22 cm is a design parameter), a drop test is devised to identify these model parameters according to the axial dynamics of the robot (Equation 6) prior to applying the equations to for predicting and controlling the hopping motion.
The setup of the drop tests is schematically presented in
Both the gripper and the camera can be controlled by the same computer. The system is schematically illustrated in
The tests are carried out at three drop heights: 0.68, 0.82 and 0.95 m, with four drops at each height. The altitude of the robot in the free-drop experiments is indicated with twelve reconstructed trajectories as plotted in
The identified parameters, listed in Table S1, corroborate that the weight of the robot is negligible compared to the force of the pre-stretched elastomer as klp/mg≈10.
The same set of equations are applied to determine the rotor commands for flight and when the attitude of the robot during the aerial hopping phase is regulated. To achieve the designated attitude, a proportional-integral-derivative controller [55] is first implemented to compute the required body-centric torque τp,d.
Depending on the operational demand, the target thrust magnitude Td can be zero, mg, or a particular value. To evaluate the force allocation between four rotors, f=[f1, f2, f3, f4]T and a 4×4 configuration matrix A are defined for power distribution
To ensure that fi≥0 even when Td=0, the following attitude-priority allocation (similar to [57]) is employed to compute f.
Despite that the collective thrust generation may not be correctly set to Td, this assures the torque is correctly generated (τp,d=τp) and minimizes the error of thrust (T−Td) when the desired thrust and torque may cause saturation of motors, especially for the unpowered projectile where Td is set to zero.
The robot is commanded to hop at varying altitude setpoints in the range of 0.5 to 0.7 m and translate laterally in the range of 0 to 1 m per step for over 90 s. The trajectory is recorded. The data are processed to obtain the landing states and takeoff states. The landing and takeoff timestamps are identified from the CoM location. The transition velocities ({dot over (p)}(tLD), {dot over (p)}(tTO)) and attitude states (zb(tLD), zb(tTO)) with respect to the inertial frame are deduced. Since, in practice, these four vectors may not be perfectly coplanar as modeled in
The averaged value of the objective function in Equation 20 is 0.8°, indicating minimal misalignment. After the reprojection on to the rotational plane normal to eψ, the angles θLD, Δψ and θTO for each jump are obtained. From the data of 130 jumps in 90 s, a wide region of the landing state (1.5<∥{dot over (p)}(tLD)∥<3.3 ms−1 and 0°<θLD<20°) is covered.
The constructed Poincaré maps assume a constant jumping height zd. Hence, the vertical landing speed at cycle k is determined by ż(tLD)=√{square root over (2gzd)}. Given the landing attitude ϕ|k and the angle of the landing velocity θz|k, the landing angle θLD|k=|ϕ|k−θz|k| is calculated under the assumption that vectors zW, zb (tLD)|k, and {dot over (p)}(tLD)|k, are coplanar and orthogonal to the rotational axis eψ. The takeoff states, zb(tTO)k| and {dot over (p)}(tTO)|k, are obtained from Equation 8 and Equation 10. Following takeoff, the robot briefly throttles up in an upright orientation to compensate the energy lost (PA) before entering the ballistic trajectory (PJ). The horizontal velocity remains constant during flight. This implies the horizontal speed at takeoff at cycle k is equal to the horizontal speed at landing at cycle k+1. The vertical landing speeds at cycle k+1 and k are the same as dictated by the jump height zd. The angle of the landing velocity θz|k+1 is then the direction of the landing velocity relative to the vertical. This allows to compute θz|k+1 or θz|k+1/θz|k for any θz|k and ϕ|k, which results in the Poincaré maps describes the stability of θz over jumping cycles (
After landing, the moment of inertia of the robot with respect to the ground contact point is obtained via the parallel axis theorem, taking into consideration the ground as the location of the axis of rotation,
where Icm=diag(Ix,Iy, Iz). For a micro quadcopter (Bitcraze, Crazyflie 2.1), Ix, Iy, Iz≈2 g·cm2, whereas ml2≈1×104 g·cm2 for l0=0.22 m and m=27 g. That is, thanks to the long leg design, the term ml2 dominates. Consequently, the robot can be treated as a point mass (instead of a rigid body) when the yaw rotations are minimized.
When the spring force dominates the weight of the robot, the motion of the robot in stance is described by Equation 5. Treating the non-slip ground contact point as the origin of an auxiliary inertial frame of reference, the position of the CoM is described by the leg vector l(t)zb. The axial and angular dynamics correspond to the motion of l(t) and zb(t).
Starting with the angular motion, the angular rate about zb upon landing is assumed to be minimized by the attitude controller. The initial angular momentum in the stance phase specified by the angular velocity {dot over (ψ)}(tLD)eψ (perpendicular to zb as described in Landing Transition) as shown in
To derive the axial dynamics, {umlaut over (p)} in Equation 5 is expressed using the leg vector as d/dt(l(t)zb(t)). Since the leg axis zb(t) evolves according to the angular velocity {dot over (ψ)}(t)eψ, it follows that d/dt(zb(t))={dot over (ψ)}(t)eψ×zb(t) and Equation 5 becomes
To extract the axial dynamics, the projection of Equation S3 is taken along zb.
wherein the term {dot over (ψ)}2l denotes the centrifugal acceleration brought by the rotation.
Lastly, the significance of {dot over (ψ)}2l is considered in comparison to fe/m. The prototype is fabricated with a large pre-stretched elastic force. As the identified parameters listed in Table S1, fe/m>klp/m=96 ms−2. On the other hand, the upper bound of {dot over (ψ)} can be estimated from the speed of the robot at touch down. For a jump height of h=1 m, |{dot over (p)}|≈√{square root over (2gh)}=4.4 ms−1. If the landing angle θLD is around 200 or less (as evidenced in the experimental results in
Thanks to the simplification in Note S2, the stance dynamics is separated into axial and angular dynamics. The axial motion is captured by an unforced ordinary linear differential equation. The response of the systems obtained analytically.
Given the initial condition at landing with t=tLD as the initial timestamp, obtained is
During the downstroke ({dot over (l)}<0), the term sgn({dot over (l)}) in Equation 6 is −1, the solution is
with Ω=√{square root over (k/m)}. The time when the leg is fully contracted can be found by solving for {dot over (l)}(tMD)=0. This results in
This condition becomes the initial state of the next phase, in which the leg recoils ({dot over (l)}>0). The solution of Equation 6 in this time period is
Then, the takeoff time is found by solving Equation S6 for l(tTO)=l0. This yields
Therefore, the total time spent in the stance phase is
That is, the maximum stance time is inversely proportional to the square root of the stiffness k. Meanwhile, Equation S11 provides the knowledge required for computing the takeoff velocity. An example plot of l(t) in the entire stance phase is shown in
As per Equation 7, once l(t) is determined, one can integrate forward the angular dynamics to determine Δψ:
in which the expressions for 1(t) are taken from Equations S6 and S9.
The derived model describing the SP dynamics hinges on the non-slip assumption. This may not be satisfied in extreme maneuvers when the friction coefficient μ is low. Since the elastic force (aligned with zb) dominates the SP dynamics, its vertical component becomes the ground normal and the lateral component should not exceed the friction limit. A slippage can be prevented by restricting the tilt angle of the robot arccos(e3·zb) to be lower than tan−1μ in the entire stance phase. Since this angle is maximized either at tLD or tTO, this requires
as the tilt angle is maximized either at the landing or takeoff.
Due to the motion capture system's limited sample rate (≈100 Hz) and spatial resolution (≈1 mm), the timestamps of the touchdown and takeoff events surrounding the short stance phase (tSP<45 ms, refer to the analysis in Note S3 and
To begin, the recorded position of the robot is inspected for a short time period before and after a jump and the trajectory is divided into three phases: the stance phase sandwiched by aerial phase characterized as the pre-jump and post-jump periods. The stance time tSP=tTO−tLD is conservative assumed 45 ms, but the exact landing and takeoff timestamps are not known.
The trajectories of the robot before and after the jump ({circumflex over (p)}LD, {circumflex over (p)}TO) are assumed to be parametric functions of time, with the robot only subject to a constant vertical acceleration of {circumflex over ({umlaut over (p)})}LD,TO=−aLD,TOe3 (nominally g for free fall). Under this assumption, the following expressions can be derived for the position and velocity of the robot:
where vLD and vTO are the landing and takeoff velocities to be determined, and
where sLD and sTO and the landing and takeoff locations to be determined.
To account for possible deviations in aLD and aTO from g due to attitude and altitude control before landing and after takeoff, unknown parameters Θ={aLD, aTO, vLD, vTO, sLD, sTO} along with the landing timestamp are simultaneously searched for. This is by conducting the least squares regression of the measured trajectory and the anticipated trajectory of the robot in the aerial phase before and after stance, with the interested periods being short time intervals just before (tLD−Δt<t<tLD) and after (tTO<t<tTO+Δt) the stance.
Assuming the length of the stance phase is tSP=tTO−tLD, given a particular length of time window Δt, the measured trajectories of the robot between tLD−Δt to tLD and tTO to tTO+Δt should follows Equations S18 and S19. Based on this principle, tLD can be estimated by
where the sums are over the data points from the respective time ranges. Δt=0.4 s is selected to ensure sufficient data points (≈80) are included to determine 15 unknowns. Extending Δt may not lead to an improved fit as the acceleration may not be constant over a prolonged period thanks to the propelling thrust. Once the optimal parameters are determined, the landing and takeoff velocities can be evaluated using Equations S16 and S17. This method allows to compute the velocities without needing to take numerical derivatives, which can be sensitive to noise in the measurements and the choice of low-pass filter cutoff frequency.
In flight mode, the robot functions as a regular micro aerial vehicle, allowing for stable hovering, agile maneuvering. Besides, thanks to the passive leg, the robot can perform a synergistic hybrid jumping and flying locomotion by performing intermittent mid-flight jumps. For instance, during high-speed flight, the robot leverages the ground contact or environment to generate an instantaneous burst of acceleration and hop to decelerate, turn, or accelerate—significantly improving agility beyond flight alone. Having a jumping leg also improves the endurance of the robot. In jumping mode, the robot generates thrust intermittently rather than continuously during the hopping mode. This mode of operation presents an opportunity to substantially extend robot's operation time and reducing power consumption when the robot is not necessary to keep aloft. Compared with flying, jumping mode can extend the operation time by four-fold.
To attain stable hopping using onboard sensors only, the robot is outfitted with an active aerodynamic stabilizer as a separate part. The stabilizer influences landing attitude, stabilizing hopping speed and attitude without external feedback or vision. The realized hybrid hopping-flying locomotion of the robot offers unprecedented versatility in navigating complex environments.
Some embodiments of the invention provide a hybrid hopping and flying robot comprising a micro quadcopter attached to a telescopic leg with an elastic element. The telescopic leg includes upper and lower sections, connected by guide wheel sets to allow vertical translation. Pre-stretched rubber bands are employed as an elastic element (elastomer). The design according to some embodiments of the invention enables the elastic force to dominate gravity and decouple the robot's dynamics from gravity's orientation which simplifies the jumping dynamics and enables a controlled jumping locomotion.
Some embodiments of the invention provide a model-based hopping controller with ability to control take-off velocity and landing positions of the robot, enabling trajectory tracking and complex hybrid locomotion. The controller may be configured to numerically solve for the landing attitude based on a model of dynamics of the robot during a hop. The controller may be configured to control the landing positions and takeoff velocities of the robot in three dimensions.
Use of ground reaction force through the elastic leg for efficient position control results in superior jumping agility compared to existing flying robots.
Various sensors can be carried for environmental detection for the hybrid hopping and flying robot. However, its unique of jumping locomotion enhances the agility of the movement of the robot and boosts its efficiency and prolongs its working time by over four-fold. In addition, thanks to the simple mechanical structure of the telescopic leg, this design can also be installed on conventional quadcopters as an additional component, allowing them to gain jumping locomotion.
According to the embodiments of the invention, by the combination of hopping and flying capabilities of the robot, mechanical simplicity and power efficiency can be achieved.
By its hybrid locomotion, the robot transcends the limitations of aerial or terrestrial locomotion alone, allowing it to navigate complex environments with ease and with boosted agility. Its ability to hop and fly enables rapid changes in the moving direction, making it more versatile than traditional aerial robots.
The passive telescopic leg design of the robot allows it to perform high-performance locomotion without the need for a trigger, actuation in stance, or variable mechanical advantage. This makes it mechanically simpler and more reliable than other bio-inspired jumping robots that rely on latched or unlatched elastic actuation.
The robot surpasses the state-of-the-art jumping robots, achieving a maximum velocity (jumping agility) of 2.38 m/s at a jump height of 1.63 m. Its thrust-based actuation allows fine-tuning of jump height, and its short stance phase enables higher hopping frequencies, resulting in remarkable agility.
Unlike aerial mode, the robot generates thrust intermittently during hopping mode, extending its operation time and reducing power consumption. This feature allows the robot to achieve a four-fold increase in endurance compared to benchmark quadcopters, making it more energy-efficient for long-duration tasks.
The passive leg design of the robot can be easily integrated into conventional rotorcraft, enabling standard quadcopters to transform into hopping robots with simple additions and control changes. This adaptability unlocks new performance frontiers through hybrid locomotion and broadens the potential applications for aerial and terrestrial robots.
It will also be appreciated that where the methods and systems of the invention are either wholly implemented by computing system or partly implemented by computing systems then any appropriate computing system architecture may be utilized. This will include stand-alone computers, network computers, dedicated or non-dedicated hardware devices. Where the terms “computing system” and “computing device” are used, these terms are intended to include (but not limited to) any appropriate arrangement of computer or information processing hardware capable of implementing the function described.
It will be appreciated by a person skilled in the art that variations and/or modifications may be made to the described and/or illustrated embodiments of the invention to provide other embodiments of the invention. The described/or illustrated embodiments of the invention should therefore be considered in all respects as illustrative, not restrictive. Example optional features of some embodiments of the invention are provided in the summary and the description. Some embodiments of the invention may include one or more of these optional features (some of which are not specifically illustrated in the drawings). Some embodiments of the invention may lack one or more of these optional features (some of which are not specifically illustrated in the drawings).
Another embodiment of the invention will now be described with reference to
This showcases the robot's potential for applications such as mobile sensing and mapping in challenging environments.
Two key technical contributions underpin this advancement in this embodiment. First, bidirectional thrusters [98]-[102] are introduced, enabling the robot to accelerate towards the ground during the descending phase of its hop. This additional actuation mechanism allows the robot to compensate for the increased energy dissipation resulting from heavier payloads, significantly expanding its load-bearing capabilities. Second, a more comprehensive derivation of the stance phase dynamics is presented. Unlike the model introduced above for the robot in
A. Prototype with Bidirectional Thrusters
The design of the robot in
The passive leg mechanism 220 is best illustrated in
The connection module contains an upper connector 241a that is mounted with an upper bearing module 225a, and a lower connector 241b that is mounted with a lower bearing module 225b. Both the upper connector 241a and the lower connector 241b are fixedly connected to the two upper legs 222a, which help maintain the distance between the two upper legs 222a and provide support to the upper bearing module 225a and the lower bearing module 225b. As can be seen in
The elastomer module is operably coupled between the upper leg section 222 and the lower leg section 224. The elastomer module contains an upper elastomer mounting hook 228 and a lower upper elastomer mounting hook 223. Each of the upper elastomer mounting hook 228 and the lower upper elastomer mounting hook 223 contains a plurality of fingers 228a, 223a, where between a finger 228a of the upper elastomer mounting hook 228 and a corresponding finger 223a of the lower upper elastomer mounting hook 223, an elastomer 243 (e.g., a rubber band) is connected.
To account for the difference in aerodynamic efficiencies of propellers in the rotors in the forward and reverse configurations, four types of propellers (diameters between 3 to 4 inches) are tested for thrust and torque coefficients in both configurations following the protocols in [104]. The results reveal that the ratio of thrust coefficients in the reverse direction to forward direction, defined as Υ, varies from −0.36 to −0.56. The propeller type with the highest absolute (0.56) was selected.
As mentioned above the lower leg 224a is constrained to the upper legs 222a via two sets of bearings, constraining the relative movement between the upper leg section 222 and the lower leg section 224 to a single degree of freedom while minimizing the sliding friction. The telescopic motion is spring-loaded with the elastomers 243. In the default state when the leg length is l0, the elastomers are pre-streched by a length lp. The leg contraction results in further elongation of the elastomers beyond lp (
Unlike previous hopping robots that used inertial motors[96], [105] or leg motors [92], [94], the robot 200 shown in
In particular, forward (upright) thrust is applied when the robot ascends, immediately after the robot takes off. This powered ascent strategy was similarly adopted in the robot shown in
The total energy of the robot's system will gradually decrease with each hopping step, due to the energy loss both in the terrestrial and aerial phase. In the terrestrial phase, the energy loss is caused by landing impact on the ground and the viscous dissipation of leg mechanism during stretching and compressing. Consequently, the magnitude of takeoff velocity will be smaller than the landing velocity as a proportion of e. While in the aerial phase, the energy will be lost due to the air drag especially at high translational moving velocity, which means the higher it hops, the more air drag the robot will be undertaken. To compensate for the lost energy in each hopping step, the thrust force generated from propellers is leveraged to inject energy to the robot's system during the aerial phase, as illustrated in
Next, the enhanced payload capability of the hopping robot in
For the robot to maintain a continuous jump at height h, it must be actuated to compensate for the energy loss. This is ideally achieved by applying upward (forward) propelling thrust Tf during ascent and downward (reverse) thrust Tr during descent when the robot is in the air as depicted in
independent of h as it cancels out on both sides.
To determine the maximum payload mass mp, the maximum forward thrust is considered using the notion of thrust-to-weight ratio Γ=Tf/mrg. In addition, since the reverse thrust is usually lower than the forward thrust, Υ=Tr/Tf≤1 is introduced to indicate the performance of the bidirectional thruster. Employing these definitions, (21) becomes:
To understand the significance of (22), a regular flying robot with an identical thrust-to-weight ratio Γ is considered. In such a case, the maximum payload mass is given by mp/mr=Γ−1. In comparison, for thrust-based hopping, the thrust-to-weight ratio is effectively amplified by a factor of (1+Υ)/η.
This amplification is influenced by two key factors: Υ and η. The energy loss factor η is largely determined by the leg efficiency and can be dependent on the hopping height. For instance, previous 35-gram hopping robot with unidirectional thrust (Υ=0) has an estimated η of approximately 0.23 for jump heights from 0.68 m to 0.96 m. This implies an amplification factor of approximately 4.4. Theoretically, without considering control constraints, the 35-gram hopper with a thrust limit of 42 gf could carry a payload of up to 150 grams when control is not considered. Therein, the robot was able to hop while carrying a light payload with the total mass mr+mp=43 g, slightly over the thrust limit. However, the true payload capability was not analyzed or examined.
In the later section, it will be experimentally demonstrated that the robot in
Comparing with other aerial and terrestrial robots with power autonomy [79], [81], [82], [87], [24], [106]-[124] across size scales (
The dynamics of the hopping robot in
Neglecting aerodynamic drag, in the aerial phase, the robot is regarded as a rigid body of mass m=mr+mp, indistinguishable from a regular quadrotor. The translational dynamic equation can be written into
where p=[x, y, z]T denotes the position of the robot in the inertial frame, R is the rotation matrix associated with the body frame, e3=[0, 0, 1]T is a basis vector, k∈{0, 1} indicates the spinning direction of the propellers (k=0 for forward thrust and k=1 for reverse thrust), Σi=14 fi is the total thrust magnitude, and g is the free-fall acceleration.
The attitude dynamics in the aerial phase is governed by
where I is the inertial tensor, ωb=[ωx, ωy, ωz]T is the body-centric angular velocity, τp is the torque generated by the propellers.
Given the configuration of the robot with the propeller armlength d, the torque in (24) can be derived as
where Ii indicates the location of the ith rotor, for example, li=d√{square root over (2)}[1, −1,0]. Mi is the propeller's induced torque.
Due to the asymmetric profile of the propeller blades, individual rotor thrust fi and induced torque Mi are dependent on the operating condition (forward or reverse thrust). Given the same motor commands or spinning rate, the magnitudes of both fi and Mi are reduced by a factor of Υ and Υm, respectively, for reverse operations. This characteristic must be taken into account when the low-level controller determines the motor commands from the desired thrust and torque values.
As a hybrid dynamical system, the robot exhibits a discrete dynamic behavior at the air-ground transitions.
Immediately after landing (timestamp: tLD), the nonslip pointy foot is considered as a spherical joint. The stationary ground contact point (pivot) can be regarded as the origin of the stance phase model. Defining ps=[xs, ys, zs]T as the position of the Center of Mass (CoM) from the pivot, the initial position and velocity of the stance phase can be computed from the aerial phase state according
where l0 is the undeformed leg length. The landing time stamp tLD can be solved for based on p(t) from (23) and R(t) from (24) using
For the transition back from stance to aerial phase, the position and translational velocity at takeoff time are continuous and can be written as
with tTO being the takeoff time. This is when the elastic leg recoils to its original length or
Meanwhile, the attitude and angular velocity of the robot at takeoff moment can be found as
The dynamics of ps depend on the elastic leg mechanism as described below.
Unlike the previous SLIP-based model for the robot in
In the following model, the robot is regarded as a point mass rotating around the non-slip ground contact point. The design with a relatively long leg (nominal length: l0) allows neglecting the moment of inertia of the robot. Consequently, the equation of motion is simplified to
where ks is the linear stiffness of the elastomer, l=∥ps∥ is the instantaneous leg length, and E is a linear damping coefficient.
To validate the stance phase model in (34) and identify relevant physical parameters, the landing and takeoff states of the robot are experimentally collected by dropping the robot from different heights (between 0.42 m and 0.88 m) and orientations. A total of 343 data points are collected (average height: 0.68 m). In this test, the total weight of the robot was 824 g, including a 500-g dummy payload and an enlarged battery. The resultant landing speeds varied from 3 m/s to over 4 m/s as illustrated in
The trajectory data captured from the motion capture system were processed and encoded. The landing state consists of the landing velocity {dot over (p)}(tLD) and the body axis R(tLD)e3=zb(tLD) as present in (26) and (27). Similarly, the takeoff state includes the velocity {dot over (p)}s(tTO) from (30) and body attitude zb(tTO) or ps(tTO)/l0 from (32). Together, these vectors are visually illustrated in
Based on the complete stance phase in (34), a Genetic Algorithm is employed to identify unknown parameters: Θ={l0, lp, ks, ε}. The objective function is
where wΘ=2 is a positive weight, εzb(Θ) is the Root Mean Square (RMS) angular error of the takeoff body axis (the difference between the experimental measurements and the model predictions based on the landing states), and εv(Θ) the RMS error of the takeoff velocity axis.
To evaluate the accuracy of the model, the pre-diction errors are inspected. The best-fitted parameters result in the average prediction error of 0.9° for the takeoff body axis zb(tTO) and 2.0° for the direction of the takeoff velocity {dot over (p)}s(tTO), plotted as ‘Complete model’ in
With the initial state from (36) and (37), and identified parameters, the 3-DoF stance phase dynamics can be simulated forward to obtain the takeoff state. The inverse map, providing the landing state corresponding to the desired takeoff state, is required for stabilizing and controlling the robot's hopping trajectory.
One approach to obtain the inverse map is to search for the landing state that results in the desired takeoff state (e.g., shooting methods), requiring the stance phase dynamics to be simulated several times to yield the solution. Unfortunately, simulating the stance phase dynamics forward using (34) on the flight control board is computationally demanding and cannot be achieved at a sufficiently high frequency. For the robot of
For the robot of
Based on previous findings for the robot of
Where kv=2.54 and kzb=1.69 are empirically determined constants.
The linear relations in (36) and (37) can be employed to predict the takeoff state ({dot over (p)}s(tTO), zb(tTO)) from the landing state ({dot over (p)}(tLD), zb(tLD)) without directly applying the full dynamics or (34). The linear model predicts the takeoff velocity direction and body axis with the average angular errors of 3.8° and 1.5°, with the error distributions illustrated by boxplots in
Inverse Stance Phase Model with Neural Network Compression
Here, a neural network is used to construct an inverse map of the complete stance phase model. This is required by the hopping controller as described later. To capture the impact of the term mge3 in (34) in the model, information on the direction of the takeoff velocity with respect to gravity is incorporated. The network then predicts the required landing attitude. In addition, different payload masses are taken into consideration. This allows the model to be readily implemented for the robot carrying different payloads without retraining. As the NN is designed to function with the hopping controller, it takes a 6×1 vector as input and produces a 2×1 output vector. The input contains information on the landing velocity and the desired direction of the takeoff velocity. The network then outputs the body attitude of the robot that would result in the desired direction of the takeoff velocity (this is provided by the hopping controller) for that particular landing velocity.
More specifically, the input is
where the first element is the landing speed and the second is the angle between the velocity and gravity. Together, they emphasize the relative direction of gravity. The third entry is the takeoff velocity direction and the last is the payload mass.
The output is defined as
in which the elements are Euler angles rep-resenting the landing attitude (zb(tLD)=[cos(φy) sin(φx), sin(φy), cos(φx) cos(φy)]T) that results in the landing velocity in xN. The angle definitions are visualized in
1) Training Data Generation: To train the neural network model, training data from the complete stance phase model is generated first instead of relying on the limited experimental data. The numerical simulation (4th-order Runge-Kutta method) provides a large range of data that uniformly spans the input space, reducing bias in the process.
To cover a wide range of possible scenarios, the landing state is considered first, which consists of three dimensions of data (landing speed, angle, and payload mass) from the input vector and two from the output (φx, φy), amounting to five independent variables. A specific range is assigned for these five independent elements, within which 15 discrete points are uniformly generated, yielding 155 sets of training data. For the landing speed, the range is from 1 to 5 m/s, corresponding to a hopping height from 0.05 m to 1.28 m. For the angle with respect to the vertical, the range is from 0° to 30°. For payload mass, the input varies from 0.5 kg to 1.5 kg. For landing attitude specified by yN, both Euler angles span a range of ±15°. These ranges encompass conditions of most low-speed hopping. After the simulation with the complete stance phase model, the remaining elements in xN are obtained, corresponding to the takeoff velocity. The resultant takeoff speeds vary from 1 m/s to 5 m/s. Remark that the takeoff speed could be as high as the landing speed despite viscous losses when the center of mass of the robot when taking off is lower than at landing. In the end, all eight elements for N=155 pairs of input/output vectors are obtained.
2) Training of the neural network: a neural network is trained to represent the inverse map of the stance phase based on the generated simulation data, mapping the 6×1 input xN to the 2×1 output yN. The architecture of the network consists of six fully connected layers structured as 6→64→256→256→32→2, employing rectified linear unit (ReLU) activations. This design incorporates a total of 91,170 parameters, significantly fewer than the 155=759, 375 parameters required for a direct lookup table of the inverted dynamics.
To optimize the neural network's output, a loss function is defined that minimizes the angular discrepancy between the predicted landing attitude vector and the training data, represented by the dot product of the two unit vectors. This loss function is expressed as:
where the index i refers to the ith set of data. Here zbT(yN(i)) is the landing attitude corresponding to yN taken from the training data, and {circumflex over (z)}b(xN(i)) is the predicted landing attitude based on the output of the network, computed using the current set of hyperparameters. The minimization is over a set of hyperparameters of the entire network.
The neural network was implemented and trained using PyTorch, employing the Adam optimizer with a learning rate of 0.01. To balance the contributions of different vector ranges to the total loss, batch-wise weighting is applied. The dataset, comprising 155 samples, was randomly shuffled and partitioned into training (80%), validation (10%), and test (10%) sets. To mitigate overfitting, performance on the validation set during training is monitored. Training progressed for 2000 epochs, with convergence monitored using an angle discrepancy metric derived from the loss function. As illustrated in
To assess the trained network, its performance is evaluated on the test set (75,937 samples). The predicted attitude {circumflex over (z)}b (tLD) constructed from the output vector is compared with the ground truth and inspected the angular errors. The results demonstrate that, excluding a few outliers, the errors are consistently below 0.1. This is negligible when compared against the takeoff angular errors computed from the predictions from the complete model and the experimentally collected data (velocity: 4.2°, attitude: 2.0°,
Next, the control architecture for stabilizing the attitude and trajectory of the thrust-based hopping robot is presented. The controller leverages the fact that the stance phase is extremely short and passive, meaning no active control is exerted during this phase. This controller is hinged on the reverse map of the stance phase, compressed in to the trained neural network. The key method employed is controlling the landing attitude, which serves as the initial condition for the stance phase. This effectively manipulates the direction of the takeoff attitude, takeoff velocity, and subsequent aerial phase trajectory.
The controller is divided into four primary components: (i) a height controller, (ii) a high-level position controller, (iii) thrust and attitude management, and (iv) a low-level attitude controller, as illustrated in
In addition to the use of the NN-compressed reverse stance phase model, the primary distinction from the robot of
As indicated by (21), the hopping height is closely related to the amount of energy in the system, which can be regulated through powered ascent and descent during the flight phase. Therefore, the height control strategy involves two main steps: nominal height prediction and height control. First, a method for predicting the nominal hopping height of the next step when the robot is landing is presented. Then, the control strategy is detailed, which adjusts the thrust duration of the robot in the aerial phase. The amount of adjustment is based on the nominal hopping height and the desired hopping height, taking into consideration the payload weight. This ensures the desired hopping height is approximately reached.
1) Nominal Hopping height: The nominal hopping height h is estimated based on the current amount of energy of the robot. This serves as a reference value for the hopping height controller to evaluate whether additional energy is required for the robot to reach the desired height hd. The estimation is carried out cyclically at the moment (tLD) of the landing of each hop step, based on the recorded apex velocity {dot over (p)}(tAP) and the descent duration tLD−tAP (refer to
In this step, the nominal height is computed assuming the kinetic energy of the robot at landing is subsequently converted to the potential energy, after taking into consideration the loss factor η that captures the energy loss in the leg mechanism in the stance phase. This yields
In the absence of control, ĥ will be the maximally feasible hopping height of the robot after it takes off. Furthermore, the conservation of energy also informs us about the speed of the robot when it takes off from
with the nominal height ĥ obtained when {dot over (p)}d(tTO) is upright.
2) Hopping height control: Depending on the nominal hopping height in (42) and the desired height hd, the height control strategy regulates two key parameters: the duration of powered ascent (tPA−tTO) and powered descent (tLD−tPD). The approach varies depending on the payload weight.
First, (22) is employed to determine the maximum payload mass mp that is compatible with the unidirectional thrust limit (taking Υ=0 and η=0.25), resulting in mp=(Γ/η+1)mrg=1.54 kg.
For lighter payload within this limit, only powered ascent is employed, setting tPD in
If the nominal hopping height is higher than the desired height (ĥ>hd), the powered ascent is forgone as no additional energy needs to be injected into the system.
Otherwise, a short burst of powered ascent is applied immediately after takeoff to maximize the power input. The required energy input to achieve the desired height is mg(hd−ĥ). Given that the vertical speed of the robot immediately after takeoff is approximately √{square root over (2 gĥ)}, the required powered ascent time tPA−tTO can be approximated from
where Tf is the magnitude of the forward thrust force. Its value depends on the payload mass. To meet the energy condition in (21), Tf should be greater than 77 mg. Concurrently, Tf cannot exceed its maximum limit (Γmrg) while leaving some room for torque generation and attitude control.
For payload exceeding the unidirectional thrust limit of 1.54 kg, both powered ascent and descent are employed. The powered descent was designed to inject more energy into the system. The additional energy needed during the powered descent phase could be evaluated by subtracting the maximum energy that could be replenished during the ascent phase Γmrgĥ from the expected energy lost ηmgĥ in each hop. It follows that when the energy is injected with the maximum reverse thrust Tr=ΥΓmrg, the required powered descent distance hpd can be estimated from:
Based on the maximum payload mass condition in (22), the payload mass is upper bounded as mp<(Γ(1+Υ)/(η−1)mr, such the total mass satisfies m<(Γ(1+Υ)/(η−1)mr/η. Hence, in (46), there are the term ηm/Γmr−1<1/Υ and hpd<ĥ. This means the powered descent distance is shorter than ĥ as expected. In practice, Tr is set to be lower than the maximum limit of ΥΓmrg in order to maintain sufficient attitude control capability. Therefore, (45) is only approximately valid. Taking a cue from (45), a tuning parameter kh is introduced to yield hpd as a function of ĥ according to
Expressing hpd as e3T({circumflex over (p)}(tPD)−{circumflex over (p)}(tLD)), the duration for powered descent tLD−tPD can also be later computed using (48)-(51). This use of powered descent increases the vertical speed of the robot at landing, pushing the robot closer to the desired height hd in the subsequent jump.
Similar to hopping robots capable of continuous jumps such as the robot in
The high-level position control is performed in three steps: (i) a landing state predictor estimates the current (cycle k) landing state based on the apex position and velocity, (ii) the errors between the desired landing position for cycle k+1 and the current landing position is used to calculate a desired aerial trajectory which is represented by a takeoff velocity, (iii) the landing attitude needed to achieve the takeoff velocity is iteratively estimated.
The coupling between the landing attitude and the takeoff velocity, which influences the subsequent landing location, complicates the control strategy. The controller must solve for the desired landing attitude iteratively as illustrated by
Below, an elaboration is firstly provided on how the landing position of the current cycle k is predicted. This is computed once per hop. Then, the position control is detailed. These steps are iteratively executed once per hop. For brevity, the iteration index (·)(i) is omitted from the following equations.
1) Landing state prediction: The upcoming landing state, comprising the landing position and velocity is predicted ({circumflex over (p)}(tLD)|k, {circumflex over ({dot over (p)})}(tLD)|k) once per hopping cycle after the robot reaches the apex during the aerial phase.
As shown in
where tAP is the apex timestamp and tPD marks the start of the powered descent phase. The beginning of the powered descent phase tPD is empirically obtained when the robot falls to a height hpd (designated by the height controller in (46)) and is computed from e3T({circumflex over (p)}(tPD)=hpd. Hence, the time the robot spends in free fall is tPD−tAP.
During the powered descent with a reverse thrust Tr, the robot is assumed to be aligned with the desired landing attitude zb(tLD)|k. It experiences an additional acceleration of Tr/mzb. Thus, the estimated landing position {circumflex over (p)}(tLD) and velocity of the robot {circumflex over ({dot over (p)})}(tLD) are
where the landing time tLD is calculated by imposing the flat ground condition e3T{circumflex over (p)}(tLD)|k=0.
(2) Desired takeoff velocity: To ensure the robot follows a prescribed hopping trajectory, an iterative lateral position control strategy is implemented based on the predicted landing position of the next hop {circumflex over (p)}(tLD)k+1. This is then used to compute the required takeoff velocity {circumflex over ({dot over (p)})}(tTO)|k that would approximately and subsequently navigate the robot to the desired position {dot over (p)}d(tTO)|k.
Similar to the strategy mentioned above for the robot in
Starting from the predicted landing position {circumflex over (p)}(tLD)|k and a hypothetical takeoff velocity {dot over (p)}(tTO)|k, the landing position {circumflex over (p)}(tLD)|k+1 in the next hopping step is estimated by assuming an entirely ballistic trajectory. As the flight phase time is equal to 2e3T{dot over (p)}(tTO)|k/g, the next landing location is expected to be
which can be re-arranged into
In this form, an explicit expression of {dot over (p)}(tTO)|k is attempted to be found. To do so, {dot over (p)}(tTO)|k is expressed in terms of horizontal and vertical components. With the energy equation in (43), one have
Substituting {dot over (p)}(tTO)|k from (53) into (54) yields
where the fact that e3T({circumflex over (p)}(tLD)|k+1−{circumflex over (p)}(tLD)|k)=0 (flat ground condition) is applied. The result permits us to solve for the vertical component of {dot over (p)}(tTO)|k from
Then, the horizontal components can be evaluated by projecting (53) along the directions of e1 and e2, making use of (56) as
Together, (56) and (57) provide a full expression of the takeoff velocity as a function of {circumflex over (p)}(tLD)|k, which is dependent on zb(tLD)|k through (50).
3) Iterative implementation of the position controller: In this final step, the landing attitude z(i)(tLD)|k and the takeoff velocity {dot over (p)}(i)(tTO)|k are iteratively determined which together minimize the landing position error.
First, after the robot has reached the apex, the landing attitude is initialized to be the vertical: zb(0)(tLD)|k=e3. This is used to by (50) and (53) to predict the current {circumflex over (p)}(tLD)|k and the next landing positions {circumflex over (p)}(tLD)|k+1.
The landing position at cycle k+1 is highly dependent on the takeoff velocity {dot over (p)}(tTO)|k. Hence, {circumflex over (p)}(tLD)|k+1 is regarded as the setpoint position and (56) and (57) are used to estimate the required takeoff velocity {dot over (p)}(tTO)|k. This is by substituting {circumflex over (p)}(tLD)|k+1 in those equations with the reference pd|k+1 (if the robot is unable to reach the setpoint in a single hop, an intermediate setpoint is introduced). Once the corresponding value of {dot over (p)}(tTO)|k is evaluated, it is used as an input vector xN for the NN. The output yN of the network is translated to an auxiliary attitude vector {circumflex over (z)}b(i)(tLD). The outcome is then used to incrementally update the desired landing attitude at step k for the next iteration according to
where wz=0.5 is an update weight.
Next, steps 2 and 3 are repeated to recompute the desired takeoff velocity and update the desired landing attitude in an iterative fashion. The process is terminated when ∥zb(i)(tLD)−zb(i−1)(tLD)∥<10−4. In practice, this usually takes 3-4 iterations. After the convergence, the final value of zb (tLD) is passed on to the attitude controller as elaborated below.
In this step, thrust T and attitude R of the robot in the aerial phase are controlled according to the operational states: unpowered flight, powered descent, and powered ascent, as depicted in
While hopping, the thrust direction switches twice each cycle when power descent is adopted. In the meantime, the thrust magnitude in the powered ascent and descent is provided by the height controller. Whereas during the unpowered flight phase, the desired thrust is nominally zero, complying with the assumption of ballistic trajectories used for the next landing position estimation in (52).
To compute the attitude setpoint Rd from the desired body axis zb, the fact is used that zb=Re3 is independent of the yaw angle ψ when the rotation matrix is parameterized by roll ϕ, pitch θ, and yaw ψ angles as R=Rz(ψ)Ry(ϕ)Rx(θ). Treating ψ as an arbitrary setpoint, the desired roll and pitch rotations can be determined from zb and ψ according to
As previously described, the desired attitude while the robot is ascending is zb=e3. In contrast, while descending (powered or unpowered), the desired attitude is determined by the landing position controller as the desired landing attitude. The target thrust and attitude are then taken by the low-level attitude controller to produce the motor comments.
Given the desired thrust Td and attitude setpoint Rd from the thrust and attitude management module, the following controller is employed to regulate the robot's attitude and generate appropriate motor commands.
The attitude controller aims to correct both attitude and angular rate errors, taking into consideration a possibly large attitude error. Hence, the attitude error is computed as RTRd, which represents the rotation between the desired attitude Rd and the current attitude R. This error is then expressed using the angle-axis representation as a vector eθ to avoid the singularity issue. The control torque τ is then calculated as [127]:
where kp and kd are control gains and ωd is the desired angular rate, calculated by taking the numerical derivative of the desired attitude.
To obtain the motor commands u=[u1, u2, u3, u4]T from the control torque r and desired thrust Td, the following optimization strategy is deployed.
Here, the matrix Af,r={Af, Ar} (for forward and reverse thrust) maps the motor commands to torque.
Unlike the use of linear mapping and matrix inverse as commonly deployed in quadrotors, the method in (61) is required in this work as the desired thrust value in the aerial phase, particularly in the unpowered phase, is oftentimes small or zero. Computing the motor commands directly from deterministically solving the linear map would result in negative values of ui's. In such cases, the proposed method would allow the robot to generate thrust slightly higher than the target in order to ensure the motor commands remain positive and the desired control torque is produced.
To evaluate the performance of the robot, the hopping strategy, and validate the payload carrying ability, several indoor and outdoor experiments are conducted. First, in order to compare the effect of payload weight on the robot's ability to track the trajectory, the trajectory tracking performance of the robot is evaluated with variable payload up to 2 kg. Second, the hopping maneuver is investigated with various payload weights. Third, to demonstrate the agility of the hopping robot while carrying a heavy load, a 90-degree sharp turn experiment is conducted, with a 500-gram payload. Finally, the robot is equipped with an onboard computer and LiDAR sensor as functional payload to perform outdoor hopping experiments, testing the robot both with and without autonomous navigation to showcase its potential for operating in and exploring unknown environments.
To validate the hopping performance of the robot and its payload carrying capacity, the trajectory tracking experiments are conducted with payload mass: no payload, 0.5 kg, 1.0 kg, 1.5 kg, and 2.0 kg.
The reference trajectory was designed as a figure-8 path, confined within a 2.2×2.2-m area, as illustrated in
The position and velocity feedback at the apex (p(tAP), {dot over (p)}(tAP)) was acquired through the motion capture system (Optitrack Prime 13w) at a frequency of 100 Hz. Additionally, to prevent IMU estimation drift during the robot's free fall (un-powered aerial phase) due to near-zero accelerometer readings, attitude measurements were transmitted to the onboard attitude estimator at a frequency of 10 Hz. The complete stance phase model described previously was employed to predict the landing attitude zb (tLD) for each hopping step.
Without any payload, the robot only used powered ascent with a thrust command of Tf=0.53 mrg=116 gf, with an averaged powered ascending duration of ΔtPA=0.15 s as given by the height controller. The tracking results in
Furthermore, the power consumption during the maneuvers is estimated based on the thrust commands, exploiting the empirical model of propulsion power. Including the power expended by the flight avionics of approximately 0.5 W, an average power consumption of 10.6 W or 7.1 J per hop is yielded. The corresponding power loading is 23.1 g/W. Over the 69-s trajectory, the robot traveled 11.47 m, with an average lateral speed of 0.17 m/s.
With the increased payload weight (0.5 kg, 1.0 kg, and 1.5 kg) the powered ascent thrust command was set to 0.99 mrg, 1.39 mrg, and 2.09 mrg, respectively. Based on the average duration of powered ascent, the robot consumed, on average, 19.5, 26.1, 43.6 W, or 13.0 to 17.5 and 29.2 J of energy per step. The average power loading of 38.6, 48.1, and 40.3 are higher than the no payload trajectory.
When carrying a 2-kg payload, nearer to the theoretical payload limit of 2.22 as computed by (22), the robot took advantage of the bidirectional thrusters to realize powered descent. The tuning parameter for the powered descent in (47) was set to kh=0.8. The average powered ascent and descent durations are 0.27 and 0.19 s. Thanks to the use of power descent, the power loading of 15.9 is approximately half of those of previous experiments accomplished with only powered ascent (see
Leaping with Payload
As indicated by the complete stance phase model in (34), the influence of the term mge3, corresponding to the total weight of the platform, on the hopping dynamics becomes increasingly important when the directions of the leg vector (denoted by ps/∥ps∥) and the gravity (e3) are misaligned. This occurs in more aggressive jumps with larger steps when the robot's landing attitude zb deviates significantly from the vertical. Therefore, the inverted complete stance phase model, compressed into the NN controller, should allow the robot to perform large jumps more accurately than the simplified linear model in (36) or an incomplete model used in the robot of
Thus, to showcase the advantage of the NN-based controller, exploiting the complete stance phase model, a trajectory is designed with a large step and compared hopping performance with that obtained using a controller with the linear model (
In this experiment, the hopper was commanded to perform a single hop with a step length of 1.0 m at a 0.65 m hopping height. To accomplish this, the lateral speed at the takeoff must reach 1.4 m/s. This was completed when the robot carried a 0.5 kg payload. The experiment was repeated with 1.0 kg and 1.5 kg payloads. Except for the stance phase model, other implementations and parameters for the two control methods were identical, including the high-level position controller, height controller, and low-level attitude controller.
The resultant trajectories are plotted in
Sharp Turn with Large Steps and Payload
To further demonstrate the ability to hop with large steps while carrying a heavy payload, a turning maneuver is examined with a 0.62 kg payload (
Here, the robot started the maneuver by jumping forward with a step size of 2 m and a height of 0.75 m. The robot's landing attitude setpoint was computed such that the next landing position is 2 m away with a 90-degree turn. After that, the previous setpoint was repeated, requiring the robot to rapidly decelerate and suddenly come to a stop by hopping in place. In the experiment, the entire trajectory took 1.76 s, counting from the first to the third hop, resulting in an average horizontal speed of 2.27 m/s as illustrated by
With the ability to carry a payload several times heavier than itself, the robot is able to carry a sensing and computing module to autonomously operate outside the laboratory, eliminating the need for feedback from the motion capture system. This was previously infeasible for the 35-g hopper in
With the estimates of apex position p(tAP) and velocity {dot over (p)}(tAP) required for the landing state prediction in (50)-(51), the robot is able to hop stably outside the laboratory. To validate the effectiveness of the onboard LiDAR odometry, the outdoor hopping experiments are conducted along a hill-side trail (
In addition to providing the position and velocity feedback for stabilization, the LiDAR also generated a 3D point cloud map in
Thanks to the point cloud map generated by the LiDAR system, the robot could leverage this sensing capability to hop and navigate autonomously, avoiding collisions, without directly relying on a human operator. To enable autonomous navigation, the sensing and control structure in
As part of the control subsystem, the autonomous navigation is enabled by the planning algorithm, implemented on the onboard computer as outlined in
For trajectory planning, a modified version of the kinodynamic A* algorithm is employed, adapted from methods used in aerial robotics [84], [131]. This modified algorithm plans a safe, dynamically feasible path in 3D space while accommodating the planar characteristics of our high-level position controller. Specifically, the start and goal positions used for path searching are at the desired hopping height hd. In between, the algorithm searches for an obstacle-free path at an altitude near hd. This is by limiting the vertical acceleration of the generated path to a narrow range (±0.1 m/s2). However, only the horizontal component of the generated trajectory is used by the hopper as pd|k+1, whereas hd is kept constant. This ensures the planner considers obstacles in three dimensions along the trajectory.
To enhance the efficiency of safety checks, the point cloud data are organized into a k-d tree structure [84], [132]. The planned path is then projected onto the ground and discretized into several landing points, maintaining a constant Euclidean distance between each point. These discrete landing points serve as the desired values pd(tLD)|k for each hopping cycle, which are input into the onboard hopping position controller. The hopping altitude setpoint is separately set to hd, regardless of the generated trajectory. To account for dynamic obstacles and changes in the environment during exploration, the trajectory is re-planned every five hopping steps by rerunning the planning algorithm. This adaptive approach ensures the robot can navigate safely through changing environments while maintaining its efficient hopping gait.
To validate the autonomous navigation ability and the effectiveness of the method, the experiment is conducted along a pedestrian path surrounded by trees as seen in
The robot traveled over 15 m in 73 s (average speed: 0.2 m/s) without colliding with any obstacles. During this period, the robot localized itself with the LiDAR-generated map shown in
In summary, one can see in the embodiment of
The enhanced dynamic model, coupled with a neural network-based control strategy, enables robust hopping performance across various tasks. Exploiting the increased payload capacity, a LiDAR sensor and onboard computer are integrated, demonstrating the robot's potential for autonomous navigation in GPS-denied environments. This capability to hop with a thrust-to-weight ratio below one suggests promising applications for insect-scale aerial robots [133]-[135], which often face challenges in carrying sensors and batteries for untethered operations [86], [136].
Presently, the high-payload hopper displays impressive power loading compared to aerial robots at similar scales [88], indicating that hopping in place is an efficient strategy for loitering at low altitudes. The cost of transport of the robot remains high (over 30) as the demonstrated maneuvers are relatively slow. To enhance transport efficiency, realizing high-speed hopping remains a promising avenue for future research.
Another prospective direction involves developing a footpad to enable the robot to navigate or hold on to rough terrain[137], which could be invaluable in search and rescue missions. While a footpad might introduce additional energy losses, it represents a strategic trade-off between efficiency and versatility.
The exemplary embodiments of the present invention are thus fully described. Although the description referred to particular embodiments, it will be clear to one skilled in the art that the present invention may be practiced with variation of these specific details. Hence this invention should not be construed as limited to the embodiments set forth herein.
While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only exemplary embodiments have been shown and described and do not limit the scope of the invention in any manner. It can be appreciated that any of the features described herein may be used with any embodiment. The illustrative embodiments are not exclusive of each other or of other embodiments not recited herein. Accordingly, the invention also provides embodiments that comprise combinations of one or more of the illustrative embodiments described above. Modifications and variations of the invention as herein set forth can be made without departing from the spirit and scope thereof, and, therefore, only such limitations should be imposed as are indicated by the appended claims.
| Number | Date | Country | |
|---|---|---|---|
| Parent | 18465403 | Sep 2023 | US |
| Child | 19002977 | US |