A robot simulation, planning, and control package from Indiana University / Duke University.
More information can be found on the website:
The manual is also available in the Documentation folder.
More information on installing from source on Linux or Mac OSX and binaries on Windows can be found here:
http://motion.pratt.duke.edu/klampt/tutorial_install.html
Using Docker to run this application is the easiest way to install and use Klamp't on your machine. In order to use this method, you must download and set up Docker. Tutorials are available for OSX, Linux and Windows.
Once you've installed Docker, run the container.
On RPM Linux (like Red Hat or Fedora), use:
$ docker run -it -e DISPLAY=unix$DISPLAY -w /etc/Klampt --name klampt -v /tmp/.X11-unix:/tmp/.X11-unix stevekuznetsov/klampt:latest
On Debian Linux (like Ubuntu), use:
$ docker run -it -e DISPLAY=unix$DISPLAY -w /etc/Klampt --name klampt -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/home/Klampt/.Xauthority -e XAUTHORITY=/home/Klampt/.Xauthority --net=host stevekuznetsov/klampt:latest
On Windows, you need to get Xming
and install it, then run:
> Xming.exe :0 -multiwindow -clipboard -ac
> docker run -it -e DISPLAY=192.168.99.1:0 -w /etc/Klampt --name klampt stevekuznetsov/klampt:latest
On Mac, run the following in iTerm.app or Terminal.app:
$ brew install socat
$ brew cask install xquartz
$ socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
Then, in whatever terminal you like (can be the same as above), but not in the Docker terminal, run:
$ docker run -it -e DISPLAY=192.168.99.1:0 -w /etc/Klampt --name klampt stevekuznetsov/klampt:latest
Finally, if XQuartz
did not start automatically, start it:
$ open -a XQuartz
The parts of the docker run
command are explained below. Not all parts apply to every operating system.
Command | Description | Operating Systems |
---|---|---|
-it |
keeps the container active | all |
-e DISPLAY=unix$DISPLAY |
connects displays | all |
--name klampt |
names the container | all |
-w /etc/Klampt |
sets working directory | all |
-v /tmp/.X11-unix:/tmp/.X11-unix |
mounts the x11 socket | all Linux |
-v $HOME/.Xauthority:/home/Klampt/.Xauthority |
mounts the Xauthority files | Debian Linux |
-e XAUTHORITY=/home/Klampt/.Xauthority |
allows the container to connect to the X server | Debian Linux |
--net=host |
places container inside host's network stack | Debian Linux |
stevekuznetsov/klampt:latest |
decides which image to run | all |
Once you've created your own scripts that you wish to run, save them in some directory on your host, and amend the docker run
command used above to include -v /path/to/your/data:/home/Klampt/data
. For instance, the RPM Linux run
command, if there is data at /home/myuser/klamptdata
, would look like:
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --name klampt \
-v /home/myuser/klamptdata:/home/Klampt/data \ # shares data with the container
stevekuznetsov/klampt:latest
Then, use the internal tools inside of the container (i.e. SimTest
, RobotTest
, etc.) on your files. They will be found in /home/Klampt/data
.
Kris Hauser Duke University kris.hauser@duke.edu