Ballistic robotic system with spin and other robotic controlled motions during flight

By designing a ballistic robot system that uses sensor data and actuator control, the problems of spin and complex motion control during flight are solved, precise attitude and orientation control during landing are achieved, and the robot's performance capabilities are improved.

CN110405752BActive Publication Date: 2025-03-04DISNEY ENTERPRISES INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN201910279473.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-04-27
Filing Date
2019-04-09
Publication Date
2025-03-04
Estimated Expiration
2039-04-09

AI Technical Summary

Technical Problem

Existing robots have difficulty achieving spin and other complex motions during flight and cannot accurately control attitude and orientation when landing.

Method used

A ballistic robot system is designed to use both onboard and non-onboard sensor data to control the position and movement of the robot through actuators to achieve controlled motion in flight, and achieve target attitude and orientation upon landing.

Benefits of technology

Accurate control of the robot's spin and other movements during flight, and ensures desired posture and orientation when landing, enhancing the robot's entertainment and survivability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN110405752B_ABST
    Figure CN110405752B_ABST
Patent Text Reader

Abstract

A system and corresponding control method provide a ballistic robot that flies on a trajectory (e.g., unpowered flight as a ballistic body) after being released from a launch mechanism. The ballistic robot is adapted to control its position and / or movement in flight by processing data from onboard and offboard sensors and by issuing timely control signals to one or more onboard actuators to achieve controlled movement in flight. The actuators may move appendages such as arms or legs of the robot, or may change the configuration of one or more body links (e.g., from an unfolded configuration to a folded configuration), while other embodiments may trigger a drive mechanism of an inertial motion assembly to change / move the moment of inertia of the flying body. Controlled movement in flight is performed to achieve a desired or target attitude and orientation of the robot during flight and upon landing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present specification generally relates to robots (or electronic devices, as these terms are used interchangeably herein) and robotic motion control techniques, and more particularly, to robots and robot control methods adapted to control the robot's spin and other motions during unpowered flight, such as during travel along a trajectory as a projectile or ballistic body, or on a travel path established at least in part by a launching mechanism. The robot's motion during flight may be selected to land on a landing surface (e.g., a surface of a capture assembly that may include a mat, net, etc.) in a desired or target orientation and / or pose. Background Art

[0002] Robots or actuated animatronics are typically ground-based. These ground-based robots are typically fixed in a single location, or can move with wheels or tracks to roll on a surface or with legs to walk around space. To date, little or no effort has been made to provide robots that can fly through space with desired movement, such as movement that simulates spins, turns, flips, and other actions of flying superheroes, acrobatic characters, and the like. The in-flight movement of flying robots has recently been in demand to provide unique and surprising entertainment to audiences in environments where it may be difficult to utilize live performers.

[0003] To date, most efforts to control the movement of robots in the air involve relatively complex robotic devices and controls designed to successfully perform relatively simple jumps or similar movements. For example, some robot designs have tails that move when the robot is in the air, attempting to control a specific orientation of the robot when landing, but without any other control objectives during flight. In another example, legged robots are controlled to move their legs during another jump to control a single posture or orientation of the robot when it lands. Although useful in certain applications, these robots are expensive to manufacture and can only provide a desired orientation when landing. These robotic devices cannot provide mid-air or aerial programs including multiple flips, twists, mutations, and postures. Therefore, there is still a need for a robot design that provides control of spin or rotation during flight, to provide control of posture and orientation throughout the flight, and to control the position of one to all actuators (e.g., the entire landing posture, not just the orientation of wheels or landing feet, for example) when landing.

[0004] In other areas of research, flying machines such as drones provide similar entertainment in the air. However, to date, the development of drones and similar devices has focused primarily on powered flight, which uses motored propulsion to achieve position and motion control. As a result, existing drones are unable to provide articulated movements that simulate complex movements, such as those performed by gymnasts or stuntmen. In fact, the focus on stability and control of drones has resulted in rigid bodies that intentionally do not move during powered flight. Therefore, there is still a need for new designs of robots that provide motion control during their unpowered flight. Summary of the invention

[0005] In short, a system and corresponding control method (or "ballistic animatronics") are described herein that provide a ballistic robot that flies on a trajectory after being released from a launch or propulsion mechanism (e.g., unpowered flight as a ballistic body or projectile). The ballistic robot is adapted to control its position and / or movement in flight by processing data from onboard and offboard sensors and by issuing timely control signals to one or more onboard actuators to achieve controlled movement in flight. The actuators may move an appendage such as an arm or leg of the robot, or may change the configuration of one or more body links (e.g., from an expanded configuration to a folded configuration (or vice versa), while other embodiments may trigger a drive mechanism of an inertial motion assembly to change / move the moment of inertia of the flying body.

[0006] In some cases, the ballistic robot performs pre-launch controlled movements, such as when on a swing or pendulum launch mechanism, to pump energy into the body to obtain a desired trajectory upon launch and / or to perform certain stunts or moves during flight. In the same or other cases, in-flight controlled movements are performed to achieve a desired or target pose and orientation of the robot during flight and upon landing on a landing surface, in order to simulate the movements of a particular character (or live performer) and / or to enhance the robot's survivability (e.g., by dispersing braking forces applied to the robot's body through a capture system).

[0007] More specifically, a ballistic robot system is provided for controlling the pre-launch motion and in-flight motion of a ballistic (non-powered flight) robot, and for achieving a target attitude and orientation upon landing. The system includes a robot, which includes a controller (hardware (e.g., (multiple) processors and software), an onboard sensor, a body supporting the controller and the onboard sensor, and at least one component configured to be actuated by the controller. The robot system also includes a capture system having a landing surface and a launch mechanism spaced a lateral distance from the landing surface. The launch mechanism operates to first support the robot during a pre-launch process phase, during which energy is provided to the body of the robot, and secondly launch the body of the robot as a ballistic body, whose trajectory defines a flight path that intersects the landing surface. During system operation, while flying on the flight path, the controller processes data collected by the onboard sensor and generates a control signal in response to cause actuation of at least one component so that the body performs a predefined controlled motion before impacting the landing surface.

[0008] In some embodiments, during flight on the flight path, the predefined controlled motion is adapted and timed so that the body has a predefined attitude, a predefined orientation, or a predefined landing angle upon impact with the landing surface. In this regard, processing of the data collected by the controller can include calculating the angular velocity and the remaining time before impact with the landing surface to help determine when to trigger a control signal to perform a particular movement / motion. At least one component can be configured to move the body between a folded configuration and an unfolded configuration, and the predefined controlled motion is a movement from the folded configuration to the unfolded configuration before impact with the landing surface.

[0009] Under the same or other embodiments, the onboard sensors include an inertial measurement unit (IMU) and at least one rangefinder, and the controller processes data collected by the onboard sensors to determine the current angular velocity and current altitude of the body while flying on the flight path. In these cases, the ballistic robotic system may also include (multiple) off-board sensors that transmit the collected data to the controller for processing to determine the current position of the body on the flight path, and the current position can be used by the on-board controller to determine the timing of triggering the control signal. In addition, the off-board sensors may include at least one of: a motion capture system; a floodlight that provides polarized light received by a first light sensor on or in the body; or a laser that provides a beam or plane of light received by a second light sensor on or in the body.

[0010] In some embodiments of the system, at least one component includes an inertial movement assembly that operates in response to a control signal to move the moment of inertia of the body. In other cases, at least one component includes an actuator and a positionable attachment or linkage of the body, and the predefined controlled movement includes moving the attachment or linkage to change the spin of the body about at least one axis.

[0011] In these and other cases, the launch mechanism includes a pendulum assembly having an elongated pendulum member, the body of the robot is removably coupled to the ends of the elongated pendulum member, and the pendulum assembly is gravity-based or energized to reach a predefined speed when launching is initiated. The controller can be operated to generate a second control signal to cause actuation of at least one component during a pre-launch process stage so that the body moves in a second predefined controlled motion on the trajectory before launching the body. The second control signal can be generated by the controller at a predefined time after the initial movement of the elongated pendulum member during the pre-launch process stage, and the second predefined controlled motion can be suitable for causing the body to spin in a predefined manner about at least one axis on the flight path. In addition, at least one component can be configured to move the body between a folded configuration and an expanded configuration, and the second predefined controlled motion can be a movement from the expanded configuration to the folded configuration before launching from the launch mechanism.

[0012] In some useful embodiments, at least one component includes an actuatable element for changing aerodynamic properties of one or more exterior surfaces of the robot's body to initiate a predefined controlled motion. In the same or other useful embodiments, a mid-flight booster system is provided in the system and located between the launch mechanism and the capture system. The booster system is used to add or remove energy to the robot's body as the robot flies on the flight path and before impact with the landing surface (e.g., by impacting it in flight, by applying more energy to the body before capturing and then releasing it in layers, etc.) to change the trajectory of the robot during its flight. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 is a functional block diagram of a ballistic robot flight system according to the present specification;

[0014] Figure 2 is a side perspective view of a robot of the ballistic robot system used in the present specification;

[0015] Figures 3A-3C Shows Figure 2 Side views of a robot in three modes of operation (or after three controlled movements) for ballistic flight to perform aerial stunts (e.g., flips / somersaults and desired landing attitude and orientation);

[0016] Figure 4 is used Figure 2 The ballistic flight system of the robot of this specification (for example, Figure 1 A side view of an embodiment of a system of FIG. 1 and illustrating multiple positions of a ballistic robot during use thereof;

[0017] Figure 5 is a flow chart of a control method (or algorithm) for a ballistic robot to perform predefined stunts and land with a target orientation and attitude;

[0018] Figure 6 is a schematic diagram of the combination of the physical elements of the robot and the pendulum launching mechanism, showing the joints and rigid body elements;

[0019] Figure 7 is a graph showing the model comparison experimental results of a typical somersault animation;

[0020] Figure 8 is a graph showing the experimental results of model comparison of early folding and late release actions;

[0021] Fig. 9 A graph illustrating reachable states with various constraints is provided;

[0022] Fig.10 A graph comparing height estimates using angle-corrected laser rangefinder readings is provided;

[0023] Fig.11 is a graph comparing the altitude and velocity estimates using integrated vertical acceleration (note that the differences start around the release time (t=1.6) for runs 1, 2, and 4);

[0024] Fig.12 It is a diagram of the experimental device or system of the ballistic robot of this specification;

[0025] Fig.13 One embodiment of a hand release mechanism is shown;

[0026] Fig.14A and Fig. 14B An embodiment of a foot release mechanism is shown;

[0027] Fig.15 A detailed schematic diagram of another embodiment of a ballistic robot or stunt robot is provided, showing component masses;

[0028] Fig.16 Shows Fig.15 A simple model of a ballistic robot for pumping using two rigid bodies or linkages;

[0029] Fig.17 Graph showing the effect of pumping phase shift on oscillation amplitude;

[0030] Fig.18 The effect of pumping phase shift on the oscillation angle is illustrated by three graphs;

[0031] Fig.19 is a graph that illustrates the effect of simulated deviation in the z-axis accelerometer on Fig.15 The impact of a single shot on the position estimation of a ballistic robot;

[0032] Fig. 20 A set of graphs are provided that illustrate the linearity of the effects of sensor non-idealities over a range of interest;

[0033] Fig.21 is a graph showing the region of acceptable error for gyroscope nonlinearity;

[0034] Fig. 22 is a graph illustrating a region of acceptable error for accelerometer nonlinearity; and

[0035] Fig.23 is a graph showing the estimated position versus the actual position for eight throws / launches. DETAILED DESCRIPTION

[0036] The inventors recognize that there are many scenarios where it may be desirable to provide a "stunt" robot or animatronic device that can be used to provide a performance or entertainment of a flying character performing acrobatic actions in mid-air in place of a real actor or performer. To this end, the present invention contemplates a ballistic robot system (and a corresponding control method for providing ballistic animatronics or "acrobatics" or "stunts") that typically includes a ballistic launch mechanism for launching the robot into the air (or onto a flight path) with a trajectory. The robot includes an onboard motion control system for providing actuated motion / movement that is completely internal, such as having an inertial motion component and / or having movement that is visible externally, such as by operating one or more actuatable joints or components (e.g., moving the robot body to a folded posture and back to a planar / linear posture and / or moving one or more legs and / or arms to increase or decrease drag or change spin, etc.).

[0037] The system uses a set of on-board and off-board sensors to determine multiple parameter values ​​for controlling the robot's motion, such as altitude, angular velocity, attitude, orientation, etc., and an on-board motion control system triggers movement at specific points on the trajectory / flight path. The system also includes a capture / receive system having a landing surface (e.g., a mat or net) on which the robot lands at the end of its trajectory / flight path, and the motion control system is operable to predict the time of impact with the landing surface and cause the robot to perform one or more moves to place it in a target landing attitude and / or orientation, so that a specific part of the robot impacts the landing surface first and / or to distribute braking forces over a larger surface area of ​​the robot.

[0038] Figure 1 1 is a functional block diagram of an exemplary ballistic robotic flight system 100 that provides controlled movement or animation of a robot 110 during its flight along a flight path or trajectory through space or air 103 until it lands on a landing surface 192 of a capture / receive system 190. The system 100 is "ballistic" in the sense that the robot 110 is not adapted for powered flight, and the system 100 includes a ballistic launch mechanism 102 adapted to propel or launch the robot 110 on a launch trajectory or initial flight path 104 so that it flies as a projectile or projectile through space / air 103 and lands on a landing surface 192 along a landing trajectory 195.

[0039] The launch mechanism 102 may take a variety of forms to implement the system, such as a device for throwing, tossing, or catapulting the robot 110 toward the capture system 190. In some embodiments, a motorized pendulum system is used as a projectile launcher 102, wherein the robot 110 is first attached or coupled to the outer end of a pendulum member (e.g., a line, chain, rope, etc.) so that the outer end swings back and forth, and then detached or decoupled (or released) from the end of the pendulum member at a specific height to provide a launch trajectory 104. The release may be in response to a control signal from the robot's controller 116 when a specific robot height 134 is detected, or from a system controller ( Figure 1 100) or a control signal to a controller of the launch mechanism 102. The release height and / or other variables may be measured (e.g., using sensors 122 and / or 124) to select when to release or otherwise launch the robot 110 and provide a target trajectory / flight path 136 to the landing surface 190.

[0040] The capture / receiving system 190 can also take a variety of forms to implement the system 100. Typically, the landing surface 192 can be provided as part of a pad or net that is used to disperse the capture and / or braking force applied to the robot 110 upon impact with the landing surface 192, for example, to avoid localized application of a stopping or braking force. The capture / receiving system 190 can be configured to apply a constant braking force on the received robot 110. In other embodiments, the system 190 is configured to apply a smaller force during the initial or first capture phase, such as by providing more stretch or movement of the net / pad to initially provide a landing surface (e.g., for the first 1 to 2 feet of movement of the landing robot 110). In the second or later phase, the braking or stopping force increases by providing increasing resistance through further movement and / or deformation of the landing surface so as to move all energy out of the ballistic robot 110 and stop its further movement. In either embodiment, the system 190 decelerates the robot 110 in a limited amount of space.

[0041] The robot 110 flies along the launch trajectory 104 at a particular speed, as indicated by arrow 111, and has a spin or rotation as indicated by arrow 112 (in the vertical plane, it can change its attitude during flight; and in the horizontal plane, it can change its orientation during flight). The robot 110 has a body 114 (e.g., a torso, which has one or more appendages that can be moved via actuators and joints (i.e., actuatable components 184)), wherein a controller 116 (e.g., one or more processors) is configured to execute code or software to provide the functionality of a control program 120. In addition, the controller 116 manages the operation of an input / output (I / O) device 118, such as a wireless transceiver, to communicate with a set of off-board sensors 124, which operate to collect data on the robot 110 as it travels on its trajectory 104 from the launch mechanism 102 to the landing surface 190. In addition, onboard sensors 122 are configured to measure / sense additional data on the robot's travel, and the combination of these sensor outputs is stored in memory by controller 116 as sensor data 131 for processing by control program 120 to facilitate on-the-fly control of the robot's 110 motion / movement.

[0042] In addition, the robot 110 includes a memory or data store 130, the access and operation of which is managed by the controller 116. The memory 130 is used to store data useful to the control program 120 for selectively controlling the movement of the robot 110 during flight, such as through the operation of the inertial movement assembly 180 and / or the actuatable component 184, and in particular, for generating control signals at specific times 181, 185 during the flight of the robot 110. As shown, the memory 130 stores sensor data 131 from the onboard sensors 122 and the off-board sensors 124. This data 131 can be processed to determine the current height 134 and speed 135 of the robot. A set of robot parameters 132 can also be stored in the memory 130 for use by the control program 120 in performing calculations, such as the weight of the robot and the expected drag in its current configuration, which can be used to calculate the trajectory / flight path 138 of the robot 110 when launched from the launch mechanism 102 (e.g., each launch may not be perfect, so that it may not provide a target trajectory / flight path 136).

[0043] The memory 130 may be used to store a set of pre-launch controlled motions 150 that may be used to set the robot's pose 152 and orientation 154 during launch (e.g., to provide pumping of the robot's body 114 to increase launch energy) and the pose 152 and orientation 154 at the time of launch to set the initial pose and orientation of the robot 110 during flight via the use of the inertial motion assembly 180 and / or the actuatable component 184. A set of in-flight controlled motions 160 may also be provided in the memory 130 for use by the control program 120 when initiating in-flight motions or movements to provide a desired pose 162 and a desired orientation 164 of the robot at one or more points along the robot's trajectory 136, 138 (e.g., target or actual). In addition, the memory 130 can store a set of pre-landing controlled motions 170 for determining the robot's posture 172 and orientation 174 before and / or upon collision with the landing surface 190 (e.g., causing the robot 110 to land on a specific body component or area that is larger in area or more durable in landing so that a larger area is in contact with the surface 190 simultaneously to disperse the braking force).

[0044] As shown, the memory 130 is used to store target pose(s) 140 and target orientation(s) 142, which may be defined for the robot 110 at any point (or points) along its target trajectory / flight path 136. In addition, based on processing the sensor data 131, the control program 120 may generate sensed or calculated pose(s) 141 and orientation(s) 143 at any point along the actual trajectory 136. The target and actual poses and orientations may be compared by the control program 120, and in some cases, adjustments may be made to the inertial motion assembly 180 and / or the actuatable component 184 (or changes may be made to the in-flight controlled motion 160 and / or pre-landing controlled motion 170) via control signals.

[0045] In some embodiments, the sensors 122 include an inertial measurement unit (IMU) to provide velocity and / or acceleration data for the body 114 to help determine the current orientation 143. An IMU will not provide the absolute position (distance, angle, etc.) of the body 114, so the sensors 122 preferably include one or more extrinsic sensors to correct for these deficiencies of the IMU by providing data useful for determining the height and / or other parameters (e.g., current orientation and / or pose) of the robot 110. The extrinsic sensors may include LIDAR, laser, and / or ultrasound-based devices that face the ground and / or landing surface 190 (at least periodically during flight on the trajectory 104, 195).

[0046] The controller 116 with the program 120 may process the sensor data 131 to determine / calculate the current orientation 143 and pose 141 of the robot's body 114 and the current speed 135. The controller 116 and its program 120 then use all or a portion of the sensor data 131 and the determined parameters in a periodic (or nearly continuous) manner to predict whether the robot's rotation / spin (or other movement) 112 should be changed / controlled to achieve a target orientation 142 and / or target pose 140 during flight and / or when in contact with a landing surface 190. If so, the controller 116 with the program 120 determines the desired change in spin / movement 112 to better hit these targets 140, 142. For example, a shift or movement of the inertia of the body 114 may be provided by the inertial movement assembly 180, which may effectuate a change in the spin 112, and in response, a control signal 181 is generated to operate a drive mechanism of the assembly 180 to move / shift the inertia of the body 114, thereby effectuating a determined change in the spin / rotation 112. In other cases, a movement of the actuatable component 184 is determined that is useful for changing the movement 112 to effectuate the target 140, 142. The control process is repeated periodically (e.g., substantially continuously) during the flight of the ballistic robot 110 to control the rotation / spin 112 to effectuate one or both of the target orientation 142 and the target attitude 140 during flight and / or upon landing.

[0047] With particular regard to controlled motion / movement, the robot 110 may include an inertia shifting (or displacement) assembly 180 positioned in the interior space 115 of the body 114. The assembly 180 is configured to selectively shift or move the inertia of the robot body 114 (e.g., in any direction in one, two, or more planes (e.g., in a horizontal plane and / or in a vertical plane)). The assembly 180 may take the form of any inertia shifting assembly described in detail in U.S. Patent Application No. 15 / 719,847, filed on September 9, 2017, entitled “Robot With Inertia Shifting Assembly Providing Spin Control During Flight,” which is incorporated herein in its entirety.

[0048] In addition, the robot 110 may include passive resistance features 182 on one or more exterior surfaces of the body 114 to achieve desired motion 112 of the body 114 during flight. Additionally, one or more actuatable components 184 may be included on or as part of the body 114 that may be actuated in response to a control signal 185 from the controller 116 to alter the motion / movement 112 of the robot 110 during system operation to better achieve a target pose 140 or target orientation 142, or to provide for specific acrobatic or stunt moves of the body 114. For example, the components 184 may include active resistance features that alter the resistance on one or more surfaces of the body 114 during flight. In another example, the body 114 of the robot may have one or more joints that may be operated via actuators / drive mechanisms to change the shape / pose of the robot 110 (e.g., to fold and unfold the body), to change spin in one or more planes, such as by extending arms (or other appendages) or pulling them toward the torso of the body 114, etc. (and as discussed in more detail below).

[0049] In some embodiments of the system 100, it may be useful to provide ballistic animatronics by launching the robot 110 with the launch mechanism 102, and have the robot 110 complete the desired maneuver on the trajectory 104 entirely at the energy applied at launch. However, in some embodiments, operating at a fixed energy is an undesirable constraint on the flight length and the variety of maneuvers that can be achieved. To address this issue, the system 100 may include an in-flight booster system 186 that is adapted to apply a force 187 to add energy to the robot 110 to cause it to deviate from the launch trajectory 104, for example, to have a higher, faster, longer, or otherwise different trajectory to the landing surface 190 (which may be moved away from the launch mechanism 102 to accommodate the longer trajectory / flight path provided by the system 186).

[0050] The system 186 may take various forms to add (or remove) energy to the ballistic flight robot 110. For example, the system 186 may be adapted to mechanically couple and decouple a mobile object from the robot 110 as the robot 110 flies from the mechanism 102 to the capture system 190 and landing surface 192. In one embodiment of the system 186, an object is used to intentionally impact the robot 110 in its flight to accelerate or slow down the robot 110 (e.g., change its trajectory from the launch trajectory 104) and / or change its spin 112 and / or its attitude and / or orientation. In another embodiment of the system 186, the robot 110 is captured (or temporarily coupled) by a mobile member of the system 186 to transfer energy into a "hand" or other portion of the robot body 114, and inertial displacement and spin displacement mechanisms may be used to change the motion of the entire robot's body 114. In one instance, the system 186 includes a boom (active or passive), and the robot 110 is adapted to capture the boom or interact with another animatronic device to gain or release energy to change its current trajectory and / or to impart a desired movement (e.g., change its posture or orientation and / or perform a particular acrobatic maneuver) to the robot 110. In another instance, the system 186 is configured to apply an air stream or puff to the robot's body 114 to impart energy or force 187 to the robot's body 114 during its flight from the launch mechanism 102 to the landing surface 192.

[0051] One goal of the ballistic animatronics provided by the system 100 is to provide a mechanism such as a robot 110 that flies after being released from a launch or propulsion mechanism 102 and uses one or more actuators (as part of an onboard motion control system) to control their position and aerial movement, such as with an inertial motion assembly 180 and / or an actuatable component 184. For example, one way to provide control over movement in flight is to transfer inertia by moving mass within the body of the robot under the control of an actuator. This is much like the way a gymnast or acrobat changes their position in mid-flight, and this control is achieved by selectively using an inertial motion assembly 180. A second example of movement or motion control is spin or torque-free rotation, and this can provide a low inertia component combined with a high actuation controlled spin to change position and movement in flight, which is provided as part of an actuatable component 184 controlled by a controller 116 and a program 120. A third example of movement control is to provide actuation and passive aerodynamic surfaces (provided in component 184 and as passive surfaces / features 182). Aerodynamic surfaces placed visibly on the exterior surface of the robot body or artistically disguised on the surface of the body can be used to generate lift and drag to change the local motion of an appendage or the overall motion of the entire robot. In another example, the actuatable components (or motion control components) 184 can include onboard compressed gas (or even thrusters / explosive devices) to selectively release energy to change angular momentum or otherwise change the orientation 143 of the robot 110 during flight.

[0052] The inventor has designed a prototype of system 100 to provide a flying animatronic or robot that is animated by changing attitude / position and orientation during flight. Initial efforts used a swing / pendulum to provide an actuation release for a ballistic launch mechanism 102 to provide initial energy (to launch it on trajectory 104) to a flying object / robot 110. The energy in the flying object disconnected from the swing is determined by its initial conditions, such as the height at the release point, the position in the swing arc where the release occurs (e.g., the launch angle), and the torsion applied to the robot / flying object by the launch mechanism. Previous work using a pendulum launch system relied on the timing and careful control of the physical components of the pendulum system in an attempt to achieve repeatable launch and object trajectory. This lower level of control is not enough for making an entertainment environment and may greatly limit the animation that can be achieved with a flying object.

[0053] Therefore, the inventors have found that it would be desirable to instrument the launch mechanism 102, rather than rely on the timing and repeatability of the launcher to sense and monitor factors that affect the energy applied to the flying object. Sensed information (e.g., from off-board sensors 124, which may be provided, at least in part, to the monitoring mechanism 102) may be used to accurately calculate the moment when the robot 110 should be released / launched from the pendulum or other launch mechanism 102. In more sophisticated variations of the system 100, sensed information about the operation of the launch mechanism 102 is fed as sensor data 131 to an on-board controller 116 (or an on-board actuation system) to enable in-flight compensation for changes in launch conditions, such as by controlling components of the robot to adjust when the calculated trajectory at launch 138 does not match the target trajectory at launch 136.

[0054] In a simple embodiment, the system 100 may sense altitude 134, which may be used to trigger release from the launch mechanism during operation of the launch mechanism 102 rather than based on timing. More complex embodiments may sense or know the weight 132 of the robot 110, initial position, strain and torque on the pendulum member (e.g., wire), drop rate, twist rate, and / or other parameters to provide more information for release calculations (performed by the controller 116 and program 120, or by the controller operating the launch mechanism 102 when the launch mechanism 102 releases the robot 110 rather than the robot 110 releasing the pendulum member or other coupled element of the mechanism 102). The in-flight behavior may also be adjusted to take advantage of launch variations that add useful energy to the flight path / trajectory 104 (e.g., supporting winds in outdoor embodiments of the system 100), thereby allowing additional rolls or flips to be performed before reaching the landing surface when the calculated trajectory 138 differs from the target trajectory 136 in a positive manner (or one less roll / flip or move when it differs in a negative manner).

[0055] Flight control or in-flight motion control of a ballistic object such as the robot 110 may be performed using only onboard instrumentation, such as processing sensor data 131 from onboard sensors 122 using the control program 120. This may force the robot 110 to be designed with some additional weight including the sensors 122 as well as the computer and power supply (for the controller 116) for generating the control signals 181, 185, which may limit its effectiveness due to size, weight, and / or power considerations.

[0056] With this in mind, the inventors have determined that it is often useful to utilize a combination of onboard sensors 122 and offboard sensors 124 (which, in some cases, may include offboard processing and / or instrumentation). In such embodiments, the onboard sensors 122 may include cameras, LIDAR, infrared sensors, etc., which may sense attitude 141 and velocity 135 via the controller 116 and control program 120 (which controls / changes inertial, spin, and / or aerodynamic control surfaces) for use by onboard actuators 180, 184. Rangefinders (e.g., laser rangefinders, ultrasonic rangefinders, etc.) in the sensors 122 may be used to obtain position when pointing downward, etc. to determine the current height 134 of the robot. Additionally, offboard sensors / instruments 124 may be used to observe motion characteristics and transmit that information (as sensor data) to the onboard control system to augment the data 131 collected by the onboard sensors 122.

[0057] In one useful example, an off-board generated laser sheet assembly is used in conjunction with an on-board sensor 122 to detect laser intersections in order to accurately determine the current position of the robot 110 on its emission trajectory 104 (e.g., when the beam is broken, the robot knows its position in the air / space 103 due to the use of a light sensor / photodiode in the on-board sensor 122 that detects when the laser plane is passed). The off-board sensor 124 may also include a motion capture system to provide accurate position information and movement information in the data 131 to the robot controller 116. In another embodiment, a floodlight is provided in the off-board sensor 124 that is polarized in a particular manner so that the photodiode in the on-board sensor 122 can be used with a polarized filter so that the controller 116 can process its output to determine the orientation when receiving light from the floodlight.

[0058] In some embodiments, in-flight controlled motion 160 is used to control the in-flight movement of robot 110, wherein the landing on surface 192 is hidden from the view of the observer. In some cases, this may be restrictive, so that some embodiments of system 100 are configured to provide observation of landing trajectory 195 and impact on surface 190, because being able to land well and in a manner appropriate to the character significantly increases the entertainment or performance value. Landing orientation 142 and posture 140 are primarily determined by in-flight performance, which in turn is determined by initial conditions at launch (including launch trajectory 104). In addition, however, controller 116 can implement pre-landing controlled motion 170 to set posture 172 and orientation 174 upon landing or impact on surface 192 of capture system 190. In particular, the actuation system (in component 184 and / or inertial motion assembly 180) can continue to function before landing (during the landing trajectory), at impact, and shortly after landing, while robot 110 dissipates its final energy to turn, roll, and move accessories to desired locations. The control algorithm 170 implemented by the control program 120 may be similar to the in-flight algorithm 160 , but takes into account a set of forces and rapid dissipation of energy to the landing system 190 .

[0059] In some cases, the pre-landing controlled motion / control algorithm 170 is configured to land the robot 110 on a specific portion / component (or portions / components) of the body 114, such as on its back or another robust portion (in a folded or flat / extended posture with the arms moved to a desired position) or with a larger surface area of ​​the contact surface 192 to distribute the forces. The pre-landing controlled motion 170 can provide corrections by angle or angular velocity (or both), such as by changing the posture 172 (e.g., folding during flight via motion 160 and then unfolding as part of motion 170 before landing, extending arms and / or other appendages as part of pre-landing motion 170 to add drag and slow the robot, etc.).

[0060] As described above, the launch mechanism 102 may take the form of a simple swing and / or pendulum device. In another embodiment, a whip member with a quick release may initially be coupled to the robot 110, which may be provided on the ground or on a launch platform. A weight may be attached to the other end of the whip member (or another launch force applied to the whip member), and the whip member may extend over one, two, three or more pulleys, thereby creating a whip-like action to launch the robot 110 with greater force than a simple pendulum mechanism.

[0061] In another embodiment of the system 100, the launch mechanism 102 provides an upper pendulum that moves back and forth at a particular speed, while the robot 110 itself acts as a lower pendulum that rotates according to a pre-launch controlled motion 150 (e.g., the robot has a generally linear or elongated body 114). The motion 150 can set a pose 152 and an orientation 154 when launching on the trajectory 104 in order to set an offset angle and / or to obtain more rotation of the robot 110. Alternatively, the motion 150 can move the robot 110 to obtain a second oscillation (of the lower pendulum composed of the robot 110) in order to "pump" energy into the lower pendulum and launch with more energy (a higher or faster projectile, so changes in the trajectory 104 can be achieved without the robot 110 moving).

[0062] The in-flight controlled motions 160 may include changes in attitude 162 and / or orientation 164 to achieve one or more desired moves or stunts prior to landing on the surface 192. For example, the motions 160 may be selected to change the moment of inertia of the robot body 114, such as by operating an actuatable component (joint with an actuator, etc.) of the robot to convert the body from an unfolded attitude to a folded attitude to have less inertia, thereby increasing the spin rate 112 (or increasing the angular velocity) (or vice versa). In another action 160, the body 114 of the robot may simply be actuated to fold and unfold. In yet another exemplary in-flight controlled motion 160, the actuatable component 184 (e.g., an arm) may be moved to misalign the body 114 with angular momentum to increase spin and / or cause a flip during flight.

[0063] Considering the system 100 and its operation, it may be useful to describe the specific implementation of the ballistic robot system in the specification using a specific but non-limiting embodiment of the robot 110. It is recognized that human performers have developed impressive acrobatic skills in thousands of years of gymnastic art practice. At the same time, robots have begun to become more mobile and autonomous, and the inventors recognize that robots can be made to imitate acrobatic skills or stunts performed by humans in a dramatic and informational way. The following description provides a simple two-degree-of-freedom (DOF) robot that uses a gravity-driven pendulum to launch and produces various flip stunts before landing. The robot uses the output of an IMU and a laser rangefinder (both of which are airborne) to estimate its state in flight and actuate onboard components to change its motion on and after leaving the pendulum-based launch mechanism (e.g., as a pre-flight actuation or controlled motion and a flight control or actuation motion). The dynamics of the robot's behavior are also described in detail in the context of acrobatic capabilities, supporting a new system for providing experimental results documentation.

[0064] To quantify acrobatic performance and acrobatic robots used as ballistic bodies or projectiles, it may be helpful to define some basic metrics to measure the performance of a given design. The number of turns around a given body axis can be a useful figure of merit, as this is the primary way to classify aerial stunts in diving and gymnastics. Peak altitude and total horizontal distance covered are also metrics of interest for any ballistic flight, as they both give a sense of the scale of the motion. Horizontal distance is utilized in the following discussion because the indoor location of the inventors' test rig places a practical limit on peak altitude.

[0065] In addition to the broad capabilities mentioned above, an acrobatic ballistic robot can also be judged by the precision of its landing (both in terms of final position and final orientation). These capabilities can be considered to be shared between the robot's launch device (e.g., pre-flight controlled motion combined with launch mechanism functionality) and the robot's ability to affect motion during flight. A jumping robot carries its launch device onboard, while a flying or powered flying robot uses aerodynamics to significantly change the trajectory of its center of mass during flight.

[0066] In contrast, the inventors' approach to designing a ballistic robotic system uses a separate launch system and minimizes aerodynamic effects. If we define "launch" as the point at which a ballistic robot (interchangeably referred to as a stickman ("Stickman") because its configuration provides 2 degrees of freedom) is released from the pendulum of a ballistic launch mechanism, this means that the final position (where the landing surface of the capture system will be in a ballistic robotic system) is almost entirely a function of the launch conditions (initial trajectory). The final orientation and amount of rotation (in the vertical plane) before the final state (at landing) is a function of the angular momentum and initial angle (or launch angle) provided by the launch, as well as the robot's ability to change its angular velocity trajectory during flight. In the following description, several capabilities of the system and its robot are shown, including: (a) performing zero, one, and two flip flights; (b) throwing the robot horizontally between 5 and 10 meters away from the pivot of the pendulum of the launch mechanism; (c) controlling the landing position to within a standard deviation of 0.3 meters; and (d) controlling the landing orientation to within a standard deviation of 30 degrees.

[0067] Figure 2 is a side perspective view of a robot 200 for use with the ballistic robotic system of the present description, such as a human-length (eg, approximately 7 feet) acrobatic robot. Figures 3A-3C Shows Figure 2 side views of a robot 200 in three operational states for performing aerial stunts in ballistic flight (e.g., desired postures and orientations for flips / somersaults and landings), and specifically, Figure 3A The robot 200 is shown initiating movement to move into a folded configuration; Figure 3BThe robot 200 is shown continuing to perform folding; Figure 3C The robot is shown completing controlled motion(s) to move into a fully folded or fully collapsed configuration.

[0068] The robot 200 (or "stick man") includes three elongated links 210, 212, 214 interconnected at / by two joints 211, 213. The robot 200 includes an adjustable mass 220 (adjustable position) on the lower link 210. Two actuators 230 in the form of pistons are connected at their ends to two adjacent links (i.e., links 210 and 212 and links 212 and 214), and they are energized or powered by the release of gas from a compressed air tank 236 fixed to (or as part of) the middle or central link 212. The robot 200 includes a controller 240 in the form of a microcontroller (with appropriate software) that operates a valve assembly to selectively release air from the tank 236 to activate each piston / actuator 230 to cause the robot 200 to perform controlled movements (e.g., pre-flight, in-flight, and pre-landing movements, as described above with reference to Figure 1 A power source 244 in the form of a battery is mounted on (or as part of) the upper link 214 to power the controller 240 and a set of onboard sensors 250 (e.g., an IMU and rangefinder 250 (which may take the form of three laser rangefinders (leading edge, center and trailing edge rangefinders) offset by some angle (e.g., 12.5 degrees)) that operate to provide sensor data to the controller 240 for timing or triggering the actuator 230 to provide controlled movement of the robot 200. In addition, the robot 200 includes a drop latch 260 (which may be a servo-driven quick release latch coupled to a ring at the end of a pendulum cable / member) that can be used to couple the robot 200 to a launch mechanism (e.g., a pendulum or swinging member) and later actuated / operated by the controller 240 to release the robot 200 as a projectile or ballistic body on a trajectory or flight path.

[0069] In one prototype, the robot 200 is made of three aluminum links 210, 212, 214 connected by hinges 211, 213, which allow the body of the robot 200 to transition from a retracted "Z" or folded configuration to a nearly flat or rectilinear configuration (fully deployed configuration), as shown. Figures 3A-3C When deployed, the prototype robot 200 is designed to be 7 feet tall to approximate the height at which a human stunt performer would raise their arms above their head. An air tank 236 stores energy for actuation, and a 12-volt lithium polymer (or Lipo) battery pack powers a solenoid valve 240 that controls the actuator 230.

[0070] The basic construction of the prototype robot 200 is influenced by the requirements of easy reconfiguration, fast repair and high peak actuator strength and power. T-slot aluminum extrusions are used for connecting rods 210, 212 and 214 to allow the reconfigurability of various components based on incremental finding. The two ends of the air piston 230 can be adjusted along the length of their connecting rods 210 and 212 or 212 and 214, thereby allowing the change of the torque curve. Large additional weight 220 can be added to the top or bottom connecting rod 214 or 210 to adjust the center of mass position of the robot and change the moment of inertia. Due to its high power density, a pneumatic actuator 230 is selected in the prototype and is actuated by a solenoid valve, which is triggered by an Arduino microcontroller board (in this example robot 200, both constitute a controller 240). The upper or top link 214 is equipped with a LIDAR-Lite v3 laser rangefinder and a 6-axis Invensense ICM 20602 Inertial Measurement Unit (IMU), which are onboard sensors that provide the primary input to the robot's controller 240.

[0071] Figure 4 A ballistic robot system 400 is shown in the present specification for launching a robot 200 as a ballistic body or projectile on a trajectory / flight path toward a landing surface (not shown). The robot 200 is shown in operating states 200(1)-200(10), which proceeds from an initial state 200(1) to a landing state 200(10) to perform a somersault stunt. In the initial state, the robot 200(1) is in a folded or linear / planar configuration (or fully extended) and is attached to the end of a rigid pendulum member 412 of a pendulum launch assembly 410, and the robot 200(1) is raised to a desired initial height (e.g., approximately 6 meters above the ground / landing surface height in one test of the prototype system 400), which sets the initial angle and potential energy that affects the amplitude and phase of the second-order pendulum.

[0072] When released from this initial position, robot 200(2) begins to swing / move downward in an arc under the influence of gravity, as shown by arrow 415. Robot 200(3) uses its IMU to monitor the first and second order pendulum responses. Robot 200(4) then begins to fold (e.g., at a predetermined time), with a folding time before release to provide a compromise between rotational and translational energy. Robot 200(5) has completed folding and self-releases from the end of the cable / pendulum member 412 via a drop latch (e.g., at a second predetermined time in some examples), with the release timing providing a compromise between horizontal and vertical translational energy. Robots 200(6) and 200(7) then attempt to estimate their height and speed to calculate the remaining time in the air (by processing sensor data through the controller and its control program). Robot 200(6) is in a state shortly after release, with the laser rangefinder pointing vertically and the IMU correcting the angle, assuming the case of a large flat surface / ground, and the controller calculating the distance / height and speed from the ground.

[0073] The robot 200 (8) is now falling or in the pre-landing phase of the trajectory, where the angular velocity and remaining time in flight or in the air are calculated by the controller. Deployment of the robot 200 (9) begins and rotation slows, and deployment is completed (or fully extended) just before the robot 200 (10) lands. Deployment is timed to provide the optimal landing angle / orientation and posture (e.g., to distribute braking forces and / or to simulate the landing of a live acrobat). When the robot 200 (8) predicts that deployment will result in the correct landing orientation (as shown by the robot 200 (10)), the robot's controller commands the deployment controlled motion (e.g., activation of one or more actuators) and lands relatively smoothly on its back on the foam pad or capture assembly ( Figure 4 Not shown, but from Figure 1 on other landing surfaces as can be understood).

[0074] As shown in system 400, a gravity-driven pendulum 410 can be used to launch the stick-man 200. By raising the robot 200 (1) almost to the ceiling or to a desired initial height, the launch assembly 410 is able to inject a large amount of energy into the launch (as shown in robot 200 (6)). The long swing shown by arrow 415 applies acceleration over a large distance, resulting in a relatively gentle acceleration. In addition, the long swing increases the length of time that the robot 200 performs in a visually striking manner. The joint (latch 260) that attaches the robot 200 to the pendulum arm / member 412 can have a stiffness ranging from the theoretical extreme zero (pin joint) to infinity (rigid link). Rigid joints will transform the entire system into a simple compound pendulum, which has very predictable behavior and may increase the repeatability of the landing position. However, this also limits the angular velocity to a function of the linear velocity, thereby limiting the range of somersault capabilities. The pin joint forms a double pendulum, which is a chaotic system with high sensitivity to initial conditions. However, the result can decouple angular velocity from linear velocity and produce a wider range of launch conditions in system 400. Although not described in Figure 4 , but during prototype testing in system 400 an Optitrack motion capture system (an off-board sensor) was used to provide reference position data for robots 200 ( 1 )- 200 ( 10 ).

[0075] Figure 5 Shown is an operation robot or stick figure to perform Figure 4 Flowchart 500 of the method of the stunt shown in (or the logic flow of the robot control scheme implemented by its controller and executed code). At step 505, the robot is placed in an initial position suspended from the end of the pendulum arm via its coupling member (e.g., drop latch 260). Step 510 verifies whether the start button or trigger has been operated / pulled to start the launch. When the trigger signal is received at 510, the method 500 continues at 515 to start the countdown of the waiting time to start the launch, and step 520 verifies the time when the countdown is completed. When completed, the method 500 activates the release / drop of the pendulum member coupled at one end of the robot.

[0076] Step 530 starts an onboard clock with the start time and retrieves a predefined folding start time. Then, at step 535, the method 500 continues to determine when the swing time exceeds the time to initiate the folding motion. When exceeded, the controller initiates the folding motion (e.g., moves the robot to the folded configuration). At 540, the controller starts another clock to measure the amount of time the robot swings in the folded configuration and retrieves the time to initiate release from the pendulum member. At 545, the controller determines when the folding and swinging time exceeds the release time, and when released, the controller releases the robot from the pendulum member (e.g., by activating a drop latch).

[0077] At step 560, the robot's controller holds the robot in the folded configuration and waits to begin final orientation calculations (to achieve the target orientation and pose upon landing). At step 565, the controller is used to determine when the current angle indicates that the robot has begun to fall or has entered the pre-landing phase of the trajectory. When this occurs, the method 500 continues to begin the estimation by evaluating the height and velocity at 570 and by calculating the final orientation (if the deployment is performed at the current time step). If it is not the target orientation at 575, the evaluation step 570 is repeated. When it is estimated that the deployment will achieve the target orientation at the current time step, the method 500 continues, the controller triggers the deployment motion, and then at 580, the robot remains undeployed or fully extended and rotated until impact. The method 500 can continue at 585 to determine when the time since impact / landing exceeds a certain predefined delay time, and when it determines, the stored data can be sent to the tracking / prototype evaluation system. The method 500 can then end at 590, for example reset to perform the next launch by executing step 505.

[0078] At this point in the specification, it may be useful to provide a discussion of the dynamics of a ballistic robot. With regard to the swinging dynamics (on a pendulum), a double pendulum is a classic example of a chaotic system, and it becomes even more complex when the possibility of folding of the robot / lower pendulum is introduced as described above. In order to assess this complexity and the scope of the functionality of the ballistic robotic system 400, the inventors created a detailed model using Matlab's Simscape Multibody toolbox. The model includes a double-link pendulum (a stiff torsion spring connects the upper half of the pendulum to the lower half to help approach the first oscillation mode of the beam), three rigid bodies for the robot, and two massless telescopic actuators that simulate pistons, such as Figure 6 As shown in diagram 600 .

[0079] The inventor believes that the model (in Figure 6 600 ) captures the general behavior of the system well, making it a useful tool for understanding the capabilities and limitations of the ballistic robotic system 400. Figure 7 A graph 700 is provided, which shows the model comparison experimental results of a typical flip animation. Figure 8 A graph 800 is provided showing model comparison experimental results for early folding and late release actions (headplant). In graphs 700 and 800, the dashed lines represent simulated angular velocities, while the solid lines represent actual angular velocities measured by an onboard gyroscope provided as part of the onboard sensor 250 of the robot 200.

[0080] Regarding aerial dynamics, the in-flight physics of motion is relatively simple for a ballistic robot. If the principal moments of inertia are closely aligned with the angular momentum vector, then it can be stated that:

[0081] L=Iω Formula (1)

[0082] Where I is the moment of inertia about the axis of rotation and ω is the angular velocity.

[0083] If the moment of inertia is from I 1 Change to I 2 , then the change in speed is given by:

[0084]

[0085] This is simplest if the change in inertia from one state to the other is smooth, rapid, and monotonic, and if the angular velocity is well aligned with the desired axis of rotation. In practice, the inventors have found that a slight fold before release helps slow or eliminate twisting. The cylinders used provide a rapid transition but are underdamped and produce a strong ringing effect, which makes accurate measurement and simulation of this stage more difficult. If this ringing effect is ignored, the results of the deployment can be characterized by the average angular velocity before, during, and after the deployment event. Since the deployment event changes the relative angle of each body segment, this analysis can be modified so that a constant angular displacement θ offset Add to the results.

[0086] Using onboard accelerometers, onboard laser range finders, and a model of the expected dynamics, it is possible to calculate the velocity of the vehicle at a given time t 0 The remaining time in the air T is estimated by estimating the altitude and vertical velocity a :

[0087]

[0088] Among them, h 0 is the time t 0 The estimated height, v 0 is the time t 0 is the vertical component of the estimated velocity, and g is the acceleration due to gravity.

[0089] If the release is to be commanded immediately, the following formula can be used to estimate the final orientation θ final :

[0090] θ fina1 =θ+θ offset +ωR t T t +ωR f (T a -(tt0 )-T t ) Formula (4)

[0091] Where θ is the current estimated angle, θ offset is the expected displacement due to the reconfiguration of the limb, ω is the current angular velocity, R t is the predicted ratio between the current angular velocity and the average angular velocity during the transition, T t is the predicted time of transition, R f is the predicted ratio between the current speed and the final speed, t is the current time, and t 0 is the final estimate T a time.

[0092] Regarding predictive capabilities, launch capability is limited by the total available energy of the system in terms of the number of possible somersaults and the range of possible landing positions. Figure 2 For the stick-man robot design shown in Figure 200, the energy stored in the air tank is about an order of magnitude less than the energy stored as potential energy at the start of the swing. Therefore, the main determinant of capability is the way the energy is distributed between linear and angular momentum in each axis. For most of the following analysis, it is assumed that collapse occurs only after the robot is released from the pendulum (after launch). In the pendulum-based launch of the stick-man, the relationship between linear and angular momentum is constrained by rigid body kinematics. Only those velocities are allowed that maintain the absolute lengths of the two pendulum links.

[0093] Given an experimental setup for testing a prototype ballistic robotic system, numerical simulations of the full range of kinematically possible velocity configurations give an upper limit on the possible combinations of angular and linear velocities. These velocities can then be used to calculate the final position and total rotation of the robot, as Fig. 9 , which shows the reachable states with various constraints, graph 910 shows the kinematic and energy possibilities, graph 920 shows the motion possibilities given the maximum second link amplitude, graph 930 shows the fully simulated scan at different folding times, and graph 940 shows the fully simulated scan at different initial angles.

[0094] This wide range of possible results is slightly misleading, as it includes situations that are kinematically possible but not physically feasible. To give a more reasonable estimate of the total capability, the angular velocity of the second link can be limited to prevent it from exceeding an amplitude of 180 degrees under typical load conditions. The previous kinematic analysis can then be performed, and any results that result in an angular velocity greater than that value can be discarded, which yields Fig. 9920. This theoretical upper limit becomes a measure of the proposed control scheme when the robot is on the pendulum (launch mechanism). If the region of possible states covered by the proposed method covers a significant portion of the theoretical upper limit, then one can be confident that the robot's capabilities are likely not artificially limited by the control method.

[0095] Now we can use the full dynamic model of the rod-shaped humanoid ballistic robot design to explore and compare two potential control methods. The first way is to simply change the initial angle of the robot while satisfying the constraint that no part of the robot is allowed to pass through the ceiling or surface above the pendulum / launch mechanism. The results of this control method on varying release times are shown in Fig. 9 The second control method explored was to start folding while still on the pendulum (e.g. Figure 4 This changes the length and inertia of the ballistic robot, which in turn changes the frequency of the second-order pendulum behavior and changes the relative phase of the angular and linear momentum. The results of this control method are shown in Fig. 9 is shown in the curve graph 940.

[0096] Once in the air (after launch), the robot has a fixed amount of angular momentum available and a fixed amount of time before the ballistic trajectory hits the ground. The robot's aerial trajectory can be measured by how much it can change its final angle given its initial angular momentum. In the case of the stick-shaped humanoid robot 200, the ratio between the folded and unfolded moments of inertia is about 1 to 3, which means that for a flight that can produce a two-thirds somersault in the unfolded position, the robot can achieve a number of rotations between two-thirds rotations and two full rotations.

[0097] To review the results of the prototype testing, the stick-man / robot 200 was able to achieve a total flight distance ranging from 5 to 11 meters in the system 400. No serious efforts were made to control the batch control (run-to-run) of the final position, but a typical animation shows that the standard deviation of the landing position was about 20 centimeters for five trials. Based on a combination of modeling and iterative refinement, the stick-man / robot 200 achieved three different rotation profiles: zero, one, and two backflips. Image sequences of these three different animations were captured during the prototype study. If a sufficiently large initial angle is used, the simulation also predicts the ability to perform half of the forward flip. The test pursuing this goal (stunt / move) achieved the necessary angular velocity while still on the pendulum, but the excessive load on the latch caused an interference effect, which prevented the robot from releasing at the right time, which can be solved in future designs of the system 400 and / or the robot 200.

[0098] The inventors used a simple control method to try to ensure that the robot was roughly aligned with the pad / landing surface. Using a simple estimate of the difference between the distance measurements over the past ten trials, the robot was operated to try to calculate the time remaining in the air and adapt its measured angular velocity and estimated flight time. The robot used the angle estimate from the IMU to correct the angle at which the laser rangefinder collected a particular reading. The resulting altitude estimate was compared to the ground truth from the motion capture system and the results are shown in Fig.10 In the curve graphs 1010, 1020, 1030 and 1040.

[0099] During testing, the robot landed with an average angular error of 27 degrees of over-rotation, with a standard deviation of 28 degrees. Position and velocity can also be estimated by estimating vertical acceleration using the IMU. This was found to perform well on the pendulum, but discontinuities were encountered around the release time, with the results shown at Fig.10 In graphs 1010, 1020, 1030 and 1040. In future work, the inventors intend to study the fusion of information from the IMU and the laser rangefinder to achieve better altitude and velocity estimates, thereby allowing the accuracy of the final angle control to be improved.

[0100] The ballistic robot design shown as robot / stickman 200 can be used to simulate the behavior of a human performer even with a limited set of sensing and actuation capabilities. By varying the initial orientation and the timing (or changes in attitude) of the controlled movements including folding, releasing, and unfolding, it is able to successfully perform several different somersault stunts. Onboard sensors can track the robot's angle, altitude, and speed during and after launch. More advanced sensing and control strategies (e.g., as described above with reference to Figure 1 discussed) is conceivable, which would increase the repeatability of the robot.

[0101] As robot design progresses toward more interesting stunts, it may be useful to provide more actuatable components on its body and / or more DOF to allow control of other axes of rotation and to allow control of position. This effort will be aided by ongoing efforts to improve simulations of robots and by attempts to develop simplified models that provide more intuition for the behavior of the system. It should be clear from this description that even early models and prototypes of robotic and ballistic robotic systems based on observing the robot's angular momentum rather than its angular velocity look promising.

[0102] Figure 2 A useful robot 200 for the ballistic robot system of the present specification is provided, such as an acrobatic robot of human length (e.g., approximately 7 feet), but those skilled in the art will appreciate that Figure 1The robot 110 (and other components) of the ballistic robot system 100 can be implemented with other robot designs and / or embodiments. With this in mind, the inventors designed, built, and tested / prototyped an "acrobot" or mini-figure that can actuate ballistic motion, which has a different configuration than the robot 200, and the following discussion describes the robot or acrobot and provides the results of the analysis / testing of this additional design. The acrobot design aims to achieve the following goals: (a) create a backflip / front flip using pumping; (b) perform a flip with twist in one way and then perform a flip with twist in another way; (c) accurately predict air time; and (d) control twist.

[0103] Regarding ballistic robot design and experimental setup, as an exploration of stunts, the inventors built a 9DOF half-scale humanoid robot, which they called a "stunt robot". The robot's joints are located at the neck, each shoulder, each hip, each knee, and two points in the torso, such as Fig.15 As shown in the robot 1500 provided in FIG. 1 , each joint is composed of one or two actuators (e.g., Dynamixel TM The robot also has a "hand" servo within the confines of each arm that does not drive the joints but controls the release mechanism of the launch cable interface.

[0104] Table I: Joint servo mechanisms used in stunt robots

[0105]

[0106] The stunt robot / ballistic robot carries two onboard microprocessors, such as the AdafruitFeather HUZZAH with ESP8266 (which is used for communication and storing preset values), and the Teensy 3.6 (which is used to poll and store sensor data and perform calculations). The robot is equipped with two inertial measurement units, which can be provided by Vector-Nav TM produced VN100 and VN 110, among others. The processor and sensors are mounted on the rear of the chest segment, adjacent to three reflective markers for motion capture. The servomechanism is covered in a workpiece of a hollowed-out humanoid mold, such as a mold made of foam (e.g., BJB Enterprises TC-296 polyurethane foam, etc.). It is then covered with an outer garment made of spandex. The ballistic robot is also equipped with an LED strip to visually indicate events in the control firmware. The robot's arms are bent toward the centerline of the puppet to facilitate grasping the launch mechanism. The hips are slightly flared to allow the legs to move in the sagittal and transverse planes to allow more direct control of deflection in both planes.

[0107] As an overview of the experimental setup employed, the basic experimental setup or system 1200 is Fig.12 12. As shown, the robot 1500 is attached by its feet to a ground station on the ground / support 1240 and by its hands to the end 1211 of a cable system 1210, which is routed to a counterweight 1212 via pulleys 1214 and 1216. After being released from the ground station on the ground / support 1240, the robot 1500 is propelled forward and upward along a launch trajectory or path 1220 until it is released from the end 1211 of the cable system 1210. The robot 1500 then follows a ballistic trajectory or aerial flight path 1230, during which the robot 1500 is controlled / operated to change its attitude to achieve the desired performance criteria and reach the desired landing configuration. The ballistic trajectory 1230 terminates in a capture net 1250, which decelerates the robot 1500.

[0108] Launching with a counterweight provides a relatively gentle acceleration over long distances, allowing the robot 1500 to be launched safely and repeatedly. This closely mimics a trapeze launch, but with an additional energy boost allowing the robot 1500 to be sent to significant heights (e.g., almost to the ground) from a launch site on the floor 1240. Fig.12 The ground mounted launch point also allows the robot 1500 to be controlled / operated in preparation for launch from ground level, which is an important convenience compared to pendulum launch.

[0109] About ground station, Fig.14A and 14B The ground station 1410 is shown in two operating states (robot capture and robot release) and is shown to include a shackle 1412, a quick release latch 1414, and an actuator / solenoid 1416 on the robot 1500. The robot 1500 (or more specifically, its foot via the shackle 1412) is first positioned as shown in FIG. Fig.14AAttached to two quick release latches / clamps 1414, for example, are mounted to the ground 1240 via a whletletree mechanism. In the event of slightly different leg lengths, the whletletree mechanism ensures uniform loading between the two feet and accommodates small errors in release timing synchronization. The release device 1414 is driven by a separate solenoid 1416, and the solenoid 1416 is independently powered and controlled by the robot's microprocessor. To achieve this, the robot 1500 is attached to the drive electronics of the solenoid via a magnetically releasable USB umbilical. When these threaded tubes 1416 are actuated, the latches 1414 release the feet of the robot 1500, and the dynamics of the counterweight-robot system launch the robot 1500 forward and upward, thereby severing the magnetic connection.

[0110] With respect to the cable 1210 and the counterweight 1212, the robot's hand is attached to the end 1211 of the cable 1210 (e.g., made of 3 / 16 inch Technora 12 TM The cable 1210 is arranged to extend to a pulley 1216 mounted in the air above the ground / floor 1240 at a certain distance, for example, about 14 feet in the air, and then the cable 1210 travels behind the robot 1500 back to another higher mounted (e.g., mounted on the ceiling) pulley 1214. The cable 1210 then extends downward from the pulley 1214 and is attached to a counterweight 1212 (e.g., a 40 pound weight).

[0111] Fig.13 One useful embodiment of a hand-cable interface 1310 for the system 1200 is shown. The hand servo 1312 of the robot 1500 drives a pin 1314 which engages a ring 1316 (e.g., a 3 / 16 inch Technora 12 TM etc.) Fig.13 As shown. This two-stage attachment process ensures that the robot 1500 will be released from the rope / cable 1210 even if one of the servo mechanisms 1312 fails to activate or activates asymmetrically relative to its symmetric portion. At the end of its ballistic trajectory 1230, the robot 1500 lands in a large capture net 1250 that can be made of spandex or other similar elastic material. The net 1250 can be attached to a metal (e.g., steel or the like) frame via elastic elements such as bungee cords. Typical decelerations found in testing are around 50 m / s 2 Table II below provides some physical characteristics of the stunt robot or ballistic robot designed by the inventor's prototype.

[0112] Table II: Physical characteristics of the prototype ballistic robot

[0113]

[0114] Turning now to a discussion of the launch dynamics, upon release from the ground station, the cable 1210 exerts a force on the robot's hand in the direction of the first pulley 1216. The exact value of this force depends on the inertial and gravitational effects acting on the counterweight 1212 and the robot 1500. If the robot 1500 had no rotational inertia, the center of mass would be in line with this force, and the rotational speed of the robot 1500 would match that of the cable 1210, which acts as a pendulum of variable length. This would naturally result in a backflip of some kind. In practice, keeping the robot 1500 in a planar layout throughout the experiment produced only such a rotation, with some small deviations as the robot's actual rotational inertia caused its angular velocity to alternately lag and lead the rotation of the cable 1210.

[0115] While still attached to the cable 1210, the robot 1500 can be approximated as a pendulum attached to a larger pendulum. By actuating the robot 1500 to perform pumping, the robot 1500 can change its angular velocity. The inventors have developed a simple pumping model 1600 such as Fig.16 The robot 1500 is represented in the model 1600 as a two-link object (having two links 1610, 1612) connected to the world via a pin joint 1620 at the top of the assembly. A torque T can be applied between the two links 1610, 1612, causing a rotation. The following equation can be used to determine the motion of the system:

[0116]

[0117]

[0118]

[0119] Feeding this into a digital simulator allows the inventors to assess the most favorable time to inject energy into the system by pumping, in one embodiment, the target is the maximum possible rate of change of amplitude. Fig.17 and 18 The results of these experiments are shown, concluding that the most efficient time for pumping is when the angular momentum of the system passes through zero.

[0120] Turning to sensing in ballistic robotic systems, acrobatic performance involves achieving a specified pose for the robot 1500 at the appropriate time. In both visual and practical terms, the pose and orientation at landing is often the most important. Visually, landing with the proper orientation indicates that the operation went as planned. In practice, a complex robot will have a set of poses and orientations upon impact that are more or less likely to cause structural damage. For this reason, it is critical to sense the robot's motion in a way that helps one predict its pose and orientation upon landing.

[0121] This involves predicting the evolution of orientation over time and predicting the amount of time to expect before impact. The former is the main area of ​​investigation discussed below, but it will only become feasible if the latter can also be predicted well. Initially, it may be useful to discuss a useful method for predicting the time to impact that the inventors used. If aerodynamic effects are ignored, the ballistic motion of the center of mass once the robot is detached from the launching device is very predictable. The problem then reduces to estimating the vertical position and velocity of the center of mass.

[0122] Various approaches can be used to solve this estimation problem. For example, an external motion capture system can be used to provide a high-resolution position estimate, which can then be transmitted to the robot via some kind of wireless connection. Placing markers becomes somewhat challenging because the robot exhibits a wide range of postures and orientations over a large range of linear positions. Various time-of-flight sensors, from lasers to ultrasonic waves, can be mounted on the robot to estimate its height above the ground. If the movement occurs in a controlled environment, beacons can be placed at known locations to enable triangulation of the position. Since the launch and flight times are quite short, inertial dead reckoning solutions are also useful options. To help choose the right sensor, a target for the error in the time-of-flight estimate can be defined. If the robot rotates at a speed of several revolutions per second and it is desired to control the speed to within a few tens of degrees, the time of flight may need to be predicted with an accuracy on the order of 10 milliseconds.

[0123] The inventors were interested in exploring solutions using inertial dead reckoning, since the system already includes an IMU for observing angular velocity. In order to understand the requirements for such a system, the inventors' numerical simulations were used to predict the actual acceleration and angular velocity of a typical launch. The acceleration and angular velocity were then converted into the body frame to produce the output of a simulated ideal sensor. By intentionally adding bias and scale errors to the simulated sensor, the impact of these non-idealities on the flight time estimate can be predicted. Fig.19 Deviations from the predicted trajectory caused by simulated errors in the accelerometer bias in the body z-axis are shown by graph 1900 .

[0124] When scanning parameter space to predict the effects of multiple sensor non-idealities, the inventors observed that the largest effects were produced by varying three sensors: the angular rate sensor in body y and the acceleration sensors in body x and z. This is because the motion and rotation during launch occurs primarily in the body xz plane. The inventors also observed that for the error range studied, the effect of each non-ideal can be approximated as a linear effect, such as Fig. 20 A set of curve graphs 2000 are shown.

[0125] The errors were also found to be fairly independent. The errors in bias and scale were chosen to produce an error of 1 plus / minus 0.01 ms in the landing time estimate when applied individually to the y-axis rate sensor, x-axis accelerometer, or z-axis accelerometer. These six error types were then combined in all possible permutations, yielding a maximum error of 6.05 ms. Based on this analysis, it is possible to predict the combinations of sensing specifications that may result in the necessary accuracy of the flight time estimate. Fig.21 and Fig. 22 The allowable space among various error combinations on the reduced set is shown for visualization purposes in graphs 2100 and 2200, respectively. Fig.21 and 22 In the figure, the open and filled circles are from fully integrated empirical scans, the black lines are from independent linear approximations, and the other points represent the evaluated sensor specifications.

[0126] In use Fig.12 During testing / experiments with the robot 1500 and system 1200, the inventors evaluated three sensors: (1) BNO055; (2) VN-100, and (3) VN-110. The specifications that map most directly to bias are the in-run bias stability and the batch control bias variation. To obtain the worst-case performance of the sensor, the model noise can be actively modeled as a deviation equal to the standard deviation of the signal at the frequency of interest. For scale error, the specification of linearity is a related metric. The specifications of each evaluated sensor are plotted at Fig.21 and 22 The constraint curves are shown in Figures 2100 and 2200. Although VN-110 has the smallest prediction error, all three sensors predict gyroscope performance to be within the target tolerance. For accelerometer performance, only VN-110 falls within the inventor's ideal limits.

[0127] In most MEMS sensors, the z-axis is noisier and more inconsistent than the x- and y-axes due to manufacturing issues. Since the important acceleration axes are the body x and z-axes, the sensor can preferably be oriented so that the sensor z-axis points along the body y-axis. This means that the least reliable gyro axis is used to measure the most important rotational axis, but, as mentioned above, the prediction error from the gyro is much smaller than the prediction error caused by the accelerometer. Once the position of the sensor is known, the position of the center of mass is calculated. Since the center of mass position changes as the robot configuration changes, this involves both accurate encoder information and knowledge of the robot's mass distribution.

[0128] Once the sensors were selected, the inventors mounted the sensors to a test stand in their prototype of the robot 1500 and fired it multiple times. The inventors found that performance was improved by allowing the device to remain stationary for a few tens of seconds before firing to allow the internal gravity vector estimate to stabilize. Fig.23 A set of eight launches (compared to ground truth data obtained via an Opti-track motion capture system) where the VN-110 was used for inertial dead reckoning is shown in graph 2300. The average error in the predicted landing time was 40 ms with a standard deviation of 10 ms.

[0129] Regarding flip control, once the time in air is accurately estimated, a simple controller is implemented to manage the landing position. The following algorithm is used in a prototype controller: (a) the robot's orientation is calculated by projecting the core's longitudinal axis onto the motion plane and taking its angle relative to the vertical; (b) the current angular velocity is multiplied by the predicted time remaining in air and the result is added to the current orientation to estimate the final pose; (c) if the predicted final pose rotation exceeds the target pose, the robot's limbs are extended toward the fully laid out position; and (d) if the predicted final pose does not reach the target pose, the robot's limbs are retracted toward the tightly folded position. In practice, the inventors were able to use this algorithm to achieve landing orientations with a standard deviation of about 10 degrees and a constant deviation of about 45 degrees due to consistent errors in the landing time calculations.

[0130] Regarding torsional control, the physical prototype of the robot 1500 includes multiple moving members that move to change their inertia. One way to simulate the motion of the robot as it rotates in the air is to treat it as a rigid body with variable inertia. This simplification reduces the complexity of the resulting 3D equations of motion, but includes different inertial terms than the traditional formula. Ignoring aerodynamic forces, the body in free fall will maintain its angular momentum as follows:

[0131]

[0132] in, is the body inertia matrix around its center of mass, andN ω B is its angular velocity vector.

[0133] Differentiate angular momentum generation:

[0134]

[0135] From equation (9), we can simulate the behavior of the robot in 3D and predict the effect of changes in inertia on the orientation of the robot. For example, for a rigid body undergoing a simple rotation about the x-axis, the equation of motion becomes Here, I xx is the derivative of inertia. xx is the current inertia, which can be expressed as Among them I xx,0 is a constant initial inertia, and t is time. The inventors compared this formula with actual results of the torsional behavior of the robot and found it to be informative. The controller of the robot can be configured based on this method. In some cases, it may be useful to command the robot (e.g. Fig.15 The robot 1500) assumes a predetermined asymmetric posture to see the amount of control authority available.

[0136] Using empirical fine-tuning, the inventors were able to achieve a landing with no twist, as well as a landing with half twist in either direction they desired, with their prototype of the robot 1500. Fig.12 The system 1200 was tested and it was found that the robot 1500 could be controlled to perform a front flip, a back flip and no inversion, consistent with the trend of the pumping model. It was further found that the time in the air could be accurately predicted using appropriately specified sensors. In addition, it has been demonstrated that the robot can be controlled to twist in two directions via an actuation configuration. Still further, the inventors determined that the robot / stunt robot can use control both on and off the pendulum to land in the manner desired by the stunt / performance designer after performing a series of different stunts on a ballistic trajectory.

[0137] Although the present invention has been described and illustrated with a certain degree of particularity, it should be understood that the present disclosure is made by way of example only and that numerous changes in the combination and arrangement of parts may be adopted by those skilled in the art without departing from the spirit and scope of the present invention, as claimed herein.

Claims

1. A ballistic robot system, comprising: A robot comprising a controller, an onboard sensor, a body supporting the controller and the onboard sensor, and at least one component configured to be actuated by the controller; Non-airborne sensors; a capture system having a landing surface in a first position; as well as a launching mechanism in a second position spaced a lateral distance from the landing surface, wherein the launching mechanism is operative to first support the robot during a pre-launch process phase, to provide energy to a body of the robot during the pre-launch process phase, and then to launch the body of the robot as a ballistic body on a trajectory defining a flight path that intersects the landing surface, wherein the launching mechanism remains in the second position during and after launching the body of the robot, wherein, while flying on the flight path, the controller processes data collected by the onboard sensors, including calculating angular velocity and time remaining before impact with a landing surface, and generates a control signal to cause actuation of the at least one component so that the body performs a predefined controlled motion before impact with the landing surface; wherein the onboard sensors include an inertial measurement unit (IMU) and at least one rangefinder, and wherein the controller processes data collected by the onboard sensors to determine a current angular velocity and a current altitude of the body while on the flight path, and wherein the off-board sensor transmits the collected data to the controller for processing to determine the current position of the body on the flight path, wherein the current position is used to determine the timing of triggering the control signal, and wherein the off-board sensor includes at least one of: a motion capture system; a floodlight that provides polarized light received by a first light sensor on or in the body; and a laser that provides a light beam or light plane received by a second light sensor on or in the body.

2. The system of claim 1, wherein: During flight on the flight path, the predefined controlled motion is adapted and timed so that the body has a predefined landing angle and a predefined attitude or a predefined orientation upon impact with the landing surface.

3. The system of claim 2, wherein: The at least one component is configured to move the body between a folded configuration and an deployed configuration, and wherein the predefined controlled motion is movement from the folded configuration to the deployed configuration prior to impact with the landing surface.

4. The system of claim 1, wherein: The at least one component includes an inertial movement assembly that operates to move the moment of inertia of the body in response to the control signal.

5. The system of claim 1, wherein: The at least one component comprises an actuator and a positionable attachment or linkage of the body, and wherein the predefined controlled movement comprises moving the attachment or the linkage to change a spin of the body about at least one axis.

6. The system of claim 1, wherein: The launch mechanism includes a pendulum assembly having an elongated pendulum member, wherein the body of the robot is removably coupled to an end of the elongated pendulum member, and wherein the pendulum assembly is gravity-based or powered to reach a predefined velocity upon initiation of the launch.

7. The system of claim 6, wherein: The controller is operative during the pre-launch process phase to generate a second control signal to cause actuation of the at least one component to cause the body to move in a second predefined controlled motion prior to launching the body on the trajectory.

8. The system of claim 7, wherein: The second control signal is generated by the controller at a predefined time after an initial movement of the elongated pendulum member during the pre-launch process phase, and wherein the second predefined controlled motion is suitable for causing the body to spin in a predefined manner about at least one axis on the flight path.

9. The system of claim 8, wherein: The at least one component is configured to move the body between a folded configuration and an expanded configuration, and wherein the second predefined controlled motion is movement from the expanded configuration to the folded configuration prior to launching from the launching mechanism.

10. The system of claim 1, wherein: The at least one component includes an in-flight booster system for adding or removing energy to a body of the robot while the robot is flying on the flight path or prior to impact with the landing surface to initiate the predefined controlled motion; Wherein, the in-flight booster system includes at least one of the following: the robot is connected to a hanger rod, and the robot interacts with another electronic animation device to obtain or release energy, air flow or jet.

11. A ballistic robot system, comprising: A robot comprising a controller, an onboard sensor, a body supporting the controller and the onboard sensor, and at least one component configured to be actuated by the controller; a capture system having a landing surface in a first position; as well as a launching mechanism in a second position spaced a lateral distance from the landing surface, wherein the launching mechanism is operative to first support the robot during a pre-launch process phase, to provide energy to a body of the robot during the pre-launch process phase, and then to launch the body of the robot as a ballistic body on a trajectory defining a flight path that intersects the landing surface, wherein the launching mechanism remains in the second position during and after launching the body of the robot, Wherein, when flying on the flight path, the controller processes data collected by the onboard sensors, including calculating the angular velocity and the remaining time before impact with the landing surface, and generates a control signal to cause actuation of the at least one component so that the body performs a predefined controlled movement before impact with the landing surface.

12. The system of claim 11, wherein: During flight on the flight path, the predefined controlled motion is adapted and timed so that the body has a predefined landing angle, a predefined attitude or a predefined orientation upon impact with the landing surface.

13. The system of claim 12, wherein: The at least one component is configured to move the body between a folded configuration and an deployed configuration, and wherein the predefined controlled motion is movement from the folded configuration to the deployed configuration prior to impact with the landing surface.

14. The system of claim 11, wherein: The onboard sensors include an inertial measurement unit (IMU) and at least one rangefinder, and wherein the controller processes data collected by the onboard sensors to determine a current angular velocity and a current altitude of the body while on the flight path.

15. The system of claim 11, further comprising off-board sensors that transmit collected data to the controller for processing to determine the current position of the body on the flight path, wherein: The current position is used to determine the timing of triggering the control signal, and wherein the off-board sensor includes at least one of: a motion capture system; a floodlight that provides polarized light received by a first light sensor on or in the body; and a laser that provides a light beam or light plane received by a second light sensor on or in the body.

16. The system of claim 11, wherein: The at least one component includes an inertial movement assembly that operates to move the moment of inertia of the body in response to the control signal.

17. The system of claim 11, wherein: The at least one component comprises an actuator and a positionable attachment or linkage of the body, and wherein the predefined controlled movement comprises moving the attachment or the linkage to change a spin of the body about at least one axis.

18. The system of claim 11, wherein: The launch mechanism includes a pendulum assembly having an elongated pendulum member, wherein the body of the robot is removably coupled to an end of the elongated pendulum member, and wherein the pendulum assembly is gravity-based or powered to reach a predefined velocity upon initiation of the launch.

19. The system of claim 18, wherein: The controller is operative during the pre-launch process phase to generate a second control signal to cause actuation of the at least one component to cause the body to move in a second predefined controlled motion prior to launching the body on the trajectory.

20. The system of claim 19, wherein: The second control signal is generated by the controller at a predefined time after an initial movement of the elongated pendulum member during the pre-launch process phase, and wherein the second predefined controlled motion is suitable for causing the body to spin in a predefined manner about at least one axis on the flight path.

21. The system of claim 20, wherein: The at least one component is configured to move the body between a folded configuration and an expanded configuration, and wherein the second predefined controlled motion is movement from the expanded configuration to the folded configuration prior to launching from the launching mechanism.

22. The system of claim 11, wherein: The at least one component comprises an actuatable element for changing aerodynamic properties of one or more external surfaces of a body of the robot to initiate the predefined controlled movement.

23. A ballistic robot system, comprising: A robot comprising a body, a controller mounted on the body, onboard sensors disposed on the body including an inertial measurement unit (IMU) and at least one rangefinder, and at least one component configured to actuate in response to a control signal from the controller; a capture system having a landing surface; as well as a launching mechanism that launches the body of the robot on a trajectory that defines a flight path to land on the landing surface, wherein the launching mechanism remains in a fixed position during and after launching the body of the robot, and wherein the robot flies from the launching mechanism to the landing surface as a ballistic body; wherein the controller processes data collected by the onboard sensors while flying on the flight path and in response generates control signals to cause actuation of the component to cause an attachment, a linkage or an internal counterweight to move from a first position to a second position, whereby the body moves on the flight path in a predefined controlled motion prior to impacting the landing surface, wherein during flight on the flight path, a predefined controlled movement is adapted and timed so that the body has a predefined landing angle, a predefined attitude or a predefined orientation upon impact with the landing surface, and Therein, processing of data collected by the controller includes calculating angular velocity and remaining time before impact with the landing surface.

24. The system of claim 23, wherein: The at least one component is configured to move the body between a folded configuration and an deployed configuration, and wherein the predefined controlled motion is movement from the folded configuration to the deployed configuration prior to impact with the landing surface.

25. The system of claim 23, wherein: The onboard sensors include an inertial measurement unit (IMU) and at least one rangefinder, wherein the controller processes data collected by the onboard sensors to determine a current angular velocity and a current altitude of the body while on the flight path, wherein the system also includes off-board sensors that transmit the collected data to the controller for processing to determine a current position of the body on the flight path, wherein the current position is used to determine a timing for triggering the control signal, and wherein the off-board sensors include at least one of: a motion capture system; a floodlight that provides polarized light received by a first light sensor on or in the body; and a laser that provides a light beam or light plane received by a second light sensor on or in the body.

26. A ballistic robot system, comprising: A robot comprising a controller, an onboard sensor, and at least one component configured to be actuated by the controller; as well as a launching mechanism operative to first support the robot during a pre-launch process phase, impart energy to the robot during the pre-launch process phase, and then launch the body of the robot on a trajectory defining a flight path, the body of the robot acting as a ballistic body during flight along the flight path, wherein the controller processes data collected by the onboard sensors while flying on the flight path and in response generates control signals to cause actuation of the at least one component so that the body performs a predefined controlled motion prior to impact with a landing surface, Wherein, the launching mechanism comprises a pendulum assembly having an elongated pendulum member, wherein the body of the robot is detachably connected to the end of the elongated pendulum member, wherein the controller is operative during the pre-launch process phase to generate a second control signal to cause actuation of the at least one component such that the body moves in a second predefined controlled motion prior to launching the body on the trajectory, wherein the second predefined controlled motion is adapted to cause the body to spin in a predefined manner about at least one axis on the flight path, and Wherein, the controller processes data collected by the onboard sensors to determine the current angular velocity and the current altitude of the body while on the flight path.

27. The system of claim 26, wherein: During flight on the flight path, the predefined controlled motion is adapted and timed so that the body has a predefined landing angle, a predefined attitude or a predefined orientation upon impact with the landing surface.

28. The system of claim 27, wherein: The at least one component is configured to move the body between a folded configuration and an deployed configuration, and wherein the predefined controlled motion is a movement from the folded configuration to the deployed configuration prior to impact with the landing surface.

29. The system of claim 26, wherein: The onboard sensors include an inertial measurement unit (IMU) and at least one rangefinder.

30. The system of claim 26, further comprising an off-board sensor that transmits collected data to the controller for processing to determine a current position of the body on the flight path, wherein the current position is used to determine a timing for triggering the control signal, and wherein the off-board sensor comprises at least one of: a motion capture system; a floodlight that provides polarized light received by a first light sensor on or in the body; and a laser that provides a light beam or light plane received by a second light sensor on or in the body.

31. The system of claim 26, wherein: The at least one component includes an inertial movement assembly that operates to move the moment of inertia of the body in response to the control signal.

32. The system of claim 26, wherein: The at least one component comprises an actuator of the body and a repositionable attachment or linkage, and wherein the predefined controlled movement comprises moving the attachment or the linkage to change a spin of the body about at least one axis.

33. The system of claim 26, wherein: The at least one component is configured to move the body between a folded configuration and an expanded configuration, and wherein the second predefined controlled motion is movement from the expanded configuration to the folded configuration prior to launching from the launching mechanism.

Citation Information

Patent Citations

  • Robot with inertia shifting assembly providing spin control during flight

    US20190022858A1

  • Variable wing guidance bomb

    CN1515870A

  • Controlled flight of a multicopter experiencing a failure affecting an effector

    US20160107751A1