Date: Fri, 6 Jun 2003 11:18:24 -0400 (EDT)
From: arizzi@benedict.msl.ri.cmu.edu
To: kod@umich.edu, Mark Cutkosky <cutkosky@cdr.stanford.edu>, Richard Altendorfer <altendor@eecs.umich.edu>
Cc: Alfred Rizzi <arizzi@benedict.msl.ri.cmu.edu>,  Martin Buehler <buehler@cim.mcgill.ca>, ulucs+@ri.cmu.edu
Subject: Initial thoughts about the RiSE simulations system

Folks,

Uluc and I have been talking about the options for the simulation
tools we will use on the RiSE project over the past few weeks, and are
starting to make some reasonable progress outline the options
available to us.  We will be sending out (shortly) a more technical
overview of the options that have been identified, and what their
implications might be for us.  My intent, here, is to focus us on what
the potential issues are and attempt to summarize my belief about what
are requirements are.

1) We need (internally) a set of tools that will allow us to
   effectively simulate performance of the evolving designs -- this
   will serve as both a design aid and verification tool for the
   platform designers as well as a surrogate system for the early
   behavior and control system developers.  I take this to imply that
   we need reasonably accurate full body dynamics simulation and some
   quality of ground/surface interaction simulation.

2) We need (for Bill McBride and SwRI) a means to provide predictions
   of performance over obstacles and during trials.  Possibly they
   will want to compare "full state" recordings from the robot
   performing a task to the "full state" predictions that come from
   our simulation and make some effort to resolve any discrepancies.
   At very least they will want to compare aggregate performance
   metrics such as speed, power consumption, and "success" between
   simulation and actual trials.  In this area Raibert's tools will
   probably represent the standard to which we will be compared.

3) We believe it is critical that our simulation tools be well
   integrated with our control system, allowing us to use the same
   behavioral control software both in simulation and on the robot.
   This has three significant benefits for us; i) it provides a s/w
   test and development environment that mirrors the robot (this has
   been a HUGE benefit during the RHex project), ii) it reduces the
   s/w support tasks by making the simulation and actual control s/w
   suites essentially identical, iii) it allows us to simulate with
   the "actual" control systems we use on the robot improving
   predictive quality of the simulations.

And here are a few observations about the current state of affairs in
the RHex project, some assumptions about our needs/desires and some
considerations to keep in mind as we make a decision.

SimSect++ is the current tool we use for RHex:
  - it is well integrated with our control software
  - the internal software architecture of SimSect is VERY opaque
    - difficult to adapt to new robot morphology
    - separate hand written code describing each possible contact
      configuration and transitions between contact states
  - it includes support for simulation of "continuous time" control
    systems -- not clear this will be useful in the future

Given our likely evolution of body design, we would like to have
certain features in our system:
  - some sort of "creature description language" 
  - a reasonably flexible environmental description/specification system
  - automatic generation/simulation of equations of motion and contact
    resolution

From a maintenance perspective some qualities we desire include:
  - well documented interfaces that enable an appropriate level of
    integration with our control systems
  - workable support structures to support our endeavors
    (documentation, openness of interfaces, good TechSupport for
    closed products)
  - expected longevity of the tool/product

Some open questions:
  - Simulation accuracy?
    - integration scheme (fixed time step vs. adaptive RK45)
    - impact/constraint modeling/satisfaction (constraint satisfaction
      vs. impulsive "correction" vs. Lagrange multiplier/surface
      penetration)
  - Speed?
  - Multi-platform/OS support?
  - Cost?

The one thing that seems clear is that we will only have a nominal
level of effort from within our group dedicated to development and
support of our simulation system.  So it is critical that we choose an
approach that delivers high-benefit with minimal-effort.

-- NoahCowan? - 10 Jun 2003

 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback