Gazebo: Simulator for the DARPA VRC Steven Peters, John Hsu - - PowerPoint PPT Presentation

gazebo simulator for the darpa vrc
SMART_READER_LITE
LIVE PREVIEW

Gazebo: Simulator for the DARPA VRC Steven Peters, John Hsu - - PowerPoint PPT Presentation

Gazebo: Simulator for the DARPA VRC Steven Peters, John Hsu gazebosim.org Outline Overview of the Open Source Gazebo Simulator DARPA Virtual Robotics Challenge Challenges with real-time simulation Open Dynamics Engine (ODE) Projected


slide-1
SLIDE 1

Gazebo: Simulator for the DARPA VRC

Steven Peters, John Hsu

gazebosim.org

slide-2
SLIDE 2

Outline

Overview of the Open Source Gazebo Simulator DARPA Virtual Robotics Challenge Challenges with real-time simulation Open Dynamics Engine (ODE) Projected Gauss-Seidel (PGS) Overview ODE Enhancements Walking Results Future Work

slide-3
SLIDE 3

Gazebo Simulator: Overview and Purpose

Goal: Best possible substitute for physical robot Architecture: Use cases: Design and testing of robot components and control Software testing and verification Competitions Physics Sensors Interfaces GUI

gazebosim.org

slide-4
SLIDE 4

Gazebo Features

Physics Rigid body dynamics Multiple physics engines Sensors Lidar, stereo, force-torque, IMU, GPS Mimics real sensor output with noise Interfaces Control platforms: ROS, Player Open API for custom interfaces Cloud-based simulation

slide-5
SLIDE 5

Wide range of robots Wheeled robots, PR2, Pioneer2, Husky Stationary: Baxter, Barrett WAM Legged: Atlas, Robonaut Community-Generated Content Online model repository Open to all contributions Public API

Simulated Robots and Models

slide-6
SLIDE 6

Community

Large community of users Academic Industrial Closely connected with ROS community answers.gazebosim.org bitbucket.org/osrf/gazebo

slide-7
SLIDE 7

DARPA Virtual Robotics Challenge

Disaster first responder scenario: what is needed to fight fires? Drive a utility vehicle (ie. water truck). Walk across various terrains. Thread a fire hose into standpipe.

slide-8
SLIDE 8

VRC Simulation Requirements

Performance goals Near real-time performance. Stable physics no matter what the user inputs are. Stable contacts for both manipulation and walking. Modeling choices Use fixed time step and fixed number of iterations. Prefer dissipative simulation (inelastic impacts, viscous damping). Approximate meshes with primitive shapes (sphere, box, cylinder). Artificial screw joint for firehose threading.

slide-9
SLIDE 9

VRC Physics Summary

Trade-off between physics accuracy and real-time performance. We used Open Dynamics Engine (ODE) Maximal coordinates LCP with iterative Projected Gauss Seidel solver It also has a pivoting solver We did some crazy things to make simulation more stable. But first, an overview of ODE.

slide-10
SLIDE 10

Open Dynamics Engine (Maximal Coordinates)

Rigid body kinematics Unconstrained dynamics Extended to N rigid bodies Articulation constraints

slide-11
SLIDE 11

Open Dynamics Engine (cont.)

Normal 2 Friction Directions

Friction cone approximated with 2 friction directions Constraint for each direction

slide-12
SLIDE 12

Open Dynamics Engine (cont.)

Discretized dynamics Velocity constraints Solve linear system Projected Gauss Seidel (PGS) Iterative solver

A b =

where is projected...

Then semi-implicit integration

slide-13
SLIDE 13

Open Dynamics Engine (cont.)

Constraint force mixing Add diagonal matrix C (CFM) Constraint error correction Error h, parameter β (ERP) ERP and CFM derived from constraint stiffness (kp) and damping (kd)

slide-14
SLIDE 14

Extensions to Open Dynamics Engine

Improve physics stability Implicit joint damping Row reordering Split impulse Accelerate PGS convergence Reduce inertia ratios Warm starting

slide-15
SLIDE 15

Extensions to Open Dynamics Engine

Constraint error correction causes overshoot and bounce: Compute two velocities: Uncorrected velocity: Use as velocity Corrected velocity: Only use to compute position Split Impulse

slide-16
SLIDE 16

Extensions to Open Dynamics Engine

Constraint error correction causes overshoot and bounce: Split Impulse

Overlap on startup Box Drop

slide-17
SLIDE 17

Extensions to Open Dynamics Engine

Large inertia ratios slow PGS convergence Not just m1 / m2 Ixx1 / Ixx2 is important for maximal coordinates For bilateral constraints, blend inertia values along constrained directions Inertia Ratio Reduction Ixx ratio ~6000 : 1 Atlas ~9000 : 1

slide-18
SLIDE 18
  • Sandia hand model is unstable at 1ms with any explicit viscous joint

damping model. Implicit damping is needed for stability.

  • Atlas robot is unstable with large explicit controller d-gains.
  • Catto[1] showed equivalence between CFM/ERP and spring stiffness and

damping. Implicit Joint Damping

[1] E. Catto, “Soft Constraints reinventing the spring,” Game Developer Conference (GDC), 2011.

Extensions to Open Dynamics Engine

slide-19
SLIDE 19

Atlas + Sandia Hands: Overall Kinetic Energy Content vs Sim Time. Implicit Joint Damping

PID Controller Unstable Damping = 0.01 Nms/rad 50 PGS Iterations KE ~28J PID Controller Stable Damping = 0.02 Nms/rad 50 PGS Iterations KE ~1e-6J PID Controller Stable Damping = 0.02 Nms/rad 100 PGS Iterations KE ~1e-7J

Extensions to Open Dynamics Engine

slide-20
SLIDE 20

PGS Row Reordering, Friction Iterations

Standard ODE

Constraint row solution order: 1) bilateral constraints 2) contact normal and friction constraint groups Extensions to Open Dynamics Engines

Reordered PGS

Constraint row solution order: 1) bilateral constraints 2) contact normal constraints 3) frictional force constraints Additional iterations on friction force constraints.

slide-21
SLIDE 21

Row Reordering, Smoothing, Extra Friction Iterations

Atlas grasp with Sandia hand (payload = 5.39kg) Extensions to Open Dynamics Engines Standard ODE vs. Reordered PGS + Extra Friction Iters. + Contact Residual Smoothing Cylinder slip distance vs. sim time.

slide-22
SLIDE 22

Row Reordering, Smoothing, Extra Friction Iterations

Atlas Dynamic Stand Feet Contact Drift Test Extensions to Open Dynamics Engines Standard ODE vs. Reordered PGS + Extra Friction Iters. + Contact Residual Smoothing Left foot CG drift dist. vs. sim time

slide-23
SLIDE 23

PGS Warm Start, Residual Smoothing

  • Warm starting by using solution from previous time step as initial value:
  • Warm starting PGS appear to help reduce constraint error (figure in next

slide).

  • But to prevent unwanted instability, we reduced β to 0.5 or VRC.
  • Additional contact constraint λ-smoothing added to help stabilize physics:

Extensions to Open Dynamics Engines

slide-24
SLIDE 24

PGS Warm Start

Atlas dynamic stand behavior. Warm start values: 0, 0.5 and 1.0 Extensions to Open Dynamics Engines

  • sim. time (sec)

β=0 β=0.5 β=1 Bilateral constraint error (m/s)

slide-25
SLIDE 25

Results and Discussions

  • Atlas walking demo
slide-26
SLIDE 26

PGS Warm Start

  • Atlas walking demo

Extensions to Open Dynamics Engines

Warm Start β: 0 0.5 1.0 KE RMS Jv bilateral RMS Δλ

slide-27
SLIDE 27

Results and Discussions

  • Atlas walking demo

KE RMS Jv bilateral PGS Iterations: 50 100 200 RMS Δλ

slide-28
SLIDE 28

Results and Discussions

  • Atlas walking demo

VRC

slide-29
SLIDE 29

Future Work

New physics engines in Gazebo Bullet: Erwin Coumans, AMD (gaming) Simbody: Michael Sherman, Stanford (biomechanics) DART (RTQL8): Karen Liu, Georgia Tech (animation) Plugin architecture for physics Common data formats (HDF5)

gazebosim.org

slide-30
SLIDE 30

OSRF Sponsors