all non-ros-files moved to folder and linked correctly
This commit is contained in:
parent
b84fa548de
commit
91bac99e0f
47
README.md
47
README.md
@ -1,59 +1,58 @@
|
|||||||
# pubsub - Publisher & Subscriber Package
|
# pubsub - Publisher & Subscriber Package
|
||||||
Minimal Publisher & Subscriber Template for ROS2.
|
Minimal Publisher & Subscriber Template for ROS2.
|
||||||
|
|
||||||
```
|
```
|
||||||
Created for ROS Workshop 2020
|
Created for ROS Workshop 2020
|
||||||
Course Roverentwicklung für Explorationsaufgaben
|
Course Roverentwicklung für Explorationsaufgaben
|
||||||
Institute for Space Systems
|
Institute for Space Systems
|
||||||
University of Stuttgart.
|
University of Stuttgart.
|
||||||
```
|
```
|
||||||
|
Class Code created by [Patrick Winterhalder](https://www.irs.uni-stuttgart.de/en/institute/team/Winterhalder/),
|
||||||
Created by Patrick Winterhalder,
|
[IRS](https://www.irs.uni-stuttgart.de), University of Stuttgart.
|
||||||
[IRS](https://www.irs.uni-stuttgart.de/en/institute/team/Winterhalder/), University of Stuttgart.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Workshop Prerequisites
|
## Workshop Prerequisites
|
||||||
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!
|
In order to run ROS2 you must install **Ubuntu 20.04 LTS** on a capable machine (preferrably desktop/laptop) first.
|
||||||
|
|
||||||
* Install [Ubuntu 20.04](https://help.ubuntu.com/lts/installation-guide/index.html)
|
* Install [Ubuntu 20.04](https://help.ubuntu.com/lts/installation-guide/index.html)
|
||||||
|
|
||||||
|
For a successful workshop you must conduct [this installation on your desktop machine](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/workshopinstall.sh) or [this installation on your Raspberry Pi](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/rpi_install.bash). Go through the commands of these *.bash file line by line and check if every commands finishes without errors! Following these .bash files should do the following:
|
||||||
|
|
||||||
* Install Visual Studio Code using the [Ubuntu Software Installer](https://wiki.ubuntuusers.de/Ubuntu_Software/)
|
* Install Visual Studio Code using the [Ubuntu Software Installer](https://wiki.ubuntuusers.de/Ubuntu_Software/)
|
||||||
* Install [Git](https://linuxconfig.org/how-to-install-git-on-ubuntu-20-04-lts-focal-fossa-linux) (no account required yet)
|
* Install [Git](https://linuxconfig.org/how-to-install-git-on-ubuntu-20-04-lts-focal-fossa-linux) (no account required yet)
|
||||||
* Install [ROS2](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/) ("desktop" on PC, "base" on Raspberry Pi).
|
* Install [ROS2](https://index.ros.org/doc/ros2/Installation/Foxy/Linux-Install-Debians/) (choose "desktop" on PC or "base" on Raspberry Pi, this eliminates all GUI tools from the installation, e.g. rviz and rqt).
|
||||||
* Also install _argcomplete_
|
* Also install _argcomplete_
|
||||||
* No need for _ROS 1 bridge_ or _RMW implementations_
|
* No need for _ROS 1 bridge_ or _RMW implementations_
|
||||||
* Install and update _rosdep_
|
* 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/):
|
After successfully installing 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/) and you will learn about:
|
||||||
* 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)
|
* Source setup files (understand **Underlay** & **Overlay**)
|
||||||
* Add colcon_cd to .bashrc (shell startup script)
|
* Configure .bashrc file (shell startup script), a good example is [here](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/rpi_install.bash), line 50-95)
|
||||||
|
* Add all _colcon_ workspaces to the shell startup script
|
||||||
* Check environment variables (check for correct installation)
|
* Check environment variables (check for correct installation)
|
||||||
* Configure *ROS_DOMAIN_ID* (DDS Network Number)
|
* Configure *ROS_DOMAIN_ID* (DDS Network Number)
|
||||||
* Work through the tutorials covering _turtlesim, rqt, topics, services, actions_
|
* Work through the tutorials covering _turtlesim, rqt, topics, services, actions_
|
||||||
|
|
||||||
## Install Instructions
|
## Install Instructions
|
||||||
|
The following steps describe how you can create a local copy of this repository containing ROS2 publisher and subscriber class templates.
|
||||||
* Move to your colcon workspace `cd <workspace_path>` (eg. `cd ~/colcon_ws`)
|
* Move to your colcon workspace `cd <workspace_path>` (eg. `cd ~/colcon_ws`)
|
||||||
* Clone this repository: `git clone https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub.git .` (include `.` at the end of the command !!)
|
* Clone this repository: `git clone https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub.git .` (include `.` at the end of the command in oder to copy everything to this locations!)
|
||||||
* Build workspace: `colcon build` , __Note:__ Only the files inside _/src/_ are of importance.
|
* 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.
|
* Remember to run `source ~/<workspace_path>/install/local_setup.sh` after every build.
|
||||||
In order to prevent this repetitive command add [this command to _.bashrc_](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/bashrc_addons.bash) (line 22-32). This runs everytime you start a new console.
|
In order to avoid this repetitive command, add line 22-32 from [_.bashrc_](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/nonros-files/bashrc_addons.bash) to your shell startup script. This script runs everytime you start a new console, thus loading your overlays automatically. This is very handy if you are working with multiple colcon workspaces (overlays) simultaneously.
|
||||||
This is also handy if you are working with multiple colcon workspaces (overlays) simultaneously.
|
|
||||||
|
|
||||||
|
|
||||||
## Workshop Content
|
## Workshop Content
|
||||||
In this workshop you will:
|
In this workshop you will:
|
||||||
* Create a new colcon workspace
|
* Create a new _colcon_ workspace
|
||||||
* Create a new package inside you new colcon workspace
|
* Create a new package inside your newly created _colcon_ workspace
|
||||||
* `ros2 pkg create --build-type [ament_cmake, ament-python] <package_name>`
|
* `ros2 pkg create --build-type [ament_cmake, ament-python] <package_name>`
|
||||||
* Build your workspace, this means making it a functional ROS2 workspace from which you can start nodes:
|
* Build your _colcon_ workspace, this means making it a functional ROS2 workspace from which you can start nodes:
|
||||||
* First move to your workspace root: `cd ~/<workspace_path>`
|
* First move to your workspace root: `cd ~/<workspace_path>`
|
||||||
* Run `colcon build --symlink-install`
|
* Run `colcon build --symlink-install`
|
||||||
* Add your newly created workspace to source everytime you open a new console (.bashrc):
|
* Add your workspace overlay to the shell startup script for sourcing everytime you open 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`)
|
* Add [this](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/bashrc_addons.bash) to the 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)
|
* In [this template](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/bashrc_addons.bash) find all instances of "`~/ws_overlay_foxy`" and replace it with the path to your own _colcon_ workspace (replace `~/` with `$HOME` for representing the home directory variable in bash scripts)
|
||||||
* 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).
|
* Create a custom ROS message (*.msg) in order to define custom topics to exchange information between nodes by following [these instructions](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/instructions_custom_topics.md).
|
||||||
|
|
||||||
## Presentation
|
## Presentation
|
||||||
The workshop's content is covered in [this presentation](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/ws-05-ros-workshop%20%281%29.pdf).
|
The workshop's content is covered in [this presentation](https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub/src/branch/master/non-ros-files/ws-05-ros-workshop%20%281%29.pdf).
|
Loading…
Reference in New Issue
Block a user