CS225A : Project Details

The primary focus of the class is to work on projects that involve implementing complex behaviors with robots. This year, we will support three project tracks. Follow your interests.

Track M: Robot Manipulation

Track T: Robot Teleoperation

Track H: Humanoids

The Robots.

Puma 500

Puma 500

The Puma's reliability and robustness have made it the workhorse of choice for many CS225A projects.

Kuka LWR

Kuka LWR

The Kuka's torque control and seven degrees of freedom make it ideal for complex manipulation tasks.

Kuka iiwa


The newest version of Kuka's lightweight arm, position controlled for simple programming.



This seven degree of freedom arm uses a slick cable-drive giving it low-inertia and great joint-torque control.

Kuka LWR

Novint Falcon

The Novint Falcon provides force feedback while teleoperating robots to perform manipulation tasks.

Project Resources


Instructions on how to use the iiwa are in the SCL wiki, under the Kuka iiwa Operation section.

Puma 560

Instructions on how to use the Puma are here.


  1. Turn on the system. Power on the power strip for the cameras. Look for a white power strip next to a black cisco box, with about 20 black ethernet cables coming out of it.
  2. Application. Login to the windows machine (right computer), using the StudentOptiTrack account. Open Motiv application on the desktop. Open existing camera calibration "10CamCalibration". Cameras will show up in the viewer as pyramid things.
  3. Specify rigid bodies. Click button "rigid body properties". It's the little button with four dots in a square, between the video tape icon and the person icon. Markers should show up in the viewer. Select the markers belonging to a rigid body. Click the "create from selection" button in the rigid body pane. Name the rigid body. In the display options, set orientation to true. In the orientation tab, you may "reset to current orientation" to do exactly that.
  4. Broadcast data. In the data streaming panel, check the "broadcast frame data" box.
  5. Collect data. On a linux machine, use the optitrack.cpp file (to be distributed). See the exampleCode.cpp for an example.
  6. Turn off the system. Logoff the windows machine. Shutoff the power strip for the cameras. Have a fantastic day.


We have one Microsoft Kinect.

Computer vision

We have two Point Grey GigE cameras. If you can localize objects in real-time, please share the code! It would be super useful for the lab's underwater robotic project.

Potential Projects

We encourage you to conceive your own projects. That said, feel free to draw ideas from some projects listed here.

Focus Area Project Idea Robots
Optimal Trajectory Generation Train a robot to be the fastest nerf gun slinger in the west. Puma, Kuka
Non-Convex Contact Manipulation Teach a robot to assemble a mountain of non-convex junk. Puma, Kuka
Soft-Contact Teleoperation Teleoperate a robot to perform surgery on soft objects. Falcon, Puma, Kuka
Human-Robot Transfer Learning Use human demonstrations to teach a robot to dance. Gangnam Style! Asimo
Synthesize Human Motions Teach a simulated biomechanical model to move like a human. Skeletor

    Designed by Samir Menon.
    © Stanford University.
    Last updated on Mar 25th, 2019