Search NASASearch

Engineering topics

Biesiadecki, Jeffrey

Publications and source records attributed to Biesiadecki, Jeffrey.

Testing Mars 2020 Flight Software and Hardware in the Surface System Development Environment

The Mars 2020 (M2020) Perseverance Rover is NASA's most advanced planetary rover mission to date. It includes a novel Sample Caching Subsystem (SCS) which will collect rock cores for possible future return to Earth, as well as an improved mobility system with enhanced autonomous navigation which will enable it to traverse faster and farther than prior rovers. The development of both systems required extensive flight software and flight hardware testing. To support this testing, we developed the Surface System Development Environment (SSDEV) and used it for a wide variety of testing. SSDEV is a bundled subset of M2020 Flight Software which runs on commercially available Linux computers and can be combined with multiple backend options for simulation and hardware control. The SSDEV architecture enabled our teams to perform much more testing of flight software and flight hardware than would have otherwise been possible. As a secondary benefit, the SSDEV-based test campaigns also helped our teams enter the operations phase of the mission with greater readiness of operations products and tools. In this paper, we summarize the motivation for SSDEV, provide an overview of the SSDEV architecture, list several examples of how SSDEV was used, and summarize lessons learned. SSDEV is not a substitute for integrated testing with flight-like avionics, but it enabled substantially more testing than would have otherwise been possible and also provided some unique benefits. We recommend architectures like SSDEV to future projects that need to perform extensive hardware and software testing using a limited set of flight-like avionics.

Wai, Dennis

Driving Curiosity: Mars Rover Mobility Trends During the First Seven Years

NASA’s Mars Science Laboratory (MSL) mission landed the Curiosity rover on Mars on August 6, 2012. As of August 6, 2019 (sol 2488), Curiosity has driven 21,318.5 meters over a variety of terrain types and slopes, employing multiple drive modes with varying amounts of onboard autonomy. Curiosity’s drive distances each sol have ranged from its shortest drive of 2.6 centimeters to its longest drive of 142.5 meters, with an average drive distance of 28.9 meters. Real-time human intervention during Curiosity drives on Mars is not possible due to the latency in uplinking commands and downlinking telemetry, so the operations team relies on the rover’s flight software to prevent an unsafe state during driving. Over the first seven years of the mission, Curiosity has attempted 738 drives. While 622 drives have completed successfully, 116 drives were prevented or stopped early by the rover’s fault protection software. The primary risks to mobility success have been wheel wear, wheel entrapment, progressive wheel sinkage (which can lead to rover embedding), and terrain interactions or hardware or cabling failures that result in an inability to command one or more steer or drive actuators. In this paper, we describe mobility trends over the first 21.3km of the mission, operational aspects of the mobility fault protection, and risk mitigation strategies that will support continued mobility success for the remainder of the mission.

Rankin, Arturo

Software System for the Mars 2020 Mission Sampling and Caching Testbeds

The development of the Sampling and Caching Subsystem (SCS) of the Mars 2020 Rover Mission is highly dependent on testing of prototype hardware and software operating in explicit conditions as part of integrated testbeds. To achieve relevant integration of hardware and software while maintaining rapid algorithm development capabilities and high testing throughput, the Controls and Autonomy for Sample Acquisition and Handling (CASAH) software system was developed. CASAH is an implementation of the Intelligent Robotics System Architecture (IRSA),which mimics JPL Flight Software (FSW) in that it is divided into hierarchical modules that run separate processes that communicate via message passing, each module is assigned an owner that is a single developer, and the operator initiates requests via a text-based interface that interprets sequences of commands.IRSA enables a modular breakdown of CASAH that follows that of 2020 Flight Software,so developers can take an algorithm from a module in CASAH and re-code it into the same module in FSW. As deployment of CASAH has grown to ten testbeds - each with different hardware and objectives - bottom-up design decisions have been intentionally made to keep the system lightweight and maintainable by a very small team. To date, CASAH has been used to run 1393 different tests. This work describes CASAH, the testbeds and functionality it supports, the tools used to manage the development and sharing of code, and the features of the software. Lessons learned over the past three years of development and deployment are provided.

Vieira, Peter

Traction Control Design and Integration Onboard the Mars Science Laboratory Curiosity Rover

The Mars Science Laboratory (MSL) Curiosity rover experienced increasing wheel damage beginning in October 2013. While the wheels were designed to operate with considerable damage, the rate at which damage was occurring was unexpected and raised concerns regarding wheel lifetime. The Jet Propulsion Laboratory (JPL) has now developed and deployed new software on Curiosity that reduces the forces acting on the wheels. Our new Traction Control algorithm adapts each wheel’s speed to fit the terrain it drives over. It does not rely on any a priori knowledge of the terrain, and instead leverages the rover’s measured attitude rates and suspension angles, together with a rigid-body kinematics model, to estimate the real-time wheel-terrain contact angles and ideal, no-slip wheel angular rates. In addition, free-floating “wheelies” are detected and autonomously corrected. In this paper, we describe the algorithm, its ground testing campaign and associated challenges, and finally its validation and performance in flight. Ground test data demonstrates reductions in the forces acting on the wheels and validates the wheelie-damping capability. Secondary benefits in some terrains include a reduction in heading deviations while climbing rocks, with a reduction in slip in certain sandy terrains. Preliminary validation from flight data confirms these findings.

Maimone, Mark

Sliding GAIT Algorithm for the All-Terrain Hex-Limbed Extra-Terrestrial Explorer (ATHLETE)

The design of a surface robotic system typically involves a trade between the traverse speed of a wheeled rover and the terrain-negotiating capabilities of a multi-legged walker. The ATHLETE mobility system, with both articulated limbs and wheels, is uniquely capable of both driving and walking, and has the flexibility to employ additional hybrid mobility modes. This paper introduces the Sliding Gait, an intermediate mobility algorithm faster than walking with better terrain-handling capabilities than wheeled mobility.

terrain anomaly

Visual Target Tracking on the Mars Exploration Rovers

Visual target tracking (VTT) software has been incorporated into Release 9.2 of the Mars Exploration Rover (MER) flight software, now running aboard the rovers Spirit and Opportunity. In the VTT operation (see figure), the rover is driven in short steps between stops and, at each stop, still images are acquired by actively aimed navigation cameras (navcams) on a mast on the rover (see artistic rendition). The VTT software processes the digitized navcam images so as to track a target reliably and to make it possible to approach the target accurately to within a few centimeters over a 10-m traverse.

Kim, Won

Results from Automated Cloud and Dust Devil Detection Onboard the MER

We describe a new capability to automatically detect dust devils and clouds in imagery onboard rovers, enabling downlink of just the images with the targets or only portions of the images containing the targets. Previously, the MER rovers conducted campaigns to image dust devils and clouds by commanding a set of images be collected at fixed times and downloading the entire image set. By increasing the efficiency of the campaigns, more campaigns can be executed. Software for these new capabilities was developed, tested, integrated, uploaded, and operationally checked out on both rovers as part of the R9.2 software upgrade. In April 2007 on Sol 1147 a dust devil was automatically detected onboard the Spirit rover for the first time. We discuss the operational usage of the capability and present initial dust devil results showing how this preliminary application has demonstrated the feasibility and potential benefits of the approach.

dust devils

Robust, Flexible Motion Control for the Mars Explorer Rovers

The Mobility Flight Software, running on computers aboard the Mars Explorer Rover (MER) robotic vehicles Spirit and Opportunity, affords the robustness and flexibility of control to enable safe and effective operation of these vehicles in traversing natural terrain. It can make the vehicles perform specific maneuvers commanded from Earth, and/or can autonomously administer multiple aspects of mobility, including choice of motion, measurement of actual motion, and even selection of targets to be approached. Motion of a vehicle can be commanded by use of multiple layers of control, ranging from motor control at a low level, direct drive operations (e.g., motion along a circular arc, motion along a straight line, or turn in place) at an intermediate level to goal-position driving (that is, driving to a specified location) at a high level. The software can also perform high-level assessment of terrain and selection of safe paths across the terrain: this involves processing of the digital equivalent of a local traversability map generated from images acquired by stereoscopic pairs of cameras aboard the vehicles. Other functions of the software include interacting with the rest of the MER flight software and performing safety checks.

Maimone, Mark

Autonomous Detection of Dust Devils and Clouds on Mars

Acquisition of science in space applications is shifting from teleoperated gathering to an automated on-board analysis with improvements in the use of on-board memory, CPU, bandwidth and data quality. In this paper, we describe algorithms to autonomously detect dust devils and clouds from a rover and summarize the results. These algorithms meet high hit-to-miss ratios and satisfy strict requirements of CPU, memory usage and bandwidth. The detectors have been scheduled for upload to the Mars Exploration Rovers (MER) in 2006. These are the first autonomous science processes in the rovers.

onboard science

Tracking Positions and Attitudes of Mars Rovers

The Surface Attitude Position and Pointing (SAPP) software, which runs on computers aboard the Mars Exploration Rovers, tracks the positions and attitudes of the rovers on the surface of Mars. Each rover acquires data on attitude from a combination of accelerometer readings and images of the Sun acquired autonomously, using a pointable camera to search the sky for the Sun. Depending on the nature of movement commanded remotely by operators on Earth, the software propagates attitude and position by use of either (1) accelerometer and gyroscope readings or (2) gyroscope readings and wheel odometry. Where necessary, visual odometry is performed on images to fine-tune the position updates, particularly on high-wheel-slip terrain. The attitude data are used by other software and ground-based personnel for pointing a high-gain antenna, planning and execution of driving, and positioning and aiming scientific instruments.

Ali, Khaled

YAM- A Framework for Rapid Software Development

YAM is a software development framework with tools for facilitating the rapid development and integration of software in a concurrent software development environment. YAM provides solutions for thorny development challenges associated with software reuse, managing multiple software configurations, the development of software product-lines, multiple platform development and build management. YAM uses release-early, release-often development cycles to allow developers to incrementally integrate their changes into the system on a continual basis. YAM facilitates the creation and merging of branches to support the isolated development of immature software to avoid impacting the stability of the development effort. YAM uses modules and packages to organize and share software across multiple software products. It uses the concepts of link and work modules to reduce sandbox setup times even when the code-base is large. One side-benefit is the enforcement of a strong module-level encapsulation of a module s functionality and interface. This increases design transparency, system stability as well as software reuse. YAM is in use by several mid-size software development teams including ones developing mission-critical software.

simulations

A Reconfigurable Testbed Environment for Spacecraft Autonomy

A key goal of NASA's New Millennium Program is the development of technology for increased spacecraft on-board autonomy. Achievement of this objective requires the development of a new class of ground-based automony testbeds that can enable the low-cost and rapid design, test, and integration of the spacecraft autonomy software. This paper describes the development of an Autonomy Testbed Environment (ATBE) for the NMP Deep Space I comet/asteroid rendezvous mission.

testbed autonomy New Millennium Program (NMP) Auto