#Klamp't
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.
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, pull the Klamp't image:
$ docker pull stevekuznetsov/klamptNext, run the container. On RPM Linux (like Red Hat or Fedora), use:
$ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --name klampt stevekuznetsov/klampt:latestThe command is explained below:
$ docker run -it \ # keeps the container active
-v /tmp/.X11-unix:/tmp/.X11-unix \ # mounts the x11 socket
-e DISPLAY=unix$DISPLAY \ # connects displays
--name klampt \ # names the container
stevekuznetsov/klampt:latestOn Debian Linux (like Ubuntu), use:
$ docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -v $HOME/.Xauthority:/home/Klampt/.Xauthority -e XAUTHORITY=/home/Klampt/.Xauthority --net=host --name klampt stevekuznetsov/klampt:latestThe command is explained below:
$ docker run -it \ # keeps the container active
-v /tmp/.X11-unix:/tmp/.X11-unix \ # mounts the x11 socket
-e DISPLAY=unix$DISPLAY \ # connects displays
-v $HOME/.Xauthority:/home/Klampt/.Xauthority \ # mounts the Xauthority files
-e XAUTHORITY=/home/Klampt/.Xauthority \ # allows the container to connect to the X server
--net=host # places container inside host's network stack
--name klampt \ # names the container
stevekuznetsov/klampt:latestOn Windows, you need to get Xming and install it, then run:
> Xming.exe :0 -multiwindow -clipboard -ac
> docker run -e DISPLAY=192.168.99.1:0 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):
$ docker run -e DISPLAY=192.168.99.1:0 stevekuznetsov/klampt:latestFinally, if XQuartz did not start automatically, start it:
$ open -a XQuartzOnce 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:/etc/Klampt/data/usr. For instance, the RPM Linux run command, if there is data at /home/myuser/klamptdata, would look like:
docker run -it \ # keeps the container active
-v /tmp/.X11-unix:/tmp/.X11-unix \ # mounts the x11 socket
-e DISPLAY=unix$DISPLAY \ # connects displays
--name klampt \ # names the container
-v /home/myuser/klamptdata:/home/Klampt/data # shares data with the container
stevekuznetsov/klampt:latestThen, use the internal tools inside of the container (i.e. SimTest, RobotTest, etc.) on your files. They will be found in /home/Klampt/data/usr.
A local installation tutorial for Linux and Windows can be found here:
http://motion.pratt.duke.edu/klampt/tutorial_install.html
Kris Hauser Duke University kris.hauser@duke.edu