Configuration Space Visualization of 2-D Robotic Manipulator



Your browser does not support <canvas>.
Simulation Mode:
— the robot’s arms, base and obstacles are fully adjustable
— only the robot's configuration may be changed (arm angles)
— click or drag the robot's end effector to position the robot.
Simulation Control:

Prof. Ron Alterovitz's Robotics courses


This is a simulation of a robot with two revolute joints in a plane. The region on the left is the robot's workspace. You may configure the robot‘s arm lengths and the polygonal obstacles it encounters. Updating the workspace will also result in updating the configuration-space visualization in the region on the right.

The configuration space, or “C-Space”, of a robot is the space of possible positions the robot may attain. The X-axis in this view is the orientation of the first link. The Y-axis is the orientation of the second link. As you play around with the simluation, watch how the “+” moves in the configuration space—that’s the current configuration of the robot.


This simulator requires a browser capable of SVG and Canvas. It has been tested in Firefox, Chrome, and Safari. Internet Explorer 9+ might work, but is untested (anything earlier is unlikely).


Simulation Setup (Setup Mode)

  • Drag the robot by its base to move it.
  • Drag the robot's joint and end effector to change its layout.
  • Click on robot's background to draw polygon obstacles. Double-click to close a polygon.
  • Click and drag obstacles to move them.

Configuration (Configuration Mode)

  • Drag the robot's joint and end effector to change its configuration. Arm lengths will not change.
  • Click and drag in C-Space view to visualize robot's configuration in the workspace.

Move the Robot (Inverse Kinematic)

  • Click and drag around in the workspace, and the robot will try to orient to reach the position of the mouse.