claraty: towards standardized abstractions and interfaces for robotics systems coupled layer...
TRANSCRIPT
![Page 1: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/2.jpg)
Motivation
![Page 3: CLARAty: Towards Standardized Abstractions and Interfaces for Robotics Systems Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.site/reader030/viewer/2022032722/56649ce05503460f949a9a70/html5/thumbnails/32.jpg)
Backup Slides