Skip to content

Code snippets used during a study of ROS 2. Majorly intermediary concepts

License

Notifications You must be signed in to change notification settings

VicTheM/Robot-Operating-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot-Operating-System

Code snippets used during a study of ROS 2. Majorly intermediary concepts

A FEW CONCEPTS TO NOTEI

A workspace is a folder that contain packages, and all the source for these packages will be housed in a subfolder called src. All sibling folder to the src folder ie (build, install and log) are generated automatically by the colcon build command

A packages is a self contained unit of code that houses all it needs and can be shared. Packages uses ament build system and colcon tool. packages can be built using either CMake or Python. A package is simply a folder in the src folder

EXAMPLE OF HOW A SIMPLE WORKSPACE COULD BE

workspace_folder/ src/ cpp_package_1/ CMakeLists.txt include/cpp_package_1/ package.xml src/

  py_package_1/
      package.xml
      resource/py_package_1
      setup.cfg
      setup.py
      py_package_1/
  ...
  cpp_package_n/
      CMakeLists.txt
      include/cpp_package_n/
      package.xml
      src/

This repo is organized as follows

  • two top level folders, both exclusively dedicated to rlcpy and rclcpp. I tried as much as possible to cover all ROS2 inbuilt concepts in both folders. Unfortunately, some things can only be done in cpp and not python, so they are not included in the python folder, and if other python things are dependent on them, then a little cpp will be written in the python folder. Example of such things we can't do with python is creating interfaces in ROS2. All interfaces (at the time of writing this in September 2024) must be created with ament_cmake package

  • Almost every sub-folder has a readme file explaining what is in each folder, so a parent folder will only explain its immediate directory and not that of the subfolders

  • Packages are named based on concepts that they cover

  • Nodes are not named based on concepts they cover

About

Code snippets used during a study of ROS 2. Majorly intermediary concepts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages