CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer...

32
CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion Laboratory, California Institute of Technology In Collaboration with Ames Research Center Carnegie Mellon University University of Minnesota JTARS Meeting May 11-12, 2005, Houston, Texas

Transcript of CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer...

Page 1: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems

Coupled Layer Architecture for Robotic Autonomy

Issa A.D. Nesnas

Jet Propulsion Laboratory, California Institute of Technology

In Collaboration with

Ames Research Center Carnegie Mellon University

University of Minnesota

JTARS Meeting May 11-12, 2005, Houston, Texas

Page 2: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

Motivation

Page 3: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 3

NASA/JPL Develops Various Rovers

Large

Medium

Small For research & flight

Page 4: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 4

Reconfigurable Robots

Would like to support …

Manipulators

COTS Systems

Custom Rovers

Page 5: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - 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: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

Challenges in Interoperability

Mechanisms and SensorsHardware Architecture

Page 7: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 7

Different Mobility Mechanisms

with different sensors

From wheeled Rocker-bogies with differentsteering

From three wheelers

To inflatablewheels

To wheels onarticulatedlinks

From wheeled to legged

To four, six and even eight

Page 8: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 8

For Example: Wheeled Locomotion

Rocky 7 Rocky 8

QuickTime™ and aNone decompressor

are needed to see this picture.

QuickTime™ and aVideo decompressor

are needed to see this picture.

QuickTime™ and aNone decompressor

are needed to see this picture.

Page 9: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 9

Reusable Wheeled Locomotion Algorithms

Frontx

yzC

(a)Skid Steering

(no steering wheels)

Frontx

y

zC

(c)Two –wheel steering

Front

xy z

C

(e)All wheel steering

(e.g. MER, Rocky8, Fido, K9)

(f)Steerable Axle (e.g.Hyperion)

xy

z

C

(b)Tricycle

(one steering wheel)

Front

xy

z

(d)Partially Steerable

(e.g. Sojourner,Rocky 7)

ATRV (a) Sojourner (d)

Rocky 8 (e)

Rocky 7 (d)

K9 (e)

FIDO (e)

General flat terrain algorithms and specialized full DOF algorithms

Page 10: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 10

Manipulators and Sensor SuitesCustom AnalogSun Sensor

3 Accelsz-axis gryo

6 DOF IMU

4 DOF Arm

4 DOF Mast

2 DOF Arm

3 DOF Mast

• Given different capabilities, how much reuse can be achieved?

Camera Sun Sensor

QuickTime™ and aNone decompressor

are needed to see this picture.

Page 11: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

Challenges in Interoperability

Mechanisms and SensorsHardware Architecture

Page 12: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 12

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 13: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 13

Semi-centralized Hardware Architecture

Compact PCIPPC 750 ArchFramegrabbersDigital I/OAnalog I/OWireless EthernetRocky 7

Actuator/Encoders

Potentiometers

Parallel Custom InterfaceMUX/Handshaking

Video Switcher

GyrosAccels

AIO

PID Controllers

Page 14: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 14

Semi-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 15: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

So what do we do?

Page 16: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 16

One Approach

Use the best attributes from each system and build a common platform

OR

Develop a model to deal with the variability

Unfortunately this is not always possible

Page 17: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 17

One Approach

Use abstractions

Interface at different levelsSeparate hierarchies

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

Adapt as necessary

Page 18: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 18

One Approach

• Develop– Common data structures– Physical & Functional Abstractions

• E.g. motor, camera, locomotor. Stereo processor, visual tracker

– Unified models for the mechanism

• Putting it together– Start with top level goals– Elaborate to fine sub-goals– Choose the appropriate level to stop elaboration– Interface with abstractions– Abstractions translate goals to action– Specialize abstractions to talk to hardware– Hardware controls the systems and provide feedback

Page 19: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

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 20: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 20

The Decision Layer

Executives

(e.g. TDL)

General Planners

(e.g. CASPER)Activity Database

Rover Models

FL Interface

Plans

Page 21: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

21ICRA2005 - I.A.N.April 18, 2005

The Functional Layer

Transforms

Motion Control

VisionEstimation

Input/Output

Manipulation

Navigation

Communication

Math

Hardware Drivers

Locomotion

Rover

Behaviors

Path Planning

Rocky 8

Rocky 7

K9

FIDO

Science

Simulation

Sensor

Adaptations

Page 22: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 22

Wheel Locomotor

-Vehicle_Interface & _interface-DPoint _goal-double _goal_heading-Vector<double> motor_pos-Vector<double> motor_delta_pos-Vector<double> motor_vel

+Wheel_Locomotor(Vehicle_Interface & vi)+~Wheel_Locomotor()+bool is_driving()+bool is_steering()+bool is_moving()+void move(Drive_Command &dc)+void move(Drive_Sequence &seq)+void move( double length, double heading = 0)+void move( const DPoint& a, const DPoint& b)+void move( const DPoint& a, const DPoint& b, const double heading)+void move_A_to_B(const DPoint& a, const DPoint& b)+void move_A_to_B(const DPoint& a, const DPoint& b, double heading)+void drive_continuous(const double linear_velocity, const double angular_velocity)+void drive_continuous(const double linear_velocity, const double direction, const double angular_velocity)+void position_drive()+void velocity_drive()+Drive_Sequence & generate_drive_sequence(const DPoint&a, const DPoint&b)+Drive_Sequence & generate_drive_sequence(const DPoint&a, const DPoint&b, const double heading)+void calibrate_motors()+void set_threshold_steer_angle(double threshold)+void wait_until_driving_done(double percent=100.0)+void wait_until_steering_done(double percent=100.0)+void wait_until_done(double percent=100.0)+void wait_until_drive_loop_done()

APIs and Behaviors

Standardizing Base Abstractions

Locomotor

change_position(Location& loc)change_velocity(double vel)set_position(Location& loc)set_velocity(double vel)get_position()get_velocity()_compute_angles()

CoordMotionSystem

_position: Vector_velocity: double_acceleration: double

Wheeled_Locomotor

Legged_Locomotor

Manipulator

Leg

*Wheel

Steerable Wheel

*

Abstractions

State Machines

motor.change_position(2PI)do other things

based on watchdogposition = motor.get_position()if (position > x) motor.stop()

Motor

Thread 1 (controls) Thread 2 (monitors)

Runtime Models

Page 23: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 23

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 24: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

Putting it All Together

Page 25: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 25

Navigation Example - Swapping Algorithms

Stereo Camera

Stereo Engine<<active>>

Navigator

Gestalt Navigator

Grid Mapper

Mapper

JPL Stereo

Terrain Sensor

Locomotor

R8_Locomotor

Global Cost Func

D* Path Planner

Stereo Processor

Camera R Camera L

Synchronous/orAsynchronouse.g. Rate Set at: 10Hzused by other activities

Asynchronous

<<active>>Asynchronouse.g. Rate Set at: 5 Hz

<<active>>

Asynchronouse.g. Rate Set at: 8 Hz

EKF Pose Estimator

Pose Estimator

Path Information

Path Planner

K9 Rover

Rover

Decision Layer Commanding and

State Updates

Page 26: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 26

Navigation Example - Swapping Algorithms

Stereo Camera

Stereo Engine<<active>>

Navigator

R7/Soj Navigator

Mapper

JPL Stereo

Terrain Sensor

Locomotor

ROAMS_Locomotor

Tangent Graph

Stereo Processor

Camera R Camera L

Synchronous/orAsynchronouse.g. Rate Set at: 10Hzused by other activities

Asynchronous

<<active>>Asynchronouse.g. Rate Set at: 5 Hz

<<active>>

Asynchronouse.g. Rate Set at: 8 Hz

EKF Pose Estimator

Pose Estimator

Path Information

Path Planner

K9 Rover

Rover

Decision Layer Commanding and

State Updates

Obstacle Mapper

Page 27: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 27

QuickTime™ and a decompressor

are needed to see this picture.

Navigation with Path Planning on Two Rovers

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 28: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 28

QuickTime™ and aVideo decompressor

are needed to see this picture.

Designated Target Tracking for Single-Cycle Instrument Placement

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 29: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 29

And with a Simulated Rover

QuickTime™ and aVideo decompressor

are needed to see this picture.

Page 30: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

April 18, 2005 ICRA2005 - I.A.N. 30

Acknowledgements

CLARAty Team (multi-center)

Jet Propulsion Laboratory• ROAMS/Darts Team• CLEaR Team• Instrument Simulation Team • Machine Vision Group• Robotic Systems Group

Ames Research Center• K9 Team

Carnegie Mellon University

University of Minnesota

Page 31: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

Thank you for your Attention

Page 32: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion.

Backup Slides