+ All Categories
Home > Documents > Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems...

Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems...

Date post: 14-Jan-2016
Category:
Upload: damon-owen
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
37
Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 http: //claraty .jpl. nasa .gov Briefing to the Office of the Chief Technologist Sponsors: Mars Technology Program Intelligent Systems Program Theme: The Long Road to Technology Infusion
Transcript
Page 1: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Unified Robotic Software Development using CLARAty

Issa A.D. NesnasMobility and Robotic Systems Section

Autonomous Systems DivisionJuly 20, 2005

http://claraty.jpl.nasa.gov

Briefing to the Office of the Chief TechnologistSponsors: Mars Technology Program

Intelligent Systems Program

Theme: The Long Road to Technology Infusion

Page 2: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 2

Presentation Overview

• Historical Antecedents

• Problem and Objectives

• What is CLARAty?

• Interoperability Success Stories– Navigation

– Single-cycle Instrument Placement

• Challenges of Software Interoperability

• Challenges in Technology Infusion

• Architecture Overview

• Challenges Ahead

Page 3: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 3

Some JPL Robots

Page 4: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 4

Historical Antecedents

• Late 80’s - Early 90’s: parallel robotic developments– RSI, MOTES, Satellite Servicing, Robby, Mircorover– No shared hardware or software

• Mid 90’s: Mars rover research centralized with Rocky 7– First flight rover

• Late 90’s: Expansion and diversification of rover work– No software interoperability (Rocky 7, FIDO, Athena, DARPA)– Autonomy demonstration of Remote Agent Experiment (ARC and JPL)– MDS investigates reusable software for spacecraft control.

• ‘99-Early 00: Exploration Technology Program develops concept for a unifying autonomy architecture– Unifying autonomy and robotic control– Started the CLARAty task

• Today:– Unification of several robotic developments at JPL, ARC, and CMU– Two flight rovers with several new robotic capabilities

Page 5: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 5

Problem and Approach

• Problem:– Difficult to share software/algorithms across systems

– Different hardware/software infrastructure

– No standard protocols and APIs

– No flexible code base of robotic capabilities

• Objectives– Unify robotic infrastructure and framework

– Capture and integrate legacy algorithms

– Simplify integration of new technology

– Operate heterogeneous robots

Page 6: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 6

What is CLARAty?

CLARAty is a unified and reusable software that provides robotic functionality and simplifies the integration of new technologies on robotic platforms

A tool for technology development

and maturation

Page 7: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 7

StereovisionJPL_STEREO

Interoperability: Software & Hardware

VxWorksLinux

QNX

CLARAty Reusable Software

Robot Adaptation

Pose EstimationMER_SAPPObstacle Avoidance

MORPHIN

Obstacle Avoidance

MORPHIN

Obstacle Avoidance

MORPHINGESTALT

Drivemaps StereovisionJPL_STEREOStereovision

JPL_STEREOPose EstimationMER_SAPP

Pose EstimationMER_SAPP

Pose EstimationMER_SAPP

SRI StereoARC Stereo Sojouner Pose

FIDO 3DEKF6D EKF

CAPABILITY: Navigation

Page 8: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Interoperability Success Stories

NavigationSingle-cycle Instrument Placement

Page 9: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 9

Capturing Flight Algorithms: MER GESTALT on FIDO

QuickTime™ and a decompressor

are needed to see this picture.

Page 10: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 10

QuickTime™ and a decompressor

are needed to see this picture.

Navigation Interoperability on FIDO and Rocky 8

Complex Algorithms on different Platforms

• I/O, motion control

• Trajectory Generation

• Rough Terrain Locomotion

• Odometry Pose Estimation

• Stereo Processing

• Visual Odometry

• Navigation (Morphin)– Obstacle avoidance

– Path Planning

Page 11: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Interoperability Success Stories

NavigationSingle-cycle Instrument Placement

Page 12: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 12

Single-cycle Instrument Placement

Changes in FOV

(a)

Target

(b)

Designated Target

Target Tracking

time = t2(avoiding an obstacle)

time = t1

1st Frame 37th Frame after 10 m

Page 13: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 13

QuickTime™ and aVideo decompressor

are needed to see this picture.

FALCON Visual Target Tracker on Rocky 8

Integration of Complex Algorithms

• I/O, motion control

• Trajectory Generation

• Rough Terrain Locomotion

• Odometry Pose Estimation

• Stereo Processing

• Visual Odometry

• Obstacle avoidance

• Mast Control

• Visual Tracking

Page 14: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 14

Integrated Single-Cycle Instrument Placement

QuickTime™ and a decompressor

are needed to see this picture.

Page 15: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 15

CLARAty Framework for Single-cycle Instrument Placement

2D/3D Visual Tracking

R8 Mast Pointing

Morphin Navigator

KIMHand-off

MSL Base Placement

HIP

S

Visual Odometry

MaestroGroundSystem

Visual Tracker

Visual Odometry

SIFTTracker

Gaze Pointing

K9 Mast Pointing

Locomotor

R8 Locomotor

Wheel Odometry

Pose Estimator

GESTALT

Drivemaps

FIDO EKF

6DOF EKF

Visual Odometry

Camera Hand-off

Mesh Registration

Bundle Adjustment

Base Placement

Haz Camera Tracking

2D/3D Visual Tracking

SIFTTracker

Obstacle Avoider

Possible Alternatives

Vis

ion

-gu

ide

d M

an

ipOn -board RoverSoftwareInfrastructure

Page 16: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Challenges in Interoperability

Mechanisms and Sensors

Hardware ArchitectureSoftware Algorithms

Page 17: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 17

Different Mobility Mechanisms

Front

xy

z

C

(a)Skid Steering

(no steering wheels)

Frontx

y zC

(d)Partially Steerable

(e.g. MER, Sojourner,Rocky 7)

Front

x

y zC

(e)All wheel steering

(e.g. Rocky8, FIDO, K9)

Front

x

yz

C

(b)Two –wheel steering

Page 18: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 18

Different Sensors and AppendagesCustom AnalogSun Sensor

3 Accelsz-axis gryo

6 DOF IMU

4 DOF Arm

4 DOF Mast

2 DOF Arm

3 DOF Mast

Camera Sun Sensor

QuickTime™ and aNone decompressor

are needed to see this picture.

Page 19: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Challenges in Interoperability

Mechanisms and Sensors

Hardware ArchitectureSoftware Algorithms

Page 20: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 20

Centralized Hardware Architecture

FIDO

Actuator/Encoders

Potentiometers

PID Control in Software

Video Switcher

IMU

RS232 Serial

PC104+x86 ArchFramegrabbersDigital I/OAnalog I/OWireless Ethernet

Page 21: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 21

Distributed Hardware Architecture

Compact PCI- x86 Arch- Wireless E/net- 1394 FireWire- I2C Bus

Actuator/Encoders

Potentio-meters

I2C

1394 Bus

IMU

Sun Sensor

Rocky WidgetsSingle-axis controllersCurrent sensingDigital I/OAnalog I/O

RS232

Distributed MotionControl and Vision

Rocky 8

Page 22: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Challenges in Interoperability

Mechanisms and Sensors

Hardware ArchitectureSoftware Algorithms

Page 23: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 23

Software Challenges for Algorithm Infusion

The new algorithms to be integrated may:• Have architectural mismatches with the framework• Include multiple orthogonal functionalities• Make implicit assumptions about the platform• Duplicate functionality in the framework• Use incompatible data structures• Are complex and hard to tune • Require highly specialized domain expertise• Are poorly implemented

Page 24: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Architecture and Process

Page 25: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

THE DECISION LAYER: Declarative model-based Global planning

CLARAty = Coupled Layer Architecture for Robotic Autonomy

INTERFACE:

Access to various levelsCommanding and updates

THE FUNCTIONAL LAYER: Object-oriented abstractionsAutonomous behaviorBasic system functionality

A Two-Layered Architecture

Adaptation to a system

Page 26: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 26

Multi-level Abstraction Model

Use abstractionsInterface at different levels

Input / Output (AI, AO, DIO)

Motor

Motor Group

Wheeled Locomotor

Rover

Locomotor

Example of Levels of Abstraction

for locomotors

FIDO HW

Rocky 8Firmware/HW

ATRV SW/HW

Pluto SW/HW

Page 27: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 27

Technology Tasks

Collaborations & Interactions

CLARAty

Jet Propulsion Lab

CMU

NASA ARC

U. Minnesota

R&TD, MDS, DRDF

Competed Mars TechnologyProgram

Other NASA Programs

Rover SimulationROAMS

Rover Hardware

JPL Internal Programs

Flight FocusedTechnology Programs

Science InstrumentsSimulation

Operator Interface

Legacy AlgorithmsFlight Algorithms

NASA Centers and

UniversitiesTechnology Tasks

NASA Centers and

UniversitiesTechnology Tasks

NASA Centers and

UniversitiesTechnology Tasks

NASA Centers and

UniversitiesTechnology Tasks

TechnologyValidation Tasks

TechnologyValidation Tasks

Technology Tasks

Technology Tasks

Page 28: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 28

CLARAty Test Bed for Regression Testing

ATRV Jr.

FIDO2 Stack

Dexter ManipulatorBench topRocky 8 PPC Bench top

Page 29: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 29

Challenges Ahead

• Mature framework and robotic capabilities

• Investigate relevance to flight and define migration path

• Develop regression tests for long-term maintainability of robotic capabilities - very hard and open research topic

• Maintain current capabilities on existing platforms

• Develop new capabilities (e.g. continuous motion)

• Integrate new technologies from competed programs

• Develop a releasable version

• Develop formal documentation and tutorials

• Identify and deploy on low-cost rover platform

• Open source

Page 30: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 30

Summary

• Developed a unified and reusable software framework• Deployed at multiple institutions• Deployed on multiple heterogeneous robots• Integrated multiple technologies from different institutions• Delivered algorithms for formal validation• Enabled new technology developments on multiple

platforms• Integrated flight algorithms for detailed performance

characterization and operation on research rovers.• Taking a technology from inception, to development in

CLARAty, to validation, and now to integration into flight

Page 31: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 31

Current CLARAty Core Team

• NASA Ames Research Center– Clay Kunz– Eric Park– Susan Lee

• Carnegie Mellon University– David Apelfaum

– Nick Melchior

– Reid Simmons

• University of Minnesota– Stergios Roumeliotis

• Jet Propulsion Laboratory– Antonio Diaz Calderon– Tara Estlin– John Guineau– Won Soo Kim – Richard Madison– Michael McHenry– Mihail Pivtoraiko– Issa A.D. Nesnas– Babak Sapir– I-hsiang Shu

• OphirTech– Hari Das Nayar

Full Credits for all Developers and Contributors at:http://keuka.jpl.nasa.gov/main/project/team/index.shtml

Page 32: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

Questions?

Page 33: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 33

Rocky 7

Distributed Software Development

AFS Backbone

CMU JPL

CLARAty

3rd PartyWeb

UW...

VxWorks

ARC

FIDO

K9

Authentication

U. Minnesota

Rocky 8

0

10

20

30

40

50

60

70

FY00 FY01 FY02 FY03 FY04

Users/Collaborators

ExtendedTeam

JPL Team

Number of employees and not FTEs

Page 34: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 34

Unify Mechanism Model

Ground_Body

Body4 Body5

Body Tree

Body0

Body2 Body3Body1

Mechanism Tree

Body Reference Frame

SensorMountFrame

Arm mountFrame

Center ofmass

Camera Mount Frame

Bodyi

B1

Jointi

Bounding Shape Tree

B2 B3 B3B4

B5

C1

B1

B2 B3

B4 C1 B5

Coarse Shape Finer Shape Finest Shape

Leaves of tree define finest shape

Relative to body reference frame

Bounding Shapes Resolution Levels

Bodies and Joints

Body1

Reference Frame

Body1CG

Body1

Upper arm link

RoverReference Frame

RoverCG

CameraFrame

Body0

Rover

Joint1

Body2

Lower arm link

Sensor Mount Frame

CameraMountFrame

Body2CG

Articulated Rotation

Body2 Reference Frame

Fixed Transform

Arm MountFrame

Shoulder Yaw

Joint2

Articulated Translation

Page 35: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 35

Some CLARAty Statistics

• ~320 modules in repository (increase of 6% from FY03) – goal is to limit modules• ~60 modules are researched technology algorithms (~20%)• About 500,000 lines of C++ code – revise and reduce• Five adaptations: Rocky 8, FIDO, Rocky 7, ATRV, K9• Most technology modules are at Level III• None are at Level IV or Level V (formally reviewed, documented, and open source)

0

5

10

15

20

25

30

35

Number of Technology

Modules

Level I Level II Level III Level IV Level V

Technology Modules Only

CLARAty Integration Levels•Level I – Deposited•Level II – Encapsulated•Level III – Refactored•Level IV – Formally reviewed•Level V – Open source and fully documented

Page 36: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 36

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

Page 37: Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005 .

July 20, 2005 Briefing to the Chief Technologist - I.A.N. 37

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


Recommended