ROS2_pubsub/README.md

2.7 KiB

pubsub - Publisher & Subscriber Package

Publisher & Subscriber package as template package and source code.

Created for ROS Workshop 2020
Roverentwicklung für Explorationsaufgaben
Institute for Space Systems
University of Stuttgart.

Created by Patrick Winterhalder,
IRS, University of Stuttgart.

Workshop Prerequisites

  • Install Ubuntu 20.04
  • Install Visual Studio Code using Ubuntu Software
  • Install Git (no account required yet)
  • Install ROS2 ("desktop" on PC, "base" on Raspberry Pi). Do install argcomplete, no need for ROS 1 bridge or RMW implementations.
  • Install and update rosdep:
    • sudo apt install python3-rosdep2 -y
    • rosdep update
    • (sudo rosdep init)
  • Work through "Beginner: CLI Tools" tutorial
    • Configuring your ROS 2 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)
      • Configure ROS_DOMAIN_ID (DDS Network Number)
    • Cover 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 which is run everytime you start a new console.

During Workshop

  • Create workspace:
    • Install colcon: sudo apt install python3-colcon-common-extensions -y
  • Create packag inside ~/{workspace_name}/src:
    • 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 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
  • Instruction on how to create a custom message to interface between nodes