For the workshop to be conducted on your Ubuntu 20.04 (64 bit) you must conduct [this installation for desktop machines](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/workshopinstall.sh) or [this installation for the Raspberry Pi](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/rpi_install.bash). Go through the bash commands (console) step by step!
* Install [ROS2](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/) ("desktop" on PC, "base" on Raspberry Pi).
* Also install _argcomplete_
* No need for _ROS 1 bridge_ or _RMW implementations_
* Install and update _rosdep_
After a successful installation of ROS2 you should get to know it by working through the ["Beginner: CLI Tools"](https://index.ros.org/doc/ros2/Tutorials/) tutorial. This will teach you how to [configure your ROS 2 environment](https://index.ros.org/doc/ros2/Tutorials/Configuring-ROS2-Environment/):
* Source setup files (underlay, overlay)
* Configure .bashrc (shell startup script)
* Add colcon_cd to .bashrc (shell startup script)
* Check environment variables (check for correct installation)
* Remember to run `source ~/<workspace_path>/install/local_setup.sh` after every build. Best would be to [add this command to _.bashrc_](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/bashrc_addons.bash) which is run everytime you start a new console.
* Add [this](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/bashrc_addons.bash) to end of .bashrc (`sudo nano .bashrc`), find all instances of "`~/ws_overlay_foxy`" and replace it with your local path to your colcon workspace
* Follow [these instructions](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/instructions_custom_topics.md) to create a custom message to define the interface between nodes