CLARAty: Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Ames Research Center Carnegie Mellon University Jet Propulsion Laboratory University.

Slides:



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

MotoHawk Training Model-Based Design of Embedded Systems.
CLARAty: Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Jet Propulsion Laboratory October 16, 2001 Mars Technology Program Year-End Review.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
High-level System Modeling and Power Management Techniques Jinfeng Liu Dept. of ECE, UC Irvine Sep
Simultaneous Localization and Map Building System for Prototype Mars Rover CECS 398 Capstone Design I October 24, 2001.
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
Course Instructor: Aisha Azeem
CLARAty: Coupled Layer Architecture for Robotic Autonomy & CLARAty on FIDO Issa A.D. Nesnas Ames Research Center Carnegie Mellon University Jet Propulsion.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Robots at Work Dr Gerard McKee Active Robotics Laboratory School of Systems Engineering The University of Reading, UK
Design of a Multi-Threaded Distributed Telerobotic Framework Mayez Al-Mouhamed, Onur Toker, and Asif Iqbal Mayez Al-Mouhamed, Onur Toker, and Asif Iqbal.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
National Aeronautics and Space Administration Practices for Improving Robotic Software Reliability in Flight and Research Projects Khaled S. Ali and Issa.
Definition of an Industrial Robot
The Design Discipline.
Autonomous Surface Navigation Platform Michael Baxter Angel Berrocal Brandon Groff.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
Rational Unified Process Fundamentals Module 4: Disciplines II.
Mars Science Laboratory FY04 Year End Review MSL Focused Technology – Rover Technology TB (incl CLARAty) Issa A.D. Nesnas October 15,
Ruslan Masinjila Aida Militaru.  Nature of the Problem  Our Solution: The Roaming Security Robot  Functionalities  General System View  System Design.
Cooperating AmigoBots Framework and Algorithms
Upgrade to Real Time Linux Target: A MATLAB-Based Graphical Control Environment Thesis Defense by Hai Xu CLEMSON U N I V E R S I T Y Department of Electrical.
Task Manager Issa A.D. Nesnas Vision Max Bajracharya (JPL) Alt. Task Manager Tara Estlin JPL - Issa A.D. Nesnas ARC – Anne Wright CMU – Reid Simmons U.
Mobile Topic Maps for e-Learning John McDonald & Darina Dicheva Intelligent Information Systems Group Computer Science Department Winston-Salem State University,
DEVS Namespace for Interoperable DEVS/SOA
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
R R R 1 Frameworks III Practical Issues. R R R 2 How to use Application Frameworks Application developed with Framework has 3 parts: –framework –concrete.
Architecture for Autonomous Assembly 1 Reid Simmons Robotics Institute Carnegie Mellon University.
Systems Analysis and Design in a Changing World, 3rd Edition
1 Trajectories in CLARAty Mihail Pivtoraiko. 2 Overview Motivation –Providing infrastructure to support integration of currently funded MTP based tasks.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
CLARAty: Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Ames Research Center Carnegie Mellon University Jet Propulsion Laboratory University.
DARPA ITO/MARS Project Update Vanderbilt University A Software Architecture and Tools for Autonomous Robots that Learn on Mission K. Kawamura, M. Wilkes,
March 2004 At A Glance NASA’s GSFC GMSEC architecture provides a scalable, extensible ground and flight system approach for future missions. Benefits Simplifies.
Unified Robotic Software Development using CLARAty Issa A.D. Nesnas Mobility and Robotic Systems Section Autonomous Systems Division July 20, 2005
Accelerated Long Range Traverse (ALERT) Paul Springer Michael Mossey.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Digital Libraries1 David Rashty. Digital Libraries2 “A library is an arsenal of liberty” Anonymous.
CLARAty Decision Layer Overview Tara Estlin May 16, 2002 CLARAty Decision Layer Team: Tara Estlin and Caroline Chouinard CLEaR Team: Forest Fisher, Dan.
Mike Graves Summer 2005 University of Texas at Dallas Implicit Invocation: The Task Control Architecture Mike Graves CS6362 Term Paper Dr. Lawrence Chung.
Autonomy for General Assembly Reid Simmons Research Professor Robotics Institute Carnegie Mellon University.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
June 28, 2000 Architecture Review 1 Examples: Implementing Common Solutions within CLARAty.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
March 2004 At A Glance The AutoFDS provides a web- based interface to acquire, generate, and distribute products, using the GMSEC Reference Architecture.
Body i+1 Body i-1 Body i Joint i Joint i+ 1 to tip (outward) to base (inward) Sensor Frame Frame A Body i+2 Joint i+ 2 Reference Frame Ground Frame root_body.
A Programmatic View of CLARAty Richard Volpe JPL Space Exploration Technology Program Office NASA Mars Technology Program 2009 Mars Science Laboratory.
Autonomy: Executive and Instruments Life in the Atacama 2004 Science & Technology Workshop Nicola Muscettola NASA Ames Reid Simmons Carnegie Mellon.
Astrobiology Science and Technology for Exploring Planets (ASTEP) Mid-Year Review August 4, 2004 Robust Autonomous Instrument Placement for Rovers (JPL:
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Wednesday NI Vision Sessions
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
NASA Ames Research Center
CHAPTER 2 CREATING AN ARCHITECTURAL DESIGN.
Model-Driven Analysis Frameworks for Embedded Systems
TIGERBOT 2 REJUVENATION
Serial Data Hub (Proj Dec13-13).
Analysis models and design models
Presented By: Darlene Banta
Presentation transcript:

CLARAty: Coupled Layer Architecture for Robotic Autonomy Issa A.D. Nesnas Ames Research Center Carnegie Mellon University Jet Propulsion Laboratory University of Minnesota (FY03) CLARAty Workshop - January 13, 2003 Sponsors: Mars Technology Program Intelligent Systems Program

January 13, 2003 CLARAty Workshop - I.A.N. 2 Presentation Overview Architecture Overview Challenges of Interoperability Software Implementation and Status CLARAty testbed Selected Examples –Motion Control –Locomotion –Navigation Summary

Background and Overview

January 13, 2003 CLARAty Workshop - I.A.N. 4 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

January 13, 2003 CLARAty Workshop - I.A.N. 5 CLARAty Development Team CLARAty/Rocky8/Rocky7 –Max Bajracharya (34) –Edward Barlow (34) –Caroline Chouinard (36) –Gene Chalfant (34) –Hari Das (34) –Tara Estlin (36) –Dan Gaines (36) –Mehran Gangianpour (34) –Dan Helmick (34) –Won Soo Kim (34) –Michael Mossey (31) –Issa A.D. Nesnas (34) (Task Manager) –Ashitey Trebi-Ollennu (35/34) –Richard Petras (34) –Stergios Roumeliotis (Univ. of Minnesota) –Kevin Watson (34) NASA Ames Research Center –Maria Bualat –Clay Kunz –Randy Sargent –Anne Wright (lead) Carnegie Mellon University –Kam Lasater –Reid Simmons (lead) –Chris Urmson –David Wettergreen –Andy Yang Jet Propulsion Laboratory CLARAty on FIDO Team –Hrand Aghazarian (35/34) –Terrance Huntsberger (35/34) –Chris Leger (35/34) –Matthew Robinson (35/34) Five Summer Students

January 13, 2003 CLARAty Workshop - I.A.N. 6 Working Groups CLARAty Navigation Group (Lead: Reid Simmons - CMU) CLARAty Vision Group (Lead: Max Bajracharya - JPL) CLARAty Mobility & Manipulation Group (Lead: TBD / Hari Das (former)) CLARAty Estimation Group (Lead: Daniel Gaines - JPL) CLARAty Decision Layer Group (Lead: Tara Estlin - JPL) CLARAty Test/Release Group (Lead: TDB - JPL) CLARAty Rocky Rover Group (Lead: Richard Petras - JPL) K9 CLARAty Developers (Lead: Anne Wright - ARC) CLARAty Science Working Group (Lead: Ted Roush ARC/Meemong Lee - JPL) CLARAty Simulation Group (Lead: Gene Chalfant - JPL)

THE DECISION LAYER: Declarative model-based Mission and system constraints 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

January 13, 2003 CLARAty Workshop - I.A.N. 8 Simulation Hardware Drivers Adapting to a Rover Generic Functional Layer Rocky 8 Specialized Classes & Objects Connector Decision Layer Multi-level access Connector Rocky 8 Models/ Heuristics

January 13, 2003 CLARAty Workshop - I.A.N. 9 The Decision Layer Executives (e.g. TDL) General Planners (e.g. CASPER) Activity Database Rover Models FL Interface Plans

January 13, 2003 CLARAty Workshop - I.A.N. 10 ASPEN/CASPER System Architecture Timeline Manager Activity info Conflict status ADB modifications (e.g., add, modify, delete) PCNTCN Network Constraint Propagation Activity Database Real-time System Rover Model Act, state & resource updates Activities Activity permission updates Interface / GUI Timeline updates Search commands Activity, timeline, & conflict info TDL Executive CASPER ASPEN Activities to execute Act status; updates Goals & Init State Domain-specific information Legend System Module Socket connection Can be socket connection or embedded Pathplanning (outside module) Heuristics RepairOptimize Search

January 13, 2003 CLARAty Workshop - I.A.N. 11 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

January 13, 2003 CLARAty Workshop - I.A.N. 12 Functional Layer Components Pixel MastWheeledLocLeggedLocRBLoc Locomotor CoordMotors Socket Motor Camera Instrument BBMotorControlledMotor Analog_IODigital_IO IO VisualNavigatorVisualTracker Array_2D Vector LocationPoint Matrix Image ColorImage HTrans FeatureDetectorCorrelator Behavior State Database Bit Resource Rover SocketMsg Manipulator Arm StereoGen Specialized Data Structures General Purpose Data Structures Standard Template Library String LinkedList Container Waypoint Path Camera Image Location Connector

January 13, 2003 CLARAty Workshop - I.A.N. 13 Top Level Abstractions Rover_Impl Rover Sim_RoverR7_RoverR8_Rover R8_Mast R8_Power Gestalt_Nav D* Planner Static or Object Owned R8_Arm R8_Locomotor Mast Arm Power System Camera x N Path Planner Mapper Navigator Locomotor R8_Camera Optional Pose Estimator Connector

January 13, 2003 CLARAty Workshop - I.A.N. 14 Architectural Traverse Example Stereo Camera Stereo Engine > Navigator Gestalt Navigator Grid Mapper Mapper JPL Stereo Terrain Sensor Locomotor K9_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

January 13, 2003 CLARAty Workshop - I.A.N. 15 Architectural Traverse Example Stereo Camera Stereo Engine > Navigator R7/Soj Navigator Mapper JPL Stereo Terrain Sensor Locomotor K9_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

January 13, 2003 CLARAty Workshop - I.A.N. 16 Navigation Architecture * 1 1 Navigatorinterface Navigator Callback Locomotor interface Waypoint State Estimator Vehicle ModelMap Based SelectorFuzzy Logic SelectorRover Bug Selector Action Selector …

January 13, 2003 CLARAty Workshop - I.A.N. 17 Architectural Components Data Structure Components (DSC) –Array, Vector, Matrix, Map, Container, LinkedList, Bit –Image, Message, Resource Generic Physical Components (GPC) –Locomotor, Arm, Mast, Spectrometer, … Specialized Physical Components (SPC) –K9_Locomotor, K9_Arm, R8_Mast, FIDO_Motor,… Generic Functional Components (GFC) –ObjectFinder, LayerDetector, VisualNavigator, StereoProcessor, Localizer Specialized Functional Components (SFC)

January 13, 2003 CLARAty Workshop - I.A.N. 18 Architectural Components Impl Defining base abstract classes for the generic types –DSC - abstract Data_Obj class –GPC- Device class –GFC - Behavior class Additional core classes –Template Mz for measurement –Template Es for estimated values –Template State for state handling

January 13, 2003 CLARAty Workshop - I.A.N. 19 Guiding Principles Use domain knowledge to guide design Make all assumptions explicit Use abstraction layers to help master complexity Use information hiding to protect implementation variability Use interfaces and documentation to define behavior Avoid ineffective over-generalization Encapsulate system specific runtime models –Capabilities vary considerably across platforms –Hardware and hence runtime models vary across systems –Need for both cooperative and pre-emptive scheduling Least common denominator solutions are unacceptable in hardware/firmware/software interactions

January 13, 2003 CLARAty Workshop - I.A.N. 20 On Generic Algorithms Technologies that are generic by design should not be constrained by the software architecture & implementation Non-generic technologies should be accommodated on the appropriate platforms –Example (Generic): if you are working in navigation, you would not care about H/W architecture difference among different rovers –Example (Specific): if you are doing wheel/terrain interaction research, you might require specific hardware which one of the vehicles would support

Software Implementation & Status

January 13, 2003 CLARAty Workshop - I.A.N. 22 Repository Software Development Process AFS Backbone CMU JPL CLARAty Repository 3rd Party Releases Web UW... VxWorks ARC Rocky 8 FIDO Rocky 7 Benchtops K9 Repository ATRV Some CLARAty Statistics ~170 Modules (reusable entity) ~31 Packages (module grps) ~3 rovers ~250,000 lines of C++ code ~Java/scripts/ and models Authentication K9

January 13, 2003 CLARAty Workshop - I.A.N. 23 Infrastructure & Platform Support Object-oriented Architecture and Design Patterns C++ Implementation (with some Java) AFS backbone YaM for collaborative distributed development environment ACE for OS independence Qt for Graphics Display Operating Systems & Architectures:

January 13, 2003 CLARAty Workshop - I.A.N. 24 Levels of Software Integration Level I - Encapsulated –Uses CLARAty components to interact with rover –Does not support a CLARAty API –Runs on at least one robot platform Level II - Encapsulated & Integrated –Conforms to a generic CLARAty API (or parent class) Level II - Integrated –Has no unsupported 3rd party dependencies –Runs on all applicable rover platforms Level III - Refactored and Reviewed –Software reviewed by committee to ensure internal/external consistency –Uses all applicable CLARAty classes –Internally conforms to CLARAty conventions and coding standards Level + - Reused –Re-used by other modules in CLARAty - dependent module –Provides access to all internal data products

Challenges in Interoperability

January 13, 2003 CLARAty Workshop - I.A.N. 26 Solaris x86 Ames JPL Rocky 8 x86 VxWorks Linux Rocky 7 K9 ROAMS Currently Supported Platforms FIDO CMU Linux ATRV x86 JPL FIDO VxWorks x86 JPL ppc VxWorks JPL Linux

January 13, 2003 CLARAty Workshop - I.A.N. 27 Distributed Hardware Architecture x86 Arch Wireless ethernet 1394 FireWire I2C Bus Rocky 8 Compact PCI K9 Controllers  PIC Servos  Current Sensing  Digital & Analog I/O Actuator/Encoders Potentiometers I2C / Serial Bus 1394 Bus IMU RS232 Serial Sun Sensor K9 Rocky Widgets  Single Axis Controllers  Current Sensing  Digital I/O  Analog I/O

January 13, 2003 CLARAty Workshop - I.A.N. 28 Custom Architecture/Variability m68k Arch Framegrabbers Digital I/O Analog I/O Wireless ethernet Rocky 7 VME Arch Actuator/Encoders Potentiometers Parallel Custom Interface MUX/Handshaking Video Switcher Gyros Accels AIO PID Controllers

January 13, 2003 CLARAty Workshop - I.A.N. 29 Centralized Hardware Mapped Architecture x86 Arch Framegrabbers Digital I/O Analog I/O Wireless ethernet Fido PC104 Actuator/Encoders Potentiometers PID Control in Software Video Switcher IMU RS232 Serial

Selected Examples

January 13, 2003 CLARAty Workshop - I.A.N. 31 Examples of CLARAty Reusability Controlled_Motor_Impl ControlledMotor Linear_Axis Joint Non-Resuable Layer R8_Motor Fido_Motor Sim_Motor Trajectory Trajectory_Generator Mz HCTL_Chip Widget_Board Widget_Motor PID ControllerCounter DIO Analog Out Analog In MSI P460 MSI P430 MSI P415 MSI P430 Resuable HW reusable Non-reusable R7_Motor LM629_Chip R7_MC_Board

January 13, 2003 CLARAty Workshop - I.A.N. 32 Code Reusability

January 13, 2003 CLARAty Workshop - I.A.N. 33 Capabilities of Wheel Locomotor Type of maneuvers: –Straight line motions (fwd / bkwd) –Crab maneuvers –Arc 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

January 13, 2003 CLARAty Workshop - I.A.N. 34 Wheeled Locomotion – works for Rocky 8, Rocky 7, Fido, K9,... Front x y z C (a) Skid Steering (no steering wheels) x y z C (b) Tricycle (one steering wheel) Front x y z C (d) Partially Steerable (e.g. Sojourner, Rocky 7) Front x y z C (e) All wheel steering (e.g. MER, Rocky8, Fido, K9) Front x y z C (c) Two –wheel steering Generic Reusable Algorithms (f) Steerable Axle (e.g.Hyperion)

January 13, 2003 CLARAty Workshop - I.A.N. 35 Example: collaborative development for locomotor JPL CMU Future ARC Designed for Rocky 7 Used Motor class Separated wheel control from locomotion Built-in pose estimation 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 Version 1.0 Version 2.0 Separated model from control Add separate locomotor state Add concept of wheel and steerable wheel, Drive Cmd, Drive Sequence Adapt to ATRV, Sim, Rocky 7, Rocky 8 Version 3.0 Redesign/ mature Version 4.0 Use device and telemetry infrastructure Add adaptation to K9 Add JPL

January 13, 2003 CLARAty Workshop - I.A.N. 36 Analysis of amount of resuable code across implementations: -Reusable131Point 2D Reusable2080Controlled Motor -Reusable1083Matrix, Vector, Array Rotation Matrix, Point 2DReusable341Location, Homogeneous Transforms -Reusable435Rotation Matrices 584 (non-reusable) Non-reusable Reusable Status Widget Motor, etc... Rocky 8 Motor - Vector Motion Sequence, 1D Solver, Homogeneous Transforms Depends On ~92%Total Reusable 6995Total 334Rocky 8 Motor 250Rocky 8 Locomotor 3561D Solver 540Motion Sequence 1445Wheel Locomotor Lines of CodeModule Code Resuability Results

CLARAty Status and Future Work

January 13, 2003 CLARAty Workshop - I.A.N. 38 Base Package Developed Generic Physical Component Base classes Math and Data Structure modules –Merging array/matrix between ARC/JPL. Added support for sub-arrays & STL iterators Bits and I/O modules (JPL) –New implementation of bits, DIO, & AIO - more consistent, reentrant & efficient Telemetry module (ARC) –Added telemetry modules to represent data and parameter sets, handles general serialization/deserialization, provides multi-threaded clients, & increases efficiency Device module (ARC) –Provide base classes for all devices such as cameras, arms, masts, locomotors, etc. Uses telemetry classes and provides generic interfaces for accessing telemetry Power System module (ARC) –Provides information on devices such as power sources, batteries, and battery chargers. Implemented specializations for K9 power hardware Converge implementations and adapt for all platforms Add Mz, Es, and State logging capabilities

January 13, 2003 CLARAty Workshop - I.A.N. 39 Developed algorithms for partially- steered and fully-steered vehicles Developed continuous driving capability (JPL) Demonstrated on Rocky8 & Rocky7, and FIDO (JPL) Third generation redesign (CMU) –Separated locomotor model from control –Added wheels, drive cmds and sequences. –Adapting R8, R7, ATRV, FIDO, and K9 –Tested on ATRV, R8, R7, & ROAMS Locomotion Package Front x y z C (d) Partially Steerable (e.g. Rocky 7) Front x y z C (e) All wheel steering (e.g. Rocky8, Fido, K9) (c) Steerable Axle (e.g.Hyperion) Continuous Driving and Separated Model from Control Converge with Device and refine APIand provide models for estimation Add ATRV adaptation to repository

January 13, 2003 CLARAty Workshop - I.A.N. 40 Vision Package Developed generic infrastructure for vision –Generic Camera, Stereo Camera, Camera Models, Image, Image operations (e.g. rectification, edge and corner detection), Image I/O, and Image transport Provided wrappers for vision algorithms –JPL Stereo, CAHVOR models, ARC Stereo, SVS Stereo, SLOG tracker Adapted package to various rovers –Rocky 8, K9, FIDO, Rocky 7 are currently using the same vision infrastucture Worked with Machine Vision Group to integrate visual odometry Worked with RMSA team, Olson, Roush, M. Lee Developed generic Image and Camera infrastructure Enhance operations/functionality for target tracking and stereovision Integration of Wide-baseline Stereo (U. Washington) Integration of Bundle Adjustment Techniques (JPL & Ohio State)

January 13, 2003 CLARAty Workshop - I.A.N. 41 Completed and tested FIDO-based EKF port to CLARAty (JPL) –Two tier Kalman Filter –Estimating heading (IMU + odometry), x, and y (odometry) Created second generation design for the Estimator module (JPL & Univ. of Minnesota) –Handle non-EKF based estimators –Designed to better integrate with Locomotor and other model infrastructure –Assume filter primary functions are to propagate state and update measurements Estimation Package 3DOF FIDO EKF integrated and tested in CLARAty Implement Framework for more general estimation algorithm+(6DOF) Integrate FIDO/R7 sun sensing algorithms

January 13, 2003 CLARAty Workshop - I.A.N. 42 Navigation & Mapper Package New modular design for the Navigator (CMU) –Based on generic action-selector - can be adapted to support navigation technologies –Specialized action selector to Map-based selector –Tightly integrated local and global cost functions (D*) –Navigator interfaces with Locomotor, Location Estimator, and Terrain Map generator. Refactored Gestalt to separate terrain evaluation from action selection (JPL) Developed infrastructure to process multi-tiered panoramic images for terrain evaluation (JPL) Acquired complete 3-D map of Mars Yard Developed Generic Navigation Infrastructure Integrate two navigation algorithms to exercise navigation framework

January 13, 2003 CLARAty Workshop - I.A.N. 43 Resurrected dexter platform and made part of CLARAty testbed (JPL) Upgraded manipulation modules to support acquisition of multi-tiered panoramic images (JPL) Manipulation Package Dexter Dexter Manipulation platform now part of CLARAty testbed Converge manipulation software between JPL and ARC Adapt to all manipulators (K9, R7 arm/mast, FIDO/Rocky 8/Dexter arm/mast)

January 13, 2003 CLARAty Workshop - I.A.N. 44 Developed adaptation of the CLARAty controlled motor classes to interface with ROAMS simulation (JPL) Tested Locomotor sending commands to wheels which in, turn, send commands to controlled motors (JPL) Specialized Sim_Motors turn commands into streams for socket- based communication Drove Simulated Rocky 8 rover with new locomotor (CMU) Interface between DL/FL (rover-level and ROAMS) is also available Simulation Package CLARAty Locomotor talking to ROAMS via motor cmds Provide adaptations for inertial sensors, I/Os, cameras, and science instruments Test functionality such as pose estimation, navigation and planning using ROAMS. Provide API for integration with MSF

January 13, 2003 CLARAty Workshop - I.A.N. 45 Interactions with T. Roush’s team for integration of science analysis and spectrometer functionality Analysis code checked in the repository: –Carbonate Analysis –Edge Layer detection Interactions with Meemong Lee’s for interface with science instruments, analysis, and simulation. Code available in repository –Calibrated Reflectance Spectrum –Uncalibrated Spectrum –Spectrometer Science Package Infrastructure for Spectrometer and terrain analysis Provide adaptations to integrate with science instrument simulator and possibly real spectrometers Continue integration of science analysis

January 13, 2003 CLARAty Workshop - I.A.N. 46 Communication Package Decision Layer/Functional Layer communication module K9 (ITAR-free) communication interface Communication mechanism between adaptations of CLARAty classes and ROAMS Uses CLARAty socket module Interface between DLs and FL Provide easy and automated means for transporting CLARAty data structures (Data_Obj serialization and deserialization) Modularize communication components and improve reuse Complete study regarding use of TAO for DL/FL interaction

January 13, 2003 CLARAty Workshop - I.A.N. 47 Decision Layer Package Integrated D* Path Planner with Decision Layer Developed infrastructure for sharing terrain map with FL Migrating a version of CLEaR (CASPER/TDL - Linux) into CLARAty repository. Now available are: –TCM - Task Control Management used by TDL –Tangent Graph Path Planner (as used by DL) –D* Path Planner (as used by DL) –TDL and Java utilities Unifying DL dependencies to use the CLARAty modules (e.g. path planners - tangent graph, D*), etc. Decision Layer integrated D* Path Planner Converge more models between DL and FL Interface with WITS and enhance interface with FL Integrate another Decision Layer with Functional Layer (pending)

CLARAty Testbed

January 13, 2003 CLARAty Workshop - I.A.N. 49 FIDO Benchtop Rocky 8 Benchtop Dexter Manipulators Rocky 7 Benchtop CLARAty Testbed (1/2)

January 13, 2003 CLARAty Workshop - I.A.N. 50 CLARAty Testbed (2/2) 5 cPCI embedded targets (x86, ppc) 2 Linux and 5 Solaris hosts/targets AFS VxWorks installations (Tornado I, II, II.2, x86, ppc) Mockups for Rocky 8, FIDO, and Rocky 7 Remotely accessible to CLARAty developers & users Web-based target status and control Small lab sandbox built for indoor testing Several remote and local users exercising testbed (MDS, CMU, ARC, JPL) Online sign up for target/rover usage

January 13, 2003 CLARAty Workshop - I.A.N. 51 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

January 13, 2003 CLARAty Workshop - I.A.N. 52 Acknowledgements CLARAty Team (multi-center) Jet Propulsion Laboratory ROAMS/Darts Team CLEaR Team Instrument Simulation Team Machine Vision Team FIDO Team Ames Research Center K9 Team Carnegie Mellon University

Thank you for your Attention

CLARAty Software Packages

January 13, 2003 CLARAty Workshop - I.A.N. 55 Decision Layer Package General Planners  Basic planner infrastructure... Activity Database  Generic Activity database structure Planner Implementations  CASPER  ASPEN Executives –TCM - Task Control Management used by TDL –TDL - Task Description Language Interfaces  Functional Layer Interface ...

January 13, 2003 CLARAty Workshop - I.A.N. 56 Base Package Share  Common Definitions  Math Constants  Function Operators  Display Functions Array  1D Arrays  2D Arrays  Sub Arrays Matrix  1D matrices (math)  2D matrices (math)  Fixed size matrices  Rotation matrices Transforms  Homogeneous Transforms  Quaternions Frame  Coordinate Frames  Locations (Poses) Point  2-D Points  3-D Points Numeric Solvers  Newton Rhapson  Nedler-Mede Resource  Timers  Tasks... State  State data logging  Database Greyed Out – in progress Orange – non-JPL/non-CLARAty development Green – JPL-non-CLARAty development GPC & GFC  Device  Telemetry  Periodic Objects

January 13, 2003 CLARAty Workshop - I.A.N. 57 Input Output Package I/O  I/O  Digital I/O  Composite Digital I/O  Analog Input  Analog Output Bits  Bits data structure  Bit manipulation/masking

January 13, 2003 CLARAty Workshop - I.A.N. 58 Motion Control Package Motor  Open Loop Motors  Controlled Motors Trajectory  Trajectories  Trajectory Generators  Continuous Profiling... Coordinated Systems  Motor Coordinators

January 13, 2003 CLARAty Workshop - I.A.N. 59 Locomotion Package Wheel Locomotion  Wheels/Steerable Wheels  Locomotor models  Locomotor State  Drive Commands  Motion Sequences  2-D Wheel Locomotion algorithms  3-D Rocker Bogie Locomotion  Continuous driving modules Legged Locomotion  Legged Locomotors Hybrid Locomotion  Wheel/Legged Locomotors...

January 13, 2003 CLARAty Workshop - I.A.N. 60 Vision Package Camera  Framegrabbers  Cameras (single, multi)  Stereo Pairs  Camera models Data Structures  Images  Image Pyramids  Image I/O  Color Images  Camera Images  Point Clouds  Meshes Stereo Implementations  JPL Stereo engine  SRI Stereo engine (commercial)  Ames Stereo engine... Stereo Vision  StereoProcessor  StereoEngine Visual Tracking  2-D Feature extraction  3-D Feature extraction  Affine Tracking  2-D Tracking algorithms  Shaped based tracking  Combined 2-D & 3-D tracking  Visual odometry Basic Image Processing  2-D Image processing -Filtering & smoothing -Edge detection -Blob detection -Corner feature detection

January 13, 2003 CLARAty Workshop - I.A.N. 61 Estimation Package Kalman Filter Algorithms  3 DOF EKF pose estimation  6 DOF EKF pose estimation Pose Estimators  Wheel-based Pose Estimators  Legged-based Pose Estimators... Data Structure  Measurements  System models  Generic Kalman Filter

January 13, 2003 CLARAty Workshop - I.A.N. 62 Navigation Package Local Navigators  Action Selectors  Mapped-base Action Selector  Waypoints  Generic local navigator structure Path Planner  Generic path planner structure... Navigation Implementations  MER/GESTALT Navigator  Morphin (CMU) Navigator  Fuzzy Navigator

January 13, 2003 CLARAty Workshop - I.A.N. 63 Manipulation Package Manipulators  Joints  Links  Generic Manipulators  Generalized Fwd Kinematics  Generalized Inverse Kinematics  Limited DOF manipulators  Redundant manipulators  End effectors... Sensor-based Manipulation  Stereovision based manipulation  Vision/tactile manipulation

January 13, 2003 CLARAty Workshop - I.A.N. 64 Simulation Package Simulator Connectors  Interfaces to ROAMS simulation  Rover Sim  Navigator Sim  Locomotor Sim  Motor Sim  I/O Sim  IMU Sim... Simulation Implementations  ROAMS Rover Simulation (JPL)

January 13, 2003 CLARAty Workshop - I.A.N. 65 Sensor Package... IMUs  Generic inertial measurement unit infrastructure Tilt Sensors  Generic Electronic Tilt sensors  Generic Accelerometers Rate Sensors  Generic Gyros structures Temperature Sensors Voltage & Current Sensors

January 13, 2003 CLARAty Workshop - I.A.N. 66 Science Package Spectrometers  Generic Spectra classes –Calibrated Reflectance Spectrum –Uncalibrated Spectrum  Generic Spectrometer classes... Science Cameras  Special science cameras (inherits for Cameras of Vision Package) Analysis Algorithms  Carbonate Analyzer  Edge Layer detector Science Database

January 13, 2003 CLARAty Workshop - I.A.N. 67 Communication Package Ethernet  Socket Communication  TCP Comm  UDP Comm Messages  Object serialization  Socket messages Connector  Client/server comm.  Executives... Serial I/O  Serial Comm

January 13, 2003 CLARAty Workshop - I.A.N. 68 Path Planning Package Global Path Planners  Generic path planner structure... Path Planner Implementations  D* Path Planner (CMU)  Tangent Graph Path Planner (JPL)  ISE Path Planner (CMU)

January 13, 2003 CLARAty Workshop - I.A.N. 69 Behavior Package Behaviors  Basic rover behaviors... Behavior Coordination  Arbiters  Behavior combinators

January 13, 2003 CLARAty Workshop - I.A.N. 70 Hardware Drivers Motor Controllers HCTL 1100 Motor Controller LM 629 Motor Controller... I/O Boards/Chips VPAR10 – Digital I/O Board VADC20 – Analog Input Board Framegrabbers/Vision MAX186 Analog to Digital Conv. MAX528 Digital to Analog Conv. Imagenation PX610 Framegrabber Imagenation CX100 Framegrabber Custom Boards Widget Board – Motion Control Other I2C Master Controller Crossbow DMU – Interial Measurement Unit Sensoray S720 Digital I/O Board 1394 Camera Driver... VISA – Vme to ISA Converter Widget Board Firmware PCI Controller...

January 13, 2003 CLARAty Workshop - I.A.N. 71 Rocky 8 Package Rocky 8 Specialized Physical Components  Rocky 8 Motors  Rocky 8 Cameras  Rocky 8 IMUs  Rocky 8 Hardware Map  Rocky 8 Digital I/O  Rocky 8 Analog I/O... Rocky 8 Specialized Functional Components  R8 Locomotor  R8 Contrained Locomotor  R8 Navigator  R8 Rover

January 13, 2003 CLARAty Workshop - I.A.N. 72 K9 Package K9 Specialized Physical Components  K9 Motors  K9 Cameras  K9 IMUs  K9 Hardware Map  K9 Digital I/O  K9 Analog I/O  K9 Locomotor  K9 Contrained Locomotor  K9 Rover... K9 Specialized Functional Components  K9 Navigator

January 13, 2003 CLARAty Workshop - I.A.N. 73 Rocky 7 Package Rocky 7 Specialized Physical Components  Rocky 7 Motors  Rocky 7 Cameras  Rocky 7 Accels  Rocky 7 Gyros  Rocky 7 Hardware Map  Rocky 7 Digital I/O  Rocky 7 Analog I/O... Rocky 7 Specialized Functional Components  R7 Locomotor  R7 Contrained Locomotor  R7 Navigator  R7 Rover

January 13, 2003 CLARAty Workshop - I.A.N. 74 FIDO Package FIDO Specialized Physical Components  FIDO Motors  FIDO Cameras  FIDO Accels  FIDO Gyros  FIDO Hardware Map  FIDO Digital I/O  FIDO Analog I/O... FIDO Specialized Functional Components  FIDO Locomotor  FIDO Contrained Locomotor  FIDO Navigator  FIDO Rover

January 13, 2003 CLARAty Workshop - I.A.N. 75 Map Based Selector Implements Morphin/D* & Gestalt type algorithms Enables easy exchange of terrain evaluation and cost functions Combine cost functions through arbitration or summation

January 13, 2003 CLARAty Workshop - I.A.N. 76 GESTALT Navigator on Rocky 8

January 13, 2003 CLARAty Workshop - I.A.N. 77 Background & Objectives Why are we doing this work? To capture and preserve robotics expertise from JPL and other centers To provide a framework for future NASA rover technology development and integration To reduce the cost of integrating new technologies To operate various robots from a unified framework To eliminate cost of redeveloping basic robotic infrastructure

January 13, 2003 CLARAty Workshop - I.A.N. 78 Goals Capture and integrate a wide range of technologies Leverage existing tools Leverage experience and tools of the larger software development community Apply appropriate design patterns to the domain Provide an infrastructure that enables rapid robotic development Capture experience of technologists implementations

January 13, 2003 CLARAty Workshop - I.A.N. 79 How? Study software implementation of various robots Study interactions of elements in various systems Identify reusable/recurring elements in robotic systems Identify implicit assumptions made Project potential advances to these elements Design a generic/flexible implementation of these elements Adapt to a number of robotic systems Test and study the limitations of the design Go back to design and iterate Modify/extend/redesign to address limitations and variability across systems Your generic base is reusable

January 13, 2003 CLARAty Workshop - I.A.N. 80 Approach Domain knowledge guides design Layers of abstraction help master complexity Abstractions also provide a classification of various technology elements Information hiding protects implementation variability Small modular components are more reusable than monolithic blocks Interfaces define behavior of various elements

January 13, 2003 CLARAty Workshop - I.A.N. 81 Things to be aware of Over-generalizing leads to ineffectiveness –More general -> less functionality -> more work for results –Number of abstractions vs. complex hierarchies –Modular elements with strongly typed interfaces –Algorithm generality influences abstraction design Runtime models vary across systems –Challenges in combining hardware/firmware/software architectures in most effective manner –Need for both cooperative and pre-emptive scheduling

January 13, 2003 CLARAty Workshop - I.A.N. 82 Component Analysis State Objects Members Generic Physical Comp Estimator State Machines Object Services Creates Private Public Links to State Handler Sub-object Internal Implementation Local Estimation State 1 Queries HW Object - optional link

January 13, 2003 CLARAty Workshop - I.A.N. 83 Relationships with Other Components 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 Provides trajectory planning based on a selection criteria possibly by the Decision Layer Functionality encoded within the objects Wheeled_Locomotor Legged_Locomotor Manipulator Leg * Wheel Steerable Wheel **

January 13, 2003 CLARAty Workshop - I.A.N. 84 R8 Specific Rover Implementation Mast LeggedLoc Wheeled Locomotor Locomotor CoordMotionSystem Motor BBMotor ControlledMotor Analog_IO Digital_IO IO Manipulator Arm R8_ArmR8_Mast Implements general fwd & inv. kinematics & joint ctrl Specialized inv. Kinematics (overrides default) Attaches proper motors Attaches proper cameras for mast Adds filter wheel R8_Locomotor Attaches proper motors Restricts Steering to 2 wheels R8_Motor R8_Rover R8_Arm R8_MastR8_Locomotor R8 Widget Board Widget AIOWidget DIO Widget Motor HCTL 1100 Chip Non reusable Code Reusable Code Trajectory Trajectory_Generator Timers

January 13, 2003 CLARAty Workshop - I.A.N. 85 R7 Specific Rover Implementation Mast WheeledLocLeggedLoc RBLoc Locomotor CoordMotionSystem Motor BBMotor ControlledMotor Analog_IO Digital_IO IO Manipulator Arm R7_ArmR7_Mast Implements general fwd & inv. kinematics & joint ctrl Specialized inv. Kinematics (overrides default) Attaches proper motors Attaches proper cameras for mast Adds filter wheel R7_Locomotor Attaches proper motors Restricts Steering to 2 wheels LM629Chip LM629Motor R7_Rover R7_Arm R7_MastR7_Locomotor R7 Device Drivers VPAR10Board Non reusable Code Reusable Code

January 13, 2003 CLARAty Workshop - I.A.N. 86 Example: Generic Controlled Motor 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: –Initialization and Setup –Motion and Trajectory –Queries –Monitors & Diagnostics Time Velocity S- Profile Instantaneous Profile Change

January 13, 2003 CLARAty Workshop - I.A.N. 87 Locomotor Design Original DesignNew Design

January 13, 2003 CLARAty Workshop - I.A.N. 88 Vehicle State Contains 6DOF pose Mechanism state contains variable vehicle parameters Mechanism information encapsulated in a separate class (bridging) Potential for dynamical state or other descendant state classes

January 13, 2003 CLARAty Workshop - I.A.N. 89 Estimation Package

January 13, 2003 CLARAty Workshop - I.A.N. 90 Navigator Public interface for navigation capability Provides a bridge between evaluation and execution Manages waypoints Multi-threaded –Interface available while executing a task Callback provides hook to trigger non- navigation events –Periodic science on the fly

January 13, 2003 CLARAty Workshop - I.A.N. 91 Action Selector Navigation algorithms provide this interface Used to determine the next motion the vehicle should take

January 13, 2003 CLARAty Workshop - I.A.N. 92 Maps Generic base class extends matrix Iterators allow movement through maps in arbitrary directions

January 13, 2003 CLARAty Workshop - I.A.N. 93 Nesnas/JPL DECISION LAYER FUNCTIONAL LAYER Terrain Map from Laser D* Path Planner Terrain Map from Laser Path Rover Navigator Position Estimator Estimator Kalman Filter Locomotor IMU R7_Rover R8_Rover R7_Locomotor R8_Locomotor Motor R7_Motor R8_Motor Widget Board Stereo Engine Camera CameraPX610 Camera1394 FUNCTIONAL LAYER Wheel Locomotor Model Camera_Image D* Star JPL Stereo Connector CLARAty Level I Milestone

January 13, 2003 CLARAty Workshop - I.A.N. 94 Publications & Website T. Estlin, F. Fisher, D. Gaines, C. Chouinard, S. Schaffer, and I. Nesnas, “Continuous Planning and Execution for an Autonomous Rover,” To appear in the Proceedings of the Third International Workshop on Planning and Scheduling for Space, Houston, TX, Oct 2002 I.A.D. Nesnas, “CLARAty - An Architecture for Reusable Robotic Software,” CSMISS IT Spotlight Series, June 19, 2002 I.A.D. Nesnas, R. Volpe, T. Estlin, H. Das, R. Petras D. Mutz, "Toward Developing Reusable Software Components for Robotic Applications" Proceedings of the International Conference on Intelligent Robots and Systems (IROS), Maui Hawaii, Oct Nov pdf (8 pages, 2MB) T. Estlin, R. Volpe, I.A.D. Nesnas, D. Mutz, F. Fisher, B. Engelhardt, S. Chien, "Decision-Making in a Robotic Architecture for Autonomy." Proceedings of 6 th International Symposium on Artificial Intelligence, Robotics, and Automation in Space (i-SAIRAS), Montreal Canada, June pdf (8 pages, 72KB) R. Volpe, I.A.D. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das, "The CLARAty Architecture for Robotic Autonomy." Proceedings of the 2001 IEEE Aerospace Conference, Big Sky Montana, March pdf (12 pages, 470 KB) R. Volpe, I.A.D. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das, "CLARAty: Coupled Layer Architecture for Robotic Autonomy." JPL Technical Report D-19975, Dec pdf (116 pages, 904 KB)

January 13, 2003 CLARAty Workshop - I.A.N. 95 FY03 Plans

January 13, 2003 CLARAty Workshop - I.A.N. 96 CLARAty Collaborations (1/2) JPL - MDS Team –Participated with MDS team on CLARAty/MDS infusion task –Supported MDS by upgrading Rocky 7 to MSL-like hardware and provided working version of CLARAty software for migration to MDS JPL - ROAMS Team (A. Jain) –Close collaborations for the integration of the Functional and Decision Layers to the ROAM rover simulation JPL - CLEaR Team (F. Fisher) –Provided an instantiation of the CLARAty Decision Layer, integrated, tested and debugged on Rocky 7 and Rocky 8 rovers JPL - Instrument Simulation Team (M. Lee) –Worked closely with instrument simulation team to develop spectrometer and spectra infrastructure for CLARAty.

January 13, 2003 CLARAty Workshop - I.A.N. 97 CLARAty Collaborations (2/2) RMSA Teams: –ARC - Science Analysis Team (T. Roush) Close interactions to support integration of science analysis into the CLARAty environment. –JPL - Slope Navigation (L. Matthies) Collaboration for integration of visual odometry on rover platforms –University of Washington (C. Olson & R. Li) Close collaboration for integration of bundle adjustment and wide baseline stereo –Carnegie Mellon University (A. Stentz) Integration of D* path planner for long range traverse –Ames Research Center (E. Bandari) Integration of visual tracking ALERT Team (former REE) –Providing CLARAty communication and rover control infra-structure to REE for a navigation demonstration on Rocky 8

January 13, 2003 CLARAty Workshop - I.A.N. 98 CLARAty Collaborations (1/2) JPL - MDS Team –Participated with MDS team on CLARAty/MDS infusion task –Supported MDS by upgrading Rocky 7 to MSL-like hardware and provided working version of CLARAty software for migration to MDS JPL - ROAMS Team (A. Jain) –Close collaborations for the integration of the Functional and Decision Layers to the ROAM rover simulation JPL - CLEaR Team (F. Fisher) –Provided an instantiation of the CLARAty Decision Layer, integrated, tested and debugged on Rocky 7 and Rocky 8 rovers JPL - Instrument Simulation Team (M. Lee) –Worked closely with instrument simulation team to develop spectrometer and spectra infrastructure for CLARAty.

January 13, 2003 CLARAty Workshop - I.A.N. 99 CLARAty Collaborations (2/2) RMSA Teams: –ARC - Science Analysis Team (T. Roush) Close interactions to support integration of science analysis into the CLARAty environment. –JPL - Slope Navigation (L. Matthies) Collaboration for integration of visual odometry on rover platforms –University of Washington (C. Olson & R. Li) Close collaboration for integration of bundle adjustment and wide baseline stereo –Carnegie Mellon University (A. Stentz) Integration of D* path planner for long range traverse –Ames Research Center (E. Bandari) Integration of visual tracking ALERT Team (former REE) –Providing CLARAty communication and rover control infra-structure to REE for a navigation demonstration on Rocky 8