Skip to content
Francesco Ganci edited this page Jun 26, 2022 · 6 revisions

the ROS cheatsheets Project -- Home

Welcome to the ros-cheatsheets wiki!

When I have to build something with this framework (and the same holds for every other programming work) I just want to implement a structure and reach the result I have in mind, and not to bother me every time in searching always the same information I saw before, falling into very silly bugs and slowing down the stream of thoughts. Another problem is that I don't use ROS every day, hence it makes sense to forget some name as well as to forget some trick. I just wanna build something with this framework, as quicker as possible. I'm not interested in rewriting the same code every time by hand: I used before a piece of code, and I want to re-use it, just copy and paste. This is the reason why this work is so important for me: working quickly is something which helps me a lot to reason about the scientific part of the project, that is the most interesting one.

After the first writing, it is relatively easy to discuss the work and evaluate if it works as expected, or some improvements are needed. The first writing must be, in my opinion, as faster as possible, and not contaminating the design phase with stupid bugs.

TODO -- my roadmap

Here's the roadmap of the project. The aim is to collect here a clear and quick to use "toolbox" to speed up the development with ROS framework. We're mainly dealing here with the usability of the ROS framework, which is a very important aspect for every software framework, a bit neglected in this context.

About ROS1

  • ROS1 setup and Docker setup
  • ROS1 launch
  • ROS1 workflow
  • 🔁 ROS1 C++ roscpp
  • ROS1 Python rospy
  • ROS1 catkin_make and CMake files, how to add libraries and dependencies, common dependencies
  • ROS1 bash scripting and ROS specific commands (at least the most useful ones)
  • ROS1 how to create custom messages and services, standard messages
  • 🔁 ROS1 nodes templates
  • ROS1 package templates
  • ROS1 tools, already implemented frameworks

About ROS2

  • ROS2 setup and Docker setup
  • ROS2 workflow
  • ROS2 how to use Colcon to manage the most typical operations
  • ROS2 C++ packages
  • ROS2 Python packages
  • ROS2 custom services and messages, standard messages
  • ROS2 bash
  • ROS2 dev tools
  • ROS2 nodes templates

Others

  • UML notations
  • code documentation using Doxygen and Sphynx, my readme template for project
  • Jupyter support
  • Gazebo and RViz
  • ROS bridge
Clone this wiki locally