This is a special edition of MSim for NASA/JPL's ATHLETE.
The All-Terrain Hex-Limbed Extra-Terrestrial Explorer (video introduction) is a research platform under development at JPL for potential use in aiding humans in future missions. It incorporates a relatively large number of articulated Degrees-of-Freedom (DoF): each of its six limbs has six revolute joints, and in some contexts the wheel joints can also be kinematic, for a total of up to 42 DoF. Operating such systems (i.e. specifying of tasks and motions, nominally from a human operator, but potentially also from higher-level software) is challenging in part due to the relatively high dimension of the configuration space. Higher levels of autonomy—such as autonomous locomotion path planning and execution—are one answer, but there are still many cases where finer-grained control remains desirable provided that the potential tedium of specifying complex motions involving many joints can be reduced.
Here we use virtual articulation as a structured and natural way to specify coordinated motions in high DoF systems. An operator adds virtual joints, and also possibly virtual links, to a kinematic simulation of the mechanism as a means of (1) constraining motion and (2) defining quantitative and concrete task-relevant DoF that need not correspond to any joint or effector in the actual mechanism. The mixed real/virtual kinematic model can then be interactively dragged and otherwise manipulated by the operator while the system maintains all joint constraints. Some hardware experiments and simulation examples are given below, most of which would be difficult to achieve without extensive special-case hand coding in existing systems for ATHLETE operations.
MSim-ATHLETE is released under the GNU GPLv2. You can also browse the source and read the javadoc online. More info on downloading below.
All of the documentation for and requirements of MSim also apply to MSim-ATHLETE.
These examples were recorded at NASA/JPL in January 2009.
In this experiment the operator designs a motion where a limb-mounted camera inspects a roughly spherical object while maintaining a constant distance. The operator directly models this constraint using a virtual spherical joint connecting the object (itself represented as a virtual link) and the camera. A secondary goal is to extend the space of reachable viewpoints by using the five other limbs to lean the hexagonal deck, but because the deck often carries a payload, we need to maintain its orientation. This is expressed by a virtual Cartesian-3 joint connected between the deck and the world frame. See below for the corresponding MSim interface view. After configuring the virtual articulations the operator can drag the camera with the mouse to scan the object. In this experiment we also used our direct-manipulation ADMIN hardware interface to pose the limb holding the inspection camera, as shown next. An overhead crane serves as a safety backup in this experiment. Video speed 6x.
|Object Inspection with ADMIN||ogv|mp4|webm|
Two limbs execute a pinching maneuver with the pinch distance and angles controlled by virtual prismatic and revolute joints. See below for the corresponding MSim interface view. To safely grasp a rigid object some force control would also need to be incorporated. For this experiment the hex deck was partially supported by an overhead crane as simultaneously raising two limbs is not directly supported on the current hardware. Video speed 4x.
A trenching motion, with the hex deck leaning to extend reach. The motion is constrained and parameterized by several virutal prismatic and revolute joints, see below for the corresponding MSim interface view. A virtual Cartesian-3 joint, which allows 3DoF translation but no rotation, connected between the hex deck and the ground link maintains the deck orientation. Reachable trenching distance is increased by over 100% relative to what would be possible if the deck was held fixed. For safe digging some force control would also need to be incorporated. An overhead crane serves as a safety backup in this experiment. Video speed 10x.
|Deck Camera Pan and Tilt||ogv|mp4|webm|
Panning and tilting a camera built into the near side of the hex deck. The camera does not have its own pan and tilt actuators, but can still be aimed using postural motions. To operate this motion we used an assembly of two virtual revolute joints parameterizing the pan and tilt. See below for the corresponding MSim interface view. An overhead crane serves as a safety backup in this experiment. Video speed 10x.
These examples were recorded using a detailed graphical model of the robot developed by the RSVP team at NASA/JPL, not the non-proprietary model distributed with the MSim special edition available on this page. Other than that there are no significant differences between the two editions.
Five wheels are locked to the ground link and the remaining wheel is given an initial pose that aims its tool camera at a sphere reresenting an object of interest. A virtual spherical joint at the center of the object constrains the relative pose of the camera, which may then be dragged to inspect the object from different viewpoints. See above for the corresponding hardware experiment
A virtual link o is added to represent a manipulated object, and serial chains of one prismatic and one revolute joint are added between o and the foot links on two adjacent ATHLETE limbs. The geometry of the grasp can be configured by manipulating these virtual joints, and the pinched object can be positioned in space by dragging o. See above for the corresponding hardware experiment.
A trenching motion, with the hex deck leaning to extend reach. The motion is constrained and parameterized by several virutal prismatic and revolute joints. See above for the corresponding hardware experiment. A virtual Cartesian-3 joint, which allows 3DoF translation but no rotation, connected between the hex deck and the ground link maintains the deck orientation. Reachable trenching distance is increased by over 100% relative to what would be possible if the deck was held fixed.
|Deck Camera Pan and Tilt||ogv|mp4|webm|
Two virtual revolute joints are added between the deck and ground link, constraining the deck posture to a 2D space of poses that pan and tilt one of the side-mounted cameras, which does not have dedicated pan/tilt actuators. The added joints also give a concrente parameterization so that a particular pan/tilt scan sequence can be commanded. See above for the corresponding hardware experiment.
With the wheels locked relative to the ground link, the deck posture may be interactively manipulated in orientation and translation. The current version of MSim-ATHLETE does not yet compute center-of-mass or joint torque related qantities, so candidate motions developed in MSim-ATHLETE need to be verified for static stability and torque feasibility before uplink.
|Crew Module Inspection||ogv|mp4|webm|
One limb is posed to aim its tool camera at the surface of a cylinder representing a crew habitat, and a revolute-prismatic virtual joint chain is added to constrain the camera to a 2D space of poses in a concentric cylindrical patch. The camera view axis is effectively constrained by these virtual joints to stay normal to the crew module surface, and either joint may be locked to permit rotation or translation only. The camera can be moved either by operating the virtual joints or by dragging it directly. The virtual joints define a specific parameterization for the camera motion.
Five wheels are locked to the ground link and the remaining wheel is interactively dragged in a reaching motion that might represent trenching or rock pushing. At first, the hexagonal deck is also locked, limiting the limb motion. The deck is then unlocked to permit extended reach. Finally, a virtual Cartesian-3 joint, which allows three orthogonal translations and no rotation, is interactively added between the deck and ground links to prevent the deck from twisting but still allowing some reach extension.
ATHLETE Direct Manipulation INterface (ADMIN) is a 1/8 scale sensed but un-actuated model of one leg of ATHLETE designed to be used as a human-interface device to aid operations. We developed ADMIN as part of a collaboration with JPL to explore more powerful and convenient methods of operating ATHLETE's limbs for non-locomotion tasks.
An operator can manipulate ADMIN as a means of specifying a pose or a motion for a selected limb of an actual ATHLETE robot. Sensors are incorporated in the joints which allow the ADMIN state to be read into a laptop or workstation via a standard Universal Serial Bus connection. One example was shown above, and several others are below.
Input devices previously used for ATHLETE, including a general-purpose haptic device, do not mimic the limb structure and allow only for specifying the end-effector (EE) configuration. In some contexts this does not uniquely identify a pose for the rest of the leg. For example, in many cases, some rotation about the wheel axis is permissible, so specifying a full spatial pose for the wheel still allows a continuous space of leg postures. Even if such rotation is not allowed there is still generally a discrete set of possible postures that realize a given EE spatial pose. ADMIN is useful in cases where the whole-leg posture must be unambiguously commanded, for example, to maximize rigidity, available range of motion, or to avoid nearby obstacles. Also, because ADMIN mimics the link lengths and geometry of ATHLETE as well as the joint angle limits, its kinematic workspace is representative of the actual ATHLETE limb workspace.
An ADMIN unit was delivered to JPL in early May 2008 and was successfully incorporated with JPL's Ensemble operations software suite and used to command over 100 ATHLETE motions in a field test at Moses Lake, Washington that June (videos courtesy NASA/JPL).
|ADMIN with ATHSIM||ogv|mp4|webm|
ADMIN used with ATHSIM at JPL. Video speed 1x.
|ADMIN at Moses Lake||ogv|mp4|webm|
ADMIN used to cmmand ATHLETE leg poses at the Moses Lake field test. Video speed 4x.
MSim-ATHLETE is released under the GNU GPLv2. The distribution jars (amd64, i586, nonatives) come with everything rolled into one: sourcecode, Java class files, html documentation, makefiles, native binaries (if any) for the indicated architecture, etc. These jars contain both MSim-ATHLETE and its dependencies, which are:
A lighter-weight jar is also available which excludes dependencies (except ADMIN which is not otherwise distributed), and there is also an extra-light jar which excludes external dependencies, source code, and documentation.
See MSim Download, Dependencies, and Installation for further information about setting up netlib-java and running or building MSim-ATHLETE.
A group at Stanford university has considered the problem of autonomous kinodynamic path planning for ATHLETE [HBLW06]. The MSim related work also applies.
|HBLW06||K. Hauser, T. Bretl, J.C. Latombe, and B. Wilcox. Motion Planning for a Six-Legged Lunar Robot. Workshop on the Algorithmic Foundations of Robotics (WAFR), 2006.|
Thanks to Jeff Norris, David Mittman, and other collaborators at JPL for helping with this work.
The ATHLETE VRML model shown here in demo animations was provided courtesy of RSVP Team NASA/JPL/Caltech (that model is proprietary; an alternate simple model is included in the download).
This project was funded in part under the NASA/JPL SURP and NSF EFRI programs.
THIS INFORMATION AND/OR SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS INFORMATION AND/OR SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.