Update 'README.md'

This commit is contained in:
winterhalderp 2021-03-16 14:48:43 +01:00
parent 31f7efef32
commit c7d841d01f
1 changed files with 20 additions and 16 deletions

View File

@ -24,27 +24,31 @@ For the workshop to be conducted on your Ubuntu 20.04 (64 bit) you must conduct
* 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)
* Source setup files (Understand **Underlay** & **Overlay**)
* Configure .bashrc file (shell startup script), a good example is [here](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/rpi_install.bash), line 50-95)
* Add colcon_cd to .bashrc (shell startup script)
* Check environment variables (check for correct installation)
* Configure ROS_DOMAIN_ID (DDS Network Number)
* Cover turtlesim, rqt, topics, services, actions
* Configure *ROS_DOMAIN_ID* (DDS Network Number)
* Work through the tutorials covering _turtlesim, rqt, topics, services, actions_
## Install Instructions
* Move to colcon workspace: `cd <workspace_path>`
* Clone repository: `git clone git://github.com/patrickw135/pubsub.git .` (include the . at the end)
* Build workspace: `colcon build`
__Note:__ Only the files inside _src/_ are of importance.
* 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.
* Move to colcon workspace: `cd <workspace_path>`, eg. `cd ~/colcon_ws`
* Clone repository: `git clone git://github.com/patrickw135/pubsub.git .` (include "`.`" at the end of the command !!)
* Build workspace: `colcon build` , __Note:__ Only the files inside _/src/_ are of importance.
* 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) (line 22-32) which is run everytime you start a new console.
This is also handy if you are working with multiple colcon workspaces simultaneously.
## During Workshop
* Create workspace:
* Install [_colcon_](https://index.ros.org/doc/ros2/Tutorials/Colcon-Tutorial/#colcon): `sudo apt install python3-colcon-common-extensions -y`
* Create packag inside _~/{workspace_name}/src_:
In this workshop you will:
* Create a new colcon workspace
* Create a new package inside you new colcon workspace
* `ros2 pkg create --build-type [ament_cmake, ament-python] <package_name>`
* Go back up one layer: `cd ..`
* Build workspace: `colcon build --symlink-install`
* 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
* Build your workspace, this means making it a functional ROS2 workspace from which you can start nodes:
* First move to your workspace root: `cd ~/<workspace_path>`
* Run `colcon build --symlink-install`
* Add your newly created workspace to source everytime you open a new console (.bashrc):
* Add [this](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/bashrc_addons.bash) to end of .bashrc (`sudo nano .bashrc`)
* In the template above find all instances of "`~/ws_overlay_foxy`" and replace it with your path to your colcon workspace (keep the home directory variable `$HOME` as this indicates `~/` in bash script)
* Create a custom message (*.msg) in order to define custom interfaces between nodes by following these following [these instructions](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/instructions_custom_topics.md).