ROS2_pubsub/non-ros-files/Programming_Rules.md

1.5 KiB

Rules for programming with Python in ROS2

File Structure

colcon_workspace  
      |  
      |- build     (holds build files)
      |- install   (holds build elements)
      |- src       (contains your source code - this is where you work)

Colcon Build

Performing a colcon build is neccessary after every change to the src directory. This must be performed in the root of the colcon workspace (eg. cd ~/colcon_ws).

In order to avoid this procedure after every change made to a Python script you must run colcon build --symlink-install once. This links the files created in /build and /install to your source files in /src. However, after creating a new Python script this procedure must be repeated in order to also link this new script.

Source Directory

The source directory holds your ROS2 packages as further directories. In this example the src directory contains the packages pubsub and pubsub_msg:

colcon_workspace/
      |
      |- src/
          |
          |- pubsub/
          |- pubsub_msg/

setup.py

The file <colcon_ws>/<package_dir>/setup.py defines how to call your scripts using the command line. This results in commands such as
ros2 run pubsub talker
ros2 run pubsub listener.
This is done by linking the names talker and listener to the Python scripts of your choice, eg.

entry_points={
   'console_scripts': [
       'talker = pubsub.talker:main',
       'listener = pubsub.listener:main'
   ],
},