# Presentation: 447259

## Component Technology Development & Unified Robotic Software Architecture

- Issa A.D. Nesnas, Ph.D.
- Jet Propulsion Laboratory
- May 14, 2002

## Presentation Overview

- Advanced Component Technology Development
- Vision-based Manipulation from rover platforms
- Sensor-based Navigation
- Background and Brief Overview of CLARAty
- Future Plans
- Publications and website

- CLARAty - I.A.N.

## Manipulation & Instrument Placement

## Developments

*Several groups demonstrated rover manipulation*
- Analysis tools for manipulation
- Sample acquisition (autonomous onboard software – Rocky 7)
- From  **1 – 2** meters away
- Single and multiple rocks
- Uses visual target tracking
- Instrument placement (autonomous onboard software – Rocky 7)
- From  **5 **meters away

- CLARAty - I.A.N.

## Robot Computer Aided Analysis and Design (RCAAD)

- Dexterity
- Trajectory planning
- Force/torques
- Stiffness
- Stability
- Accuracy & repeatability
- Arm Models
- geometric constraints
- gravitational fields

- CLARAty - I.A.N.

## Sample Acquisition

- From **1 - 2** meters away
- Visually track targets along the way
- Acquire multiple samples

- Elevation Map

- Select Target

- Filter and Rectify Images

- Range Map

- CLARAty - I.A.N.

## Instrument Placement for Rocky 7

- From **5** meters away
- Visually track target along the way
- Place instrument along surface normal

- CLARAty - I.A.N.

## Collaboration with Ames - Visual Tracking

- Advance visual tracking technologies for rovers
- Combine feature-based (2D) and stereo-based (3D) tracking techniques

- Ames Tracker

- JPL Tracker

- CLARAty - I.A.N.

## Rover Navigation

## Various Navigation Technologies 

- Several Navigation and Path Planning approaches
- Morphin – CMU
- GESTALT – JPL
- RoverBug – Caltech/JPL
- Pilot - Ames
- Behavior-based/FL – JPL
- ROAMAN  - JPL
- D* Path Planner – CMU
- ISE Planner – CMU

- GESTALT

- CLARAty - I.A.N.

## CLARAty – Resuable Robotic Software

- _[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/)_

- _[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)_

## What is CLARAty?

- CLARAty is a unified and *reusable* framework that provides base functionality and aims  at facilitating the integration of new technologies on various rovers and robotic platforms

- CLARAty - I.A.N.

## Collabortive Effort – JPL / ARC / CMU

- 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

- Collabortive Effort – **JPL** / **ARC** / **CMU**

- Other

- Mac OS X

- 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.

**A Two-Layered Architecture**

- 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.

## The Decision Layer

- Activity Database

- Planners

- Executives

- Rover Models

- FL Interface

- CLARAty - I.A.N.

## The Functional Layer

- Transforms

- Motion Control

- Vision

- Estimation

- Input/Output

- Manipulation

- Navigation

- Communication

- Math

- Hardware Drivers

- Locomotion

- Rover

- Behaviors

- Path Planning

- Rocky 8

- Rocky 7

- K9

- FIDO

- Science

- Simulation

- Sensor

- Adaptations

- CLARAty - I.A.N.

## Rover Level – Multiple Rovers

*Rover_Impl*

- Rover

- Sim_Rover

- R7_Rover

- R8_Rover

- R8_Mast

- R8_Power

- Gestalt_Nav

- D* Planner

- Static or Object Owned

- R8_Arm

- R8_Locomotor

- Mast

- Arm

- Power System

- Camera x N

- Path Planner

- Mapper

- Navigator

- Locomotor

- R8_Camera

*Optional*

- Pose Estimator

- Connector

- CLARAty - I.A.N.

## Plugging Component Technologies

- Stereo Camera

- Stereo Engine

- <<active>>

***Navigator***

- Gestalt Navigator

- Grid Mapper

***Mapper***

- JPL Stereo

***Terrain Sensor***

- Locomotor

- R8_Locomotor

- Path Planner

- ISE Path Planner

- Stereo Processor

- Camera R

- Camera L

- Synchronous/or
- Asynchronous
- e.g. Rate Set at: 10Hz
- used by other activities

- Asynchronous

- <<active>>

- Asynchronous
- e.g. Rate Set at: 5 Hz

- <<active>>

- Asynchronous
- e.g. Rate Set at: 8 Hz

- Your technologies go here

- Ames Stereo

- CLARAty - I.A.N.

## Future Plans & Collaborations

- Continue work with Ames on
- CLARAty Development
- Visual Tracking
- Instrument placement technology components – new proposals
- Continue supporting various rover platforms
- Continue supporting a shared testbed for JPL/ARC/CMU
- Provide navigation infra-structure to compare  different navigation/manipulation technologies
- Start integrating various navigation technologies and make accessible in CLARAty repository (IP)
- Get ITAR clearance
- Pursue open-source CLARAty

- 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.

## Multiple Target Tracking

- Body Camera View

- CLARAty - I.A.N.

## Backup Slides

## Generic Algorithms

**Wheeled Locomotor Hierarchy – works for Rocky 8, Rocky 7, Fido, K9, and much more**

- 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 Resuability

**Wheeled Locomotor Hierarchy – worked for Rocky 8, Rocky 7, Fido, K9, and much more**

- CLARAty - I.A.N.