Skip to content

A project repo for robotics research and applications using drake and director.

License

Notifications You must be signed in to change notification settings

RobotLocomotion/spartan

Repository files navigation

Spartan

Build status on master branch:

http://spartan-jenkins.csail.mit.edu:8080/buildStatus/icon?job=spartan-master

Build status on master branch, using Drake and Director master branches:

http://spartan-jenkins.csail.mit.edu:8080/buildStatus/icon?job=spartan-master-on-drake-and-director-master

Documentation on how to operate the Kuka robot hardware can be found here.

Disclaimer (not supported for public use)

This is a project repository for robotics research and applications using Drake and Director. This repository is meant as an internal tool for the Robot Locomotion Group. It contains private submodules and is not supported for external use.

Docker Build instructions

The only supported way to build Spartan is with Docker. See build with Docker instructions here.

LCM Multicast Setup

Director relies on LCM for message passing. Since LCM uses UDP multicast a valid multicast route must always be defined. Follow the instructions here under the section "Using LCM on a Single Host." Basically you just need to run:

sudo ifconfig lo multicast
sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo

After restarting your computer these settings can be lost depending on your network configuration.

Drake and Director submodules

This project intends to track the master branches of these submodules, but the submodules are updated manually and only on demand, so they may not be completely up to date all the time.

It is ok to set the submodule reference to a personal branch hosted on a personal fork, as long as the changes in the branch are on track to be merged upstream in the near term, and as long as you are willing to rebase your branch onto upstream master on a frequent basis.

Scripts

You can add executable scripts to the scripts/bin folder. These scripts will appear in your PATH via the sourced environment file.

FAQ

  • If you get an error related to an LCM Self Test (e.g. in a director test), then it is likely your network is not allowing LCM packets to return via loopback. See https://lcm-proj.github.io/multicast_setup.html.
  • If you get an error related to being unable to find a shared library liblcm.so after calling make, you may not have called . build/setup_environment.sh (or, equivalently, use_spartan). These commands work only after calling cmake, so run the CMake configuration -- then source the environment setup file -- then run make.

Code Style

Other useful documentation