91c86ef7f821ebd9aa6633fff4a25287.ppt
- Количество слайдов: 81
CLARAty: Improving Software Reliability for Robotic Space Applications Coupled Layer Architecture for Robotic Autonomy Issa A. D. Nesnas Group Supervisor, Robotic Software Systems Mobility and Robotics Section Jet Propulsion Laboratory, California Institute of Technology In Collaboration with Ames Research Center Carnegie Mellon University of Minnesota February 16 -17, 2006 IFIP 10. 4 Working Group on Dependable and Fault Tolerant Computing Dependability Workshop - I. A. N. 49 th Meeting of the Tucson, AZ, USA, February 15 -19, 2006
Presentation Overview • Historical Antecedents • Application Domains • Techniques used to Improve Reliability – – Rigorous Process Software Reuse Formal Validation Continuous Automated Testing • Challenges for Software Reuse and Interoperability • Challenges in Technology Infusion February 16 -17, 2006 Dependability Workshop - I. A. N. 2
Some JPL Robots / Rovers February 16 -17, 2006 Dependability Workshop - I. A. N. 3
More Robots February 16 -17, 2006 Dependability Workshop - 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 February 16 -17, 2006 Dependability Workshop - I. A. N. 5
Application Domains § Navigation § Target Tracking § Single-cycle Instrument Placement February 16 -17, 2006 Dependability Workshop - I. A. N.
Navigation with Different Rovers Complex Algorithms on different Platforms • I/O, motion control • Trajectory Generation • Rough Terrain Locomotion • Odometry Pose Estimation • Stereo Processing • Visual Odometry • Navigation (Morphin) – – February 16 -17, 2006 Obstacle avoidance Path Planning Dependability Workshop - I. A. N. 7
Navigation with Dynamic Simulator February 16 -17, 2006 Dependability Workshop - I. A. N. 8
Application Domains § Navigation § Target Tracking § Single-cycle Instrument Placement February 16 -17, 2006 Dependability Workshop - I. A. N.
Visual Target Tracking Target Designated Target time = t 2 (avoiding an obstacle) time = t 1 (a) 1 st Frame February 16 -17, 2006 (b) Changes in FOV Dependability Workshop - I. A. N. 37 th Frame after 10 m 10
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 February 16 -17, 2006 Dependability Workshop - I. A. N. 11
Application Domains § Navigation § Target Tracking § Single-cycle Instrument Placement February 16 -17, 2006 Dependability Workshop - I. A. N.
Integrated Single-Cycle Instrument Placement February 16 -17, 2006 Dependability Workshop - I. A. N. 13
Techniques We Use • Some of the techniques that we have explored to improving software reliability are: – – – Improved processes and procedures for software development Static code analysis and validation tools Increased software reliability through reuse Formal technology validation Nightly regression testing Fault-tolerant software and redundant computing February 16 -17, 2006 Dependability Workshop - I. A. N. 14
Process February 16 -17, 2006 Dependability Workshop - I. A. N.
Technology Development, Integration and Validation JPL Internal Programs R&TD, MDS, DRDF Legacy Algorithms Flight Algorithms Competed Mars Technology Program Other NASA Programs Technology Tasks Flight Focused Technology Programs CLARAty NASA Centers and NASA Centers Universities and Universities Technology and Tasks Universities Technology Tasks Technology Validation Tasks Jet Propulsion Lab Validation Tasks NASA ARC CMU U. Minnesota Operator Interface Rover Simulation ROAMS February 16 -17, 2006 Rover Hardware Science Instruments Simulation Dependability Workshop - I. A. N. 16
Technology Component Flow February 16 -17, 2006 Dependability Workshop - I. A. N. 17
Flight Software Processes and Tools • List coding conventions, rules, and guidelines. • Use only mission-proven or thoroughly tested technologies • Hold formal design reviews – Review designs before and after implementation – Review interfaces, implementations, test plans, commands, and telemetry for each software component • Use code buddy reviews – Have someone other than the developer statically review the code and look for potential problems or violations of the coding conventions. – Use automated tools for source code analysis to highlight suspicious code segments. For example, MER used Code Wizard and Cleanscape on early versions of the flight software and Coverity on most recent versions. – Review by internal and external teams. Use validation and verification group expertise. February 16 -17, 2006 Dependability Workshop - I. A. N. 18
Rigorous Flight Software Testing • Unit Testing: – Extensive testing of each module in isolation by the developer • Regression Testing: – Integrated module testing by a dedicated test team after new modules are integrated. • System Testing: – Project wide rehearsals of expected mission scenarios – Can last several days where several different activities would be tested in the manner they would be used in the mission. – All communication is done during communication passes. February 16 -17, 2006 Dependability Workshop - I. A. N. 19
Flight Software Architecture and Implementation • Assignment of one "owner" developer software module • Object-oriented style design, with emphasis placed on interfaces, encapsulation, and modularity • Objects implemented as hierarchical state machines • Asynchronous message passing as the principle means of communication between objects • Severe limitations on use of dynamic memory allocation to avoid heap fragmentation • Extensive use of diagnostics embedded throughout the software, including many design-by-contract assertions • Reference: – Glenn E. Reeves & Joseph F. Snyder "A Overview of the Mars Exploration Rovers' Flight Software" 2005 IEEE International Conference on Systems, Man and Cybernetics Waikoloa, Hawaii, October 10 -12, 2005 February 16 -17, 2006 Dependability Workshop - I. A. N. 20
Historical Antecedents and Motivation February 16 -17, 2006 Dependability Workshop - I. A. N.
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 February 16 -17, 2006 Dependability Workshop - I. A. N. 22
Interoperability: Software & Hardware CAPABILITY: Navigation Drivemaps GESTALT SRI Stereo ARC Stereovision JPL_STEREO ce dan ce voioidannce l A Av o da a ae e PA INi ststc clcle Hv INN b OOb MOORPPHI a. R H bst. M OR O M P P Pooos E Posssee. Essitim e e E ME s m MER sititmataiti n MER Rt_mataitooon S MER __SA PPn SA A i. P P _SA PPon PP Sojouner Pose FIDO 3 DEKF 6 D EKF CLARAty Reusable Software Robot Adaptation Vx. W orks February 16 -17, 2006 QNX Linux Dependability Workshop - I. A. N. 23
Challenges in Reuse § Mechanisms and Sensors § Hardware Architecture § Software Algorithms February 16 -17, 2006 Dependability Workshop - I. A. N.
Different Mobility Mechanisms x y Front y. C Front x x Front x z C Front y. C z z (a) Skid Steering (no steering wheels) (b) Two –wheel steering February 16 -17, 2006 (d) Partially Steerable (e. g. MER, Sojourner, Rocky 7) Dependability Workshop - I. A. N. (e) All wheel steering (e. g. Rocky 8, FIDO, K 9) 25
Different Sensors and Appendages Custom Analog Sun Sensor 3 Accels z-axis gryo 3 DOF Mast 2 DOF Arm Camera Sun Sensor 4 DOF Mast 6 DOF IMU 4 DOF Arm February 16 -17, 2006 Dependability Workshop - I. A. N. 26
Challenges in Reuse § Mechanisms and Sensors § Hardware Architecture § Software Algorithms February 16 -17, 2006 Dependability Workshop - I. A. N.
Centralized Hardware Architecture Video Switcher PC 104+ FIDO PID Control in Software x 86 Arch Framegrabbers Digital I/O Analog I/O Wireless Ethernet RS 232 Serial IMU Potentiometers Actuator/Encoders February 16 -17, 2006 Dependability Workshop - I. A. N. 28
Distributed Hardware Architecture Sun Sensor 1394 Bus Compact PCI - x 86 Arch - Wireless E/net - 1394 Fire. Wire - I 2 C Bus RS 232 IMU Rocky 8 I 2 C Rocky Widgets Single-axis controllers Current sensing Digital I/O Analog I/O Potentiometers Actuator/Encoders February 16 -17, 2006 Dependability Workshop - I. A. N. Distributed Motion Control and Vision 29
Challenges in Interoperability § Mechanisms and Sensors § Hardware Architecture § Software Algorithms February 16 -17, 2006 Dependability Workshop - I. A. N.
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 February 16 -17, 2006 Dependability Workshop - I. A. N. 31
Architecture and Process February 16 -17, 2006 Dependability Workshop - I. A. N.
A Two-Layered Architecture CLARAty = Coupled Layer Architecture for Robotic Autonomy THE DECISION LAYER: Declarative model-based Global planning INTERFACE: Access to various levels Commanding and updates THE FUNCTIONAL LAYER: Object-oriented abstractions Autonomous behavior Basic system functionality Adaptation to a system February 16 -17, 2006 Dependability Workshop - I. A. N. 33
Adapting to a Rover Decision Layer Rocky 8 Models/ Heuristics Connector Multi-level access Connector Rocky 8 Generic Functional Layer Simulation February 16 -17, 2006 Specialized Classes & Objects Hardware Drivers Dependability Workshop - I. A. N. 34
The Decision Layer General Planners (e. g. CASPER) Activity Database Plans Executives (e. g. TDL) Rover Models FL Interface February 16 -17, 2006 Dependability Workshop - I. A. N. 35
The Functional Layer Adaptations Rover Navigation Behaviors Simulation Rocky 8 Path Planning Manipulation Locomotion FIDO Estimation Vision Science K 9 Transforms Math Sensor Motion Control Communication Input/Output February 16 -17, 2006 Rocky 7 Hardware Drivers Dependability Workshop - I. A. N. 36
Multi-level Abstraction Model Use abstractions Interface at different levels Example of Levels of Abstraction for locomotors Rover ATRV SW/HW Locomotor Wheeled Locomotor Pluto SW/HW Rocky 8 Firmware/HW FIDO HW February 16 -17, 2006 Motor Group Motor Input / Output (AI, AO, DIO) Dependability Workshop - I. A. N. 37
Functional Layer Components Rover Instrument Coord. Motors IO Digital_IO Locomotor Analog_IO Legged. Loc Visual. Tracker Visual. Navigator RBLoc Stereo. Gen Manipulator Wheeled. Loc Arm Mast Connector Motor Socket Camera Correlator Specialized Data Structures Color. Image Location Camera Image General Purpose Data Structures String Container February 16 -17, 2006 Controlled. Motor Feature. Detector Pixel Array_2 D Matrix Location Socket. Msg State Path HTrans Waypoint Vector BBMotor Database Point Dependability Workshop - I. A. N. Behavior Resource Bit Linked. List Standard Template Library 38
Standardizing Base Abstractions APIs and Behaviors Abstractions Coord. Motion. System _position: Vector _velocity: double _acceleration: double State Machines change_position(Location& loc) change_velocity(double vel) set_position(Location& loc) set_velocity(double vel) get_position() get_velocity() _compute_angles() Locomotor Manipulator Leg Wheeled_Locomotor * Wheel * Legged_Locomotor Steerable Wheel Runtime Models Motor Thread 1 (controls) motor. change_position(2 PI) do other things February 16 -17, 2006 Thread 2 (monitors) based on watchdog position = motor. get_position() if (position > x) motor. stop() Dependability Workshop - I. A. N. 39
Unify Mechanism Model Bodies and Joints Body Tree Relative to body reference frame Body Ground_Body 0 Rover Reference Frame Fixed Transform Body 0 Body 1 Body 2 Arm Mount Frame Camera Frame Upper arm link Joint 1 Body 5 Leaves of tree define B 2 finest shape Body 1 Body 3 Shoulder Yaw Body 4 Bounding Shape Tree Body Articulated Rotation Rover CG Body 1 Reference Frame Bodyi Camera Mount Frame 2 B 1 Lower arm link B 3 B 4 C 1 Body Reference Frame Jointi Camera Mount Frame Body 2 CG Center of mass Joint 2 Body 2 Reference Frame Articulated Translation Bounding Shapes Resolution Levels B 1 Coarse Shape Dependability Workshop - I. A. N. Sensor Mount Frame B 5 Sensor Mount Frame Mechanism Tree February 16 -17, 2006 Arm mount Frame B 5 C 1 B 2 B 3 Finer Shape B 4 B 3 Finest Shape 40
Unit and Regression Testing February 16 -17, 2006 Dependability Workshop - I. A. N.
CLARAty Test Bed for Regression Testing FIDO 2 Stack ATRV Jr. Rocky 8 PPC Bench top February 16 -17, 2006 Dependability Workshop - I. A. N. Dexter Manipulator Bench top 42
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 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 February 16 -17, 2006 Dependability Workshop - I. A. N. 43
Current CLARAty Core Team • NASA Ames Research Center • – – – Clay Kunz – Eric Park – Susan Lee • Carnegie Mellon University – David Apelfaum – Nick Melchior – Reid Simmons • Jet Propulsion Laboratory Antonio Diaz Calderon Tara Estlin John Guineau Won Soo Kim Richard Madison Michael Mc. Henry Mihail Pivtoraiko Issa A. D. Nesnas Babak Sapir I-hsiang Shu University of Minnesota – Stergios Roumeliotis • Ophir. Tech – Hari Das Nayar Full Credits for all Developers and Contributors at: http: //keuka. jpl. nasa. gov/main/project/team/index. shtml February 16 -17, 2006 Dependability Workshop - I. A. N. 44
Thank you February 16 -17, 2006 Dependability Workshop - I. A. N.
Back-up Slides February 16 -17, 2006 Dependability Workshop - I. A. N.
NASA/JPL Develops Various Rovers Large Medium For research & flight Small February 16 -17, 2006 Dependability Workshop - I. A. N. 47
Would like to support … Custom Rovers Manipulators Reconfigurable Robots COTS Systems February 16 -17, 2006 Dependability Workshop - I. A. N. 48
Different Mobility Mechanisms with different sensors From wheeled Rockerbogies with different steering To wheels on articulated links To inflatable wheels From three wheelers To four, six and even eight From wheeled to legged February 16 -17, 2006 Dependability Workshop - I. A. N. 49
For Example: Wheeled Locomotion Rocky 7 February 16 -17, 2006 Rocky 8 Dependability Workshop - I. A. N. 50
Reusable Wheeled Locomotion Algorithms General flat terrain algorithms and specialized full DOF algorithms ATRV (a) Sojourner (d) Front x y C z (a) Skid Steering (no steering wheels) y C x z (b) Tricycle (one steering wheel) Front x y C z (c) Two –wheel steering x y Rocky 7 (d) FIDO (e) Front y x z (d) Partially Steerable (e. g. Sojourner, Rocky 7) Rocky 8 (e) February 16 -17, 2006 z C Front (e) All wheel steering (e. g. MER, Rocky 8, Fido, K 9) (f) Steerable Axle (e. g. Hyperion) K 9 (e) Dependability Workshop - I. A. N. 51
Manipulators and Sensor Suites Custom Analog Sun Sensor 3 Accels z-axis gryo 3 DOF Mast 2 DOF Arm Camera Sun Sensor 4 DOF Mast 6 DOF IMU • Given different capabilities, how much reuse can be achieved? 4 DOF Arm February 16 -17, 2006 Dependability Workshop - I. A. N. 52
Semi-centralized Hardware Architecture Accels Gyros Video Switcher Compact PCI PPC 750 Arch Framegrabbers Digital I/O Analog I/O Wireless Ethernet Rocky 7 AIO Parallel Custom Interface MUX/Handshaking PID Controllers Potentiometers Actuator/Encoders February 16 -17, 2006 Dependability Workshop - I. A. N. 53
One Approach Use the best attributes from each system and build a common platform Unfortunately this is not always possible OR Develop a model to deal with the variability February 16 -17, 2006 Dependability Workshop - I. A. N. 54
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 February 16 -17, 2006 Dependability Workshop - I. A. N. 55
Putting it All Together February 16 -17, 2006 Dependability Workshop - I. A. N.
Navigation Example - Swapping Algorithms Decision Layer Commanding and State Updates Rover Path Information K 9 Rover Navigator <<active>> Asynchronous e. g. Rate Set at: 5 Hz Gestalt Navigator Global Cost Func Path Planner D* Path Planner Mapper Asynchronous e. g. Rate Set at: 8 Hz Locomotor Grid Mapper <<active>> R 8_Locomotor Asynchronous <<active>> Terrain Sensor Pose Estimator Stereo Engine Stereo Processor Synchronous/or Asynchronous e. g. Rate Set at: 10 Hz used by other activities JPL Stereo Camera R February 16 -17, 2006 EKF Pose Estimator Camera L Dependability Workshop - I. A. N. 57
Navigation Example - Swapping Algorithms Decision Layer Commanding and State Updates Rover Path Information K 9 Rover Navigator <<active>> Asynchronous e. g. Rate Set at: 5 Hz R 7/Soj Navigator Path Planner Tangent Graph Mapper Asynchronous e. g. Rate Set at: 8 Hz Locomotor Obstacle Mapper <<active>> ROAMS_Locomotor Asynchronous <<active>> Terrain Sensor Pose Estimator Stereo Engine Stereo Processor Synchronous/or Asynchronous e. g. Rate Set at: 10 Hz used by other activities JPL Stereo Camera R February 16 -17, 2006 EKF Pose Estimator Camera L Dependability Workshop - I. A. N. 58
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) – – February 16 -17, 2006 Obstacle avoidance Path Planning Dependability Workshop - I. A. N. 59
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 February 16 -17, 2006 Dependability Workshop - I. A. N. 60
And with a Simulated Rover February 16 -17, 2006 Dependability Workshop - I. A. N. 61
Acknowledgements CLARAty Team (multi-center) Jet Propulsion Laboratory • ROAMS/Darts Team • CLEa. R Team • Instrument Simulation Team • Machine Vision Group • Robotic Systems Group Ames Research Center • K 9 Team Carnegie Mellon University of Minnesota February 16 -17, 2006 Dependability Workshop - I. A. N. 62
Thank you for your Attention February 16 -17, 2006 Dependability Workshop - I. A. N.
Connecting Bodies and Joints Body 0 Rover Reference Frame Fixed Transform Articulated Rotation Rover CG Arm Mount Frame Camera Mount Frame Body 2 Lower arm link Body 2 CG Body 1 Upper arm link Joint 1 Shoulder Yaw Joint Body 1 CG Body 1 Reference Frame 2 Sensor Mount Frame Body 2 Reference Frame Articulated Translation February 16 -17, 2006 Dependability Workshop - I. A. N. 64
Some Results on Reusability February 16 -17, 2006 Dependability Workshop - I. A. N.
Some Software Inter-operability Statistics Algorithm Description 1 st Adaptation On Time Subsequent Adaptations (time in days) On Adapt. Time Tuning Time 3 D Extended Kalman Filter for Rover Pose Estimation Rocky 8 60 FIDO (JPL) 1 3 3 D Locomotion for wheeled vehicles Rocky 7 30 Rocky 8 (JPL) 10 12 FIDO (JPL) 1 1 K 9 (ARC) 4 14 ROAMS (JPL) 1 - Rocky 8 (JPL) 7 7 FIDO (JPL) 4 1 Morphin Navigator Mast Control Software February 16 -17, 2006 Rocky 8 Dexter 75 21 Dependability Workshop - I. A. N. 66
Code Reusability for Motion Control February 16 -17, 2006 Dependability Workshop - I. A. N. 67
Code Resuability for Locomotion Example Module Lines of Code Status Depends On Wheel Locomotor 1445 Reusable Motion Sequence, 1 D Solver, Homogeneous Transforms Motion Sequence 540 Reusable Vector Matrix, Vector, Array 1083 Reusable - 1 D Solver 356 Reusable - Location, Homogeneous Transforms 341 Reusable Rotation Matrix, Point 2 D Rotation Matrices 435 Reusable - Point 2 D 131 Reusable - Controlled Motor 2080 Reusable Rocky 8 Locomotor 250 Non-reusable Rocky 8 Motor 334 Non-reusable Widget Motor, etc. . . Total 6995 584 (non-reusable) Total Reusable ~92% February 16 -17, 2006 Dependability Workshop - I. A. N. 68
Conclusions • Use abstraction to master complexity • Encapsulate and abstract hardware variations • Provide multi-level access through Decision Layer for fault diagnosis and recovery • Use domain expertise to guide design • Make all assumptions explicit • Stabilize external interfaces rapidly • Document processes and products well • Avoid over-generalization - define scope • Encapsulate system specific runtime models • Do not comprise performance - least common denominator solutions are unacceptable in hw/sw interactions • Standardize Hardware February 16 -17, 2006 Dependability Workshop - I. A. N. 69
Examples of CLARAty Reusability Controlled. Motor Mz<Type> Controlled_Motor_Impl Linear_Axis Joint Non-Resuable Layer Counter Fido_Motor PID Controller R 8_Motor Trajectory Sim_Motor R 7_Motor HCTL_Chip R 7_MC_Board MSI P 460 MSI P 430 Resuable HW reusable Non-reusable February 16 -17, 2006 DIO Trajectory_Generator Analog Out MSI P 415 LM 629_Chip Analog In MSI P 430 Widget_Motor Dependability Workshop - I. A. N. Widget_Board 70
Supported Platforms K 9 Linux x 86 Rocky 8 Vx. Works Ames x 86 Rocky 7 Vx. Works JPL ppc JPL FIDO Vx. Works x 86 JPL February 16 -17, 2006 ROAMS ATRV Linux x 86 CMU Dependability Workshop - I. A. N. Solaris Linux JPL 71
CLARAty Team • NASA Ames Research Center – – – • – – – – – David Apelfaum Reid Simmons (Navigation lead) Chris Urmson David Wettergreen University of Minnesota – – Stergios Roumeliotis Yukikazu Hidaka February 16 -17, 2006 Jet Propulsion Laboratory – – – Carnegie Mellon University – – • Maria Bualat Sal Desiano Clay Kunz (Data Structure Lead) Eric Park Randy Sargent Anne Wright (Cog-E & Core lead) • • Max Bajracharya (34) (Cog-E & Vision lead) Edward Barlow (34) Antonio Diaz Calderon (34) Caroline Chouinard (36) Gene Chalfant (34) Tara Estlin (36) (Deputy Manager & Decision Layer lead) Erann Gat (36) Dan Gaines (36) (Estimation Lead) Mehran Gangianpour (34) Won Soo Kim (34) (Motion lead) Michael Mossey (31) Issa A. D. Nesnas (34) (Task Manager) Richard Petras (34) (Adaptation lead) Marsette Vona (34) Barry Werger (34) Ophir. Tech – Hari Das Nayar Dependability Workshop - I. A. N. 72
Summary • CLARAty provides a repository of reusable software components at various abstraction levels • It attempts at capturing well-known robot technologies in a basic framework for researchers • It publishes the behavior and interfaces of its components • It allows researchers to integrate novel technologies at different levels of the architecture • It is a collaborative effort within the robotics community • It will run on multiple heterogeneous robots February 16 -17, 2006 Dependability Workshop - I. A. N. 73
Component Analysis Generic Physical Comp Public Object Services Queries Creates Links to Sub-object Objects HW Object Members State 1 State Handler Internal Implementation State Machines Local Estimation Private - optional link Estimator February 16 -17, 2006 Dependability Workshop - I. A. N. 74
Example: Generic Controlled Motor – – S- Profile Velocity • Define generic capabilities independent of hardware • Provide implementation for generic interfaces to the best capabilities of hardware • Provide software simulation where hardware support is lacking • Adapt functionality and interface to particular hardware by specialization inheritance • Motor Example: public interface command groups: Time Instantaneous Profile Change Initialization and Setup Motion and Trajectory Queries Monitors & Diagnostics February 16 -17, 2006 Dependability Workshop - I. A. N. 75
Example: collaborative development for locomotor Version 2. 0 Version 1. 0 • Designed for Rocky 7 • Used Motor class • Separated wheel control from locomotion Redesign/ • Built-in pose estimation mature • Generalized design for wheeled locomotors • Full and partially steerable vehicle • Used generic motor classes • Implements fixed axle model • Developed continuous driving • Adapted to Rocky 8, Rocky 7, and Sim JPL - 1998 Redesign/ mature JPL - 2001 Version 3. 0 Version 4. 0 • Separated model from control • Add separate locomotor state Add • Use device and telemetry • Add concept of wheel and infrastructure steerable wheel, Drive Cmd, Add adaptation to K 9 Drive Sequence • Adapt to ATRV, Sim, Rocky 7, Rocky 8 CMU - 2002 February 16 -17, 2006 Dependability Workshop - I. A. N. Future ARC - 2003 76
R 8 Specific Rover Implementation Non reusable Code Reusable Code Coord. Motion. System Locomotor Legged. Loc Wheeled Locomotor R 8_Locomotor • Attaches proper motors • Restricts Steering to 2 wheels Implements general fwd & inv. kinematics & joint ctrl Manipulator Arm R 8_Arm Mast R 8_Rover R 8_Arm R 8_Mast R 8_Locomotor R 8_Mast • Specialized inv. Kinematics (overrides default) • Attaches proper motors • Attaches proper cameras for mast • Adds filter wheel Motor Controlled. Motor Digital_IO R 8_Motor Trajectory IO BBMotor Analog_IO Widget Board Timers Trajectory_Generator Widget DIO Widget AIO Widget Motor February 16 -17, 2006 Dependability Workshop - I. A. N. HCTL 1100 Chip 77
Capabilities of Wheel Locomotor • Type of maneuvers: – – – • Straight line motions (fwd / bkwd) Crab maneuvers Arc crab maneuvers Rotate-in-place maneuvers (arc turn r=0) Driving Operation – Non-blocking drive commands – Multi-threaded access to the Wheel_Locomotor class – e. g. one task can use Wheel_Locomotor for driving while the other for position queries – Querying capabilities during all modes of operation. Examples include position updates and state queries – Built-in rudimentary pose estimation that assumes vehicle follows commanded motion February 16 -17, 2006 Dependability Workshop - I. A. N. 78
R 7 Specific Rover Implementation Non reusable Code Reusable Code Coord. Motion. System Locomotor Legged. Loc RBLoc Wheeled. Loc R 7_Locomotor • Attaches proper motors • Restricts Steering to 2 wheels Implements general fwd & inv. kinematics & joint ctrl Manipulator Arm Mast R 7_Arm R 7_Rover R 7_Arm R 7_Mast R 7_Locomotor R 7_Mast • Specialized inv. Kinematics (overrides default) • Attaches proper motors • Attaches proper cameras for mast • Adds filter wheel Motor Controlled. Motor BBMotor LM 629 Chip IO Digital_IO Analog_IO VPAR 10 Board Device Drivers February 16 -17, 2006 Dependability Workshop - I. A. N. 79
Why is robotic software “hard”? • Software: – – – Software is large and complex Has lots of diverse functionality Integrates many disciplines Requires real-time runtime performance Talks to hardware • Hardware: – Physical and mechanics are different – Electrical hardware architecture changes – Hardware component capabilities vary February 16 -17, 2006 Dependability Workshop - I. A. N. 80
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 research tool for technology development and maturation February 16 -17, 2006 Dependability Workshop - I. A. N. 81
91c86ef7f821ebd9aa6633fff4a25287.ppt