Getting Started with Simulation Construction Set - ihmcrobotics/ihmc-open-robotics-software-tutorials GitHub Wiki

Introduction

Welcome! This set of pages will help you get familiar with the Simulation Construction Set (Version) 2. SCS2 is a full-featured software package for easily and quickly creating simulations of mechanical devices, biomechanical systems, and robots. With it you can:

  • Accurately and quickly (Order N) simulate rigid body physics.
  • Access all joint positions, velocities, and torques.
  • Define ground contour and ground contact models.
  • Plot real-time graphs of any variable.
  • Playback and rewind your simulations.
  • Record and save data.
  • Easily generate 3D graphics with texture mapping and camera controls.
  • Import graphics from 3ds and vrml file formats.
  • Modify parameters as your simulation is running.
  • Expand your simulations using the Java based Application Programmers Interface (API).
  • Output JPG images and QuickTime Movies with the click of a button.

SCS2 is easy to use, yet powerful enough for quickly creating complex simulations of robotic devices. Arbitrary control can be added to these devices as each degree of freedom automatically has a simulated actuator associated with it. For power users, the simulations are easily extensible, as they are implemented 100% in Java, with a documented Application Programmers Interface (API). With SCS2, you can be on your way to simulating complex robotic systems without going through the tedious and error prone process of manually calculating equations of motion. You'll get immediate instantaneous feedback through both cartoon animations of your simulation, and through plots of any simulation variable. You'll have the power to quickly tweak your robot designs and control systems by the easy modification of your simulations.

Note: this tutorial set assumes you have followed the Setting up the Development Environment guide and know a bit about Java. If you do not know how to program in Java, pick up a good book or two. We recommend Bruce Eckel's "Thinking in Java", which can be downloaded for free at bruceeckel.com.

Let's get into a breakdown of the pages in this set.

  • Importing Simulation Construction Set Examples: This pages explains how to import the simulation-construction-set-examples project in Eclipse.

  • Example 1: Mobile Simulation: In this example, we will simulate a child's mobile toy that uses a tree structure of 21 gimbal joints (63 degrees of freedom total) in SCS2. Going through this first tutorial will help familiarize you with the structure of an SCS2 simulation program, and by the end of the tutorial you should be able to create and simulate simple passive systems with pin joints.

  • Example 2: Simple Pendulum Without Controller: In this tutorial, we will create a simple simulation of a simple pendulum.

  • Example 3: Simple Pendulum With Controller: In this tutorial we will illustrate the action of a controller on joints by forcing the pendulum to keep a horizontal position. To this end we will write a simple PID controller that will adjust the torque of the pin-joint at the fulcrum.

  • Simple Pendulum: Feedforward Compensation: This page offers a challenge to improve the calculated torque of the controller for the simple pendulum example through the introduction of a concept called feedforward compensation.

  • Example 4: Falling Brick: In this tutorial we will create a simulation of a brick falling on a wavy ground. You will gain more experience with specifying ground contact, terrain, and damping.

Let's get started with Importing Simulation Construction Set Examples Project!