Remote Access to Lab Computers and Quick Start with ROS

To access the lab computers remotely, we suggest the methods described below. See more information if the suggested methods don't work.

Get a Computer

The lab computers are typically not running, therefore the computer has to be remotely started. To start a computer,
type ssh student@turtle.felk.cvut.cz (password xxx) and select the lab you like to get a computer from.

Use the exact username student and password xxx, for your username you will be asked later

Select a pool from which you want the computer from. Type yes if you are prompted to start the machine.
Use 0) Lab E:130 with TurtleBots (7x HP first floor) only if you need to interact with a physical turtlebot in the lab.
You'll be assigned a computer <target-computer> which you can connect to with one of the following methods (after waiting a minute or so). The computer will be started if it is not already running. Remember the <target-computer> eg. e132-21 for future use.

Note that the computer may still be shared with other students. If so, try getting another computer, or set your own roscore port to avoid conflicts.

Once you get your computer <target-computer>, you can access it through SSH or remote desktop.

SSH

Any SSH client can be used for a remote access from Linux or MacOS. Use PuTTY on Windows.

Connect to the <target-computer> you got above using a jump host (flag -J) and your <username> :
ssh -Y -J <username>@turtle.felk.cvut.cz <username>@<target-computer>
Flag -Y enables trusted X11 forwarding.

Then, you can directly run X applications. On Windows, you'll need to install an X server, e.g. Xming.

Using the remote desktop below may be preferred as it provides full access to the computer including X server and works better on low-quality connections.

Remote Desktop

Connect to the <target-computer> you got above using ssh:
(ssh -Y -J <username>@turtle.felk.cvut.cz <username>@<target-computer>)
You do not have to open new ssh connection if you already have one, you just need to have a shell to start remote-desktop server.

Start a desktop window manager accessible via Xpra:
remote-desktop start xpra Now you can close the ssh connection, if you don't need it, the remote-desktop will be still running.

Later, to list running desktops:
remote-desktop list
Or, to kill desktop on display :1:
remote-desktop stop 1

On your computer, download and install an Xpra client. (The version in the default Ubuntu 18.04 repository does not support proxy host.)

Run the client. Connect to the session started above, using mode SSH → SSH and proxy turtle.felk.cvut.cz.

Robot Operating System (ROS)

At labs (e.g., E130, E132), Robot Operating System (ROS) is available through Singularity containers.

Open terminal and run singularity image with Ubuntu 20.04 + ROS Noetic:
singularity shell --nv /opt/singularity/robolab/noetic
(--nv is needed for graphical output, e.g. RViz)
Then source common ARO catkin workspace:
source /opt/ros/aro/setup.bash

If you encounter strange behaviour in ros/rviz/gazebo it might be caused by somebody else is publishing on same topics.
You have to change roscore port and gazebo server port in such case.

export GAZEBO_MASTER_URI="http://localhost:54321"
export ROS_MASTER_URI="http://localhost:12345"
roslaunch -p 12345 aro_sim onlysim.launch
You can list all occupied ports by
netstat -ntl or a specific port by netstat -ntl|grep 12345

More Information

In case of technical difficulties with connecting you can drop an email to himmebed@fel.cvut.cz but describe in detail what are you trying to do and what is the result. Messages It doesn't work, help! will be ignored. Any constructive feedback is welcome.

For more details, see

courses/b3m33aro/tutorials/remote_access.txt · Last modified: 2022/02/17 15:39 by nekovfra