Please, try to follow this instructions based on your system. Linux is recommended, but other may work. Mac computers with arm64 processors (M1, M2) will not probably work. In case of any questions, ask Lukáš Rustler (email, forum, or in some cases Discord).
The official installation guide is available here. For Windows and Mac, binaries are available to be downloaded. For Linux, we recommend to install only docker engine (named 'Server' in the link). You need to choose your distribution and follow the guide for installation from repository (recommended), .deb package, or with a convenience script.
Docker now requires WSL2. It should install automatically with Docker, but it may happen that something go wrong. If you run Docker and you still see Docker engine starting
, the installation of WSL is probably not correct. In that case, open PowerShell and type wsl -l -v
. If nothing happens (the output is empty) then you probably need to update to WSL2. First thing to do is wsl –set-default-version 2
(there is double dash in front of 'set'), then install this patch WSL2 kernel patch and restart docker engine.
Image version:
./run.sh link_path container_name image_name
xhost local:root && ./run_direct.sh link_path container_name image_name
link_path
- path on your computer, which will be visible in Docker. You can use this path to easily share files to/from Docker.
./run.sh /home/my_user/data
container_name
- name of the container, which can be used to stop, start, …
image_name
- name of the image to be downloaded.
docker pull b3m33hro/labs:new
<image_name>
is an arbitrary name for your image, e.g., hro_image
docker tag b3m33hro/labs:new <image_name>
-it
is for interactive mode. -p
determines which ports will be accessible from the host system. <container_name>
is an arbitrary name of your container, e.g., hro
. -v
specifies which folder will be shared between the container and the host system (optional). <image_name>
is the name selected in the previous step.
docker run -it -p 6080:6080 -p 8888:8888 --name <container_name> -v path_to_data_folder_host_system:/root/data <image_name>
-v C:\Users\my_user\data:/root/data
xhost local:root && docker run -it -e "DISPLAY" -e "QT_X11_NO_MITSHM=1" -e "XAUTHORITY=${XAUTH}" -v ~/.Xauthority:/root/.Xauthority:rw -v "/tmp/.X11-unix:/tmp/.X11-unix:rw" -v /dev:/dev -v /etc/hosts:/etc/hosts --network host --privileged --name <container_path> -v path_on_your_computer_to_shape:/root/data <image_name>
1. VNC (Windows, Linux) - this method runs VNC server and you can see everything in your browser
vnc && start-vnc-session.sh
http://localhost:6080
to the address bar. A window with a Linux environment should open.
start-vnc-session.sh
again.
2. Direct (Linux only) - this runs the programs directly
xhost local:root
choregraphe
654e-4564-153c-6518-2f44-7562-206e-4c60-5f47-5f45
Edit→Preferences→Virtual robot
—chose Pepper V16 robot. Next time you can run only choregraphe
and Pepper will be there.
/root/Install-RoboDK
. The program can be then run with command /installation_path/RoboDK-Start.sh
(where installation_path
is /RoboDK
in default), or with Desktop icon.
xhost local:root before the scripts
docker stop <container_name>
CTRL+D
exit
docker start <container_name> docker attach <container_name>
docker exec -it <container_name> /bin/bash
docker container rm <container_name>
docker system prune -a
graspit_simulator
jupyter-notebook
. Open a browser (in container or in the host machine) and enter http://localhost:8888
and you should see Jupyter notebook interface.
git clone https://gitlab.fel.cvut.cz/body-schema/teaching/b3m33hro-labs.git cd b3m33hro-labs/lab3/tutorial_cartesian-interface/smoke-test ./test.sh
In case of problems with Docker on your computer, you can use Docker on Gitpod. Gitpod allows running Docker images on their servers for free (each registered user can use 50 hours per month).
/workspace
will be saved after you stop and start the workspace again!
docker run
and others are needed
root
. If not, please run su
with password root
.
Everything should work almost the same as in the local installation, but server resources are used. However, you can not link folder from your PC as in the case of local Docker. You can either use data only in docker, or there are several ways how to share code:
/workspace
and linked to /root/workspace
ssh-keygen -t rsa
and press Enter few times, then cat ~/.ssh/id_rsa.pub
, copy the output to Github SSH keys settings. And then change the origin of the repo (there is HTTPS access as default and you cannot push with HTTPS anymore) as git remote set-url origin <your_new_ssh_adress>
. The ssh address can be found when you go to your github repository and click on 'Clone' button.
-v
option in local Docker installation.
You can copy/paste things to the Gitpod workspace terminals, but you need to approve it (popup window with the question should appear after you first try to paste something).)
./mount_data rustlluk
chmod +x script_name
/usr/bin/
to make run them easier.
sudo ln -s /home/your_user/scripts/restart_docker /usr/bin/restart_docker
will link the script and then you can run it easily as restart_docker
from any directory
apt update
will most probably be needed to be run first. Else you will get no package …
error.
$(lsb_release -cs)
when adding the repository, but use name of Ubuntu version corresponding to your Ubuntu kernel from Ubuntu versions.
some_path/smoke-test/fixtures/fixture.xml
in the given project you want to test and remove/comment the whole <module>
section containing gzclient
.
top
or htop
and kill it (look for anything with yarp, gz, iCartesian* etc.). However, using pkill -f gz
, pkill -f yarp
and pkill -f tutorial
should be enough in most cases to kill all Gazebo and Yarp related things.
You need to install Robotology superbuild, GraspIt!, gpd, Python 2.7 and 3.X. Optionally, ROS is needed. You can check Dockerfile to get an idea of how everything is installed.