# Presentation: 520387

## CLARAty: Coupled Layer Architecture for Robotic Autonomy

- Issa A.D. Nesnas
- Jet Propulsion Laboratory
- March 5, 2002
- _[http://](http://claraty.jpl.nasa.gov/)__[claraty](http://claraty.jpl.nasa.gov/)__[.jpl.](http://claraty.jpl.nasa.gov/)__[nasa](http://claraty.jpl.nasa.gov/)__[.](http://claraty.jpl.nasa.gov/)__[gov](http://claraty.jpl.nasa.gov/)_
- Mars Technology Program
- Intelligent Systems Program

## Presentation Overview

- Objectives
- The “*Key*” Deliverable
- Relevance to the missions
- Measuring Success
- A Quick Technical Tour of the Architecture
- Overview
- Examples and results on software reusability
- Mars Yard Demonstration of:
- Generic Locomotion on two rovers (Rocky 8 & Rocky 7)
- A version of MER Navigation on Rocky 8

- CLARAty - I.A.N.

## Objectives

- Why are we doing this work?
- To capture and preserve robotics expertise from JPL and  other centers
- To provide a framework for future NASA rover technology development and integration
- To reduce the cost of integrating new technologies
- To operate various robots from a unified framework
- To eliminate cost of redeveloping basic robotic infrastructure

- CLARAty - I.A.N.

## The “Key” Deliverable

- A *unified* and *reusable* **robotic** **software **that provides basic functionality and simplifies the integration of new technologies for future missions

- CLARAty - I.A.N.

## Relevance to the Missions

- Why is this work relevant to the missions?
- Provides a  *common environment* for development, test, and comparison of advanced robotic technologies
- Provides an infusion path for robotics technologies into flight missions
- Demonstrates technologies on relevant robotic systems
- Makes research rovers viable test platforms for flight algorithms (e.g. navigation)
- Is robust to changes in rover hardware designs
- Can be easily adapted to flight and new research rovers

- CLARAty - I.A.N.

## Measuring Success or Failure

- We succeed **IF **we:
- Significantly reduce integration time of new technology software onto real robotic systems
- Support multiple platforms with different hardware architectures
- Provide a service that is enabling for technologists
- Simplify the development/integrate/debug/test cycle for current and next generation NASA rovers
- Have people other than the developers using and “*like*” the system

- CLARAty - I.A.N.

## A Two-Layered Architecture

***THE DECISION LAYER:*** Declarative model-based representation of system capabilities and constraints. Various high-level autonomy technologies can provide planning, scheduling, and execution capabilities – (e.g. CASPER, CLEaR, TDL, MDS GEL, CRL)

**        **CLARAty = Coupled Layer Architecture for Robotic Autonomy

***VARIABLE GRANULARITY INTERFACE:*** Interface between high- and low-level autonomy capabilities of the system. Interface for commanding, multi-level resource queries and predictions, and state updates.

***THE FUNCTIONAL LAYER:*** Generic and reusable robotic software components. Object-oriented design that can be adapted to various robotic, rover, and simulation platforms. Provide basic functionality and low-level autonomy capabilities. Packages include:  I/O, Motion Control, Manipulation, Locomotion, Navigation, Perception, Resource Management, and System Control.

- CLARAty - I.A.N.

## Currently Supported Platforms

- Solaris

- Motorola 68K

- Intel x86

- Ames

- JPL

- CMU

***Rocky 8***

- Intel x86

- VxWorks

- VxWorks

- Linux

***Rocky 7***

***K9***

- JPL

***ROAMS***

- JPL

- Linux

- Intel x86

- JPL AI

- Solaris CC

- CLARAty - I.A.N.

## Generic Reusable Algorithms

- CLARAty - I.A.N.

## Code Resuability Results

- CLARAty - I.A.N.

## Discussion Slides

## Why Develop? – Challenges ahead

- Why develop vs. buy?
- No product currently exists to address the scope of problems
- Decades of robotics and rover expertise at JPL
- Needs to be a collaborative effort within the robotics community
- Challenges:
- Getting full ITAR clearance and making CLARAty open source
- Migrating capabilities into a flight environment (MDS)
- Getting various researchers and technologists integrated into the architecture – requires *time* and *support*
- Developing and maintaining a high quality complex product
- Having enough test platforms while maintaining convergence
- Maintaining a highly-skilled, stable, and efficient team to develop the product

- CLARAty - I.A.N.

## Schedule – where are we?

***FY 00***
- Designed and documented architecture
***FY 01***
- Developed a complete end-to-end prototype with basic capabilities and tested it on  Rocky 8 and Rocky 7. Also portions of architecture running on K9 rover at Ames.
- Established close collaborative environment with Ames and CMU
***FY 02 ***
- Developing a more sophisticated set of capabilities
- Initial integration of selected MTP competed task technologies for long range traverse scenario demonstration
- Extending supported platforms to include: FIDO rover, ATRV (used by research community)
***FY 03***
- Demonstrate instrument placement from various rovers
***FY 04***
- Sophisticated mission-like capabilities on various rover prototypes

- CLARAty - I.A.N.

## Adapting to a Rover

- Hardware Drivers

- Generic
- Functional Layer

- Rocky 8
- Specialized
- Classes
- &
- Objects

- Connector

- Decision Layer
- (e.g. CASPER/TDL)

- Multi-level access Connector

- Rocky 8
- Models/
- Heuristics

- CLARAty - I.A.N.

## Decision Layer - Full Navigation  Scenario

*Courtesy of Fisher, Estlin  et al.*

- Unknown obstacle causes navigation s/w to take rover off course

- Goal discarded due to memory resource conflict

- Unknown obstacles causes obstructed path. Science targets are re-sequenced

- Goal discarded due to energy resource conflict

- CLARAty - I.A.N.

## The Functional Layer

- CLARAty - I.A.N.

## Comparing Different Implementations

*Controlled_Motor_Impl*

- ControlledMotor

- Linear_Axis

- Joint

- Non-Resuable Layer

- R8_Motor

- R7_Motor

- Fido_Motor

- Sim_Motor

- Trajectory

- Trajectory_Generator

- Mz<Type>

- HCTL_Chip

- LM629_Chip

- Widget_Board

- R7_MC_Board

- Widget_Motor

- PID_Servo

- CLARAty - I.A.N.

## R8 Specific Rover Implementation

- Mast

- LeggedLoc

- Wheeled Locomotor

- Locomotor

- CoordMotionSystem

- Motor

- BBMotor

- ControlledMotor

- Analog_IO

- Digital_IO

- IO

- Manipulator

- Arm

- R8_Arm

- R8_Mast

- Implements general fwd &
- inv. kinematics & joint ctrl

- Specialized inv. Kinematics (overrides default)
- Attaches proper motors
- Attaches proper cameras for mast
- Adds filter wheel

- R8_Locomotor

- Attaches proper motors
- Restricts Steering to 2 wheels

- R8_Motor

- R8_Rover

- R8_Arm

- R8_Mast

- R8_Locomotor

***R8***

- Widget Board

- Widget AIO

- Widget DIO

- Widget Motor

- HCTL 1100 Chip

- Non reusable Code

- Reusable Code

- Trajectory

- Trajectory_Generator

- Timers

- CLARAty - I.A.N.

## R7 Specific Rover Implementation

- Mast

- WheeledLoc

- LeggedLoc

- RBLoc

- Locomotor

- CoordMotionSystem

- Motor

- BBMotor

- ControlledMotor

- Analog_IO

- Digital_IO

- IO

- Manipulator

- Arm

- R7_Arm

- R7_Mast

- Implements general fwd &
- inv. kinematics & joint ctrl

- Specialized inv. Kinematics (overrides default)
- Attaches proper motors
- Attaches proper cameras for mast
- Adds filter wheel

- R7_Locomotor

- Attaches proper motors
- Restricts Steering to 2 wheels

- LM629Chip

- LM629Motor

- R7_Rover

- R7_Arm

- R7_Mast

- R7_Locomotor

***R7***

- Device Drivers

- VPAR10Board

- Non reusable Code

- Reusable Code

- CLARAty - I.A.N.

## Code Reusability for Hardware Modules

**Controlled Motor Hierarchies for Rocky 8 and Rocky7**

**Rocky 8**

**Rocky 7**

- CLARAty - I.A.N.

## GESTALT Navigator on Rocky 8 

- CLARAty - I.A.N.

## CLARAty Members & Collaborators

**Team:**
- _[http://](http://claraty.jpl.nasa.gov/team)__[claraty](http://claraty.jpl.nasa.gov/team)__[.jpl.](http://claraty.jpl.nasa.gov/team)__[nasa](http://claraty.jpl.nasa.gov/team)__[.](http://claraty.jpl.nasa.gov/team)__[gov](http://claraty.jpl.nasa.gov/team)__[/team](http://claraty.jpl.nasa.gov/team)_
**Working Groups:**
*CLARAty Navigation Group (Lead: Reid Simmons - CMU)*
*CLARAty Vision Group (Lead: Issa Nesnas - JPL)*
*CLARAty Mobility & Manipulation Group (Lead: Hari Das - JPL) *
*CLARAty Estimation Group (Lead: Ashitey Trebi-Ollennu - JPL) *
*CLARAty Decision Layer Group (Lead: Tara Estlin - JPL) *
*CLARAty Test/Release Group (Lead: Mehran Gangianpour - JPL) *
*CLARAty Science Working Group (Lead: Meemong Lee - JPL)*
*CLARAty Simulation Group (Lead: Gene Chalfant/Jain - JPL) *
*CLARAty Rocky 8 Group (Lead: Richard Petras - JPL) *
*K9 CLARAty Developers (Lead: Anne Wright - ARC)*
- _[http://claraty.jpl.nasa.gov/groups](http://claraty.jpl.nasa.gov/groups)_

- CLARAty - I.A.N.

## Publications & Website

**http://claraty.jpl.nasa.gov**
- I.A.D. Nesnas, R. Volpe, T. Estlin, H. Das, R. Petras D. Mutz, "Toward Developing Reusable Software Components for Robotic Applications" *Proceedings of the International Conference on Intelligent Robots and Systems (IROS),* Maui Hawaii, Oct. 29 - Nov. 3 2001. pdf (8 pages, 2MB)
- T. Estlin, R. Volpe, I.A.D. Nesnas, D. Mutz, F. Fisher, B. Engelhardt, S. Chien, "Decision-Making in a Robotic Architecture for Autonomy." *Proceedings of 6**th** International Symposium on Artificial Intelligence, Robotics, and Automation in Space (i-SAIRAS),* Montreal Canada, June 18-21 2001. pdf (8 pages, 72KB)
- R. Volpe, I.A.D. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das, "The CLARAty Architecture for Robotic Autonomy." *Proceedings of the 2001 IEEE Aerospace Conference, Big Sky Montana, March 10-17 2001.* pdf (12 pages, 470 KB)
- R. Volpe, I.A.D. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das, "CLARAty: Coupled Layer Architecture for Robotic Autonomy." *JPL Technical Report D-19975*, Dec 2000. pdf (116 pages, 904 KB)

- CLARAty - I.A.N.

## Thank you for your Attention