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
Motivation
April 18, 2005 ICRA I.A.N. 3 NASA/JPL Develops Various Rovers Large Medium Small For research & flight
April 18, 2005 ICRA I.A.N. 4 Reconfigurable Robots Would like to support … Manipulators COTS Systems Custom Rovers
April 18, 2005 ICRA 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
Challenges in Interoperability Mechanisms and Sensors Hardware Architecture
April 18, 2005 ICRA I.A.N. 7 Different Mobility Mechanisms with different sensors From wheeled Rocker- bogies with different steering From three wheelers To inflatable wheels To wheels on articulated links From wheeled to legged To four, six and even eight
April 18, 2005 ICRA I.A.N. 8 For Example: Wheeled Locomotion Rocky 7 Rocky 8
April 18, 2005 ICRA I.A.N. 9 Reusable Wheeled Locomotion Algorithms Front x y z C (a) Skid Steering (no steering wheels) Front x y z C (c) Two –wheel steering Front x y 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 x y 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
April 18, 2005 ICRA I.A.N. 10 Manipulators and Sensor Suites Custom Analog Sun Sensor 3 Accels z-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
Challenges in Interoperability Mechanisms and Sensors Hardware Architecture
April 18, 2005 ICRA I.A.N. 12 Centralized Hardware Architecture FIDO Actuator/Encoders Potentiometers PID Control in Software Video Switcher IMU RS232 Serial PC104+ x86 Arch Framegrabbers Digital I/O Analog I/O Wireless Ethernet
April 18, 2005 ICRA I.A.N. 13 Semi-centralized Hardware Architecture Compact PCI PPC 750 Arch Framegrabbers Digital I/O Analog I/O Wireless Ethernet Rocky 7 Actuator/Encoders Potentiometers Parallel Custom Interface MUX/Handshaking Video Switcher GyrosAccels AIO PID Controllers
April 18, 2005 ICRA I.A.N. 14 Semi-distributed Hardware Architecture Compact PCI - x86 Arch - Wireless E/net FireWire - I2C Bus Actuator/Encoders Potentio- meters I2C 1394 Bus IMU Sun Sensor Rocky Widgets Single-axis controllers Current sensing Digital I/O Analog I/O RS232 Distributed Motion Control and Vision Rocky 8
So what do we do?
April 18, 2005 ICRA 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
April 18, 2005 ICRA I.A.N. 17 One Approach Use abstractions Interface at different levels Separate hierarchies Input / Output (AI, AO, DIO) Motor Motor Group Wheeled Locomotor Rover Locomotor Example of Levels of Abstraction for locomotors FIDO HW Rocky 8 Firmware/HW ATRV SW/HW Pluto SW/HW Adapt as necessary
April 18, 2005 ICRA 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
THE DECISION LAYER: Declarative model-based Global planning CLARAty = Coupled Layer Architecture for Robotic Autonomy INTERFACE: Access to various levels Commanding and updates THE FUNCTIONAL LAYER: Object-oriented abstractions Autonomous behavior Basic system functionality A Two-Layered Architecture Adaptation to a system
April 18, 2005 ICRA I.A.N. 20 The Decision Layer Executives (e.g. TDL) General Planners (e.g. CASPER) Activity Database Rover Models FL Interface Plans
April 18, 2005 ICRA I.A.N. 21 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
April 18, 2005 ICRA I.A.N. 22 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 watchdog position = motor.get_position() if (position > x) motor.stop() Motor Thread 1 (controls) Thread 2 (monitors) Runtime Models
April 18, 2005 ICRA I.A.N. 23 Unify Mechanism Model Ground_Body Body 4 Body 5 Body Tree Body 0 Body 2 Body 3 Body 1 Mechanism Tree Body Reference Frame Sensor Mount Frame Arm mount Frame Center of mass Camera Mount Frame Body i B1B1 Joint i Bounding Shape Tree B2B2 B3B3 B3B3 B4B4 B5B5 C1C1 B1B1 B2B2 B3B3 B4B4 C1C1 B5B5 Coarse Shape Finer Shape Finest Shape Leaves of tree define finest shape Relative to body reference frame Bounding Shapes Resolution Levels Bodies and Joints Body 1 Reference Frame Body 1 CG Body 1 Upper arm link Rover Reference Frame Rover CG Camera Frame Body 0 Rover Joint 1 Body 2 Lower arm link Sensor Mount Frame Camera Mount Frame Body 2 CG Articulated Rotation Body 2 Reference Frame Fixed Transform Arm Mount Frame Shoulder Yaw Joint 2 Articulated Translation
Putting it All Together
April 18, 2005 ICRA I.A.N. 25 Navigation Example - Swapping Algorithms Stereo Camera Stereo Engine > 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/or Asynchronous e.g. Rate Set at: 10Hz used by other activities Asynchronous > Asynchronous e.g. Rate Set at: 5 Hz > Asynchronous e.g. Rate Set at: 8 Hz EKF Pose Estimator Pose Estimator Path Information Path Planner K9 Rover Rover Decision Layer Commanding and State Updates
April 18, 2005 ICRA I.A.N. 26 Navigation Example - Swapping Algorithms Stereo Camera Stereo Engine > Navigator R7/Soj Navigator Mapper JPL Stereo Terrain Sensor Locomotor ROAMS_Locomotor Tangent Graph Stereo Processor Camera R Camera L Synchronous/or Asynchronous e.g. Rate Set at: 10Hz used by other activities Asynchronous > Asynchronous e.g. Rate Set at: 5 Hz > Asynchronous e.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
April 18, 2005 ICRA I.A.N. 27 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
April 18, 2005 ICRA I.A.N. 28 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
April 18, 2005 ICRA I.A.N. 29 And with a Simulated Rover
April 18, 2005 ICRA 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
Thank you for your Attention
Backup Slides