Find the Robot¶
The robots have been placed in a secluded area in the classroom. You are not allowed to enter said area.
However, you are allowed to connect to the robot’s wifi network. The wifi password is the same as usual.
The robot’s own password has been changed, so you cannot ssh into the robot directly.
Your task is to use ROS2 tools to find a theoretical way how you could move the robot.
The next task is to write code to actually move the robot out of the secluded area, to you. But first, find a way and make a plan.
Install ROS2¶
You will need to install ROS2 on your system.
Start by authorizing an appropriate GPG key.
$ sudo apt update && sudo apt install curl gnupg2 lsb-release
$ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Then add the repository to sources list.
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Now update the apt repository caches.
$ sudo apt update
Install ROS2 and argcomplete.
$ sudo apt install ros-foxy-desktop
$ sudo apt install -y python3-argcomplete
Source the environment. It will complain a bit.
$ source /opt/ros/foxy/setup.bash
To get rid of the complaints, you’ll need to modify the .bashrc
file a bit.
Open up the ~/.bashrc
file using your favourite test editor (ask an instructor if you have trouble finding it), comment out the line that sources /opt/ros/noetic/setup.bash
and instead add the following line to the end:
$ source /opt/ros/foxy/setup.bash
Then you can close and re-open a terminal. It should not complain anymore.
Hack the robot¶
Now find a way to take over control of the robot. Use ROS2 tools for this.