-
Notifications
You must be signed in to change notification settings - Fork 0
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.
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.
- 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
- 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
- UML notations
- code documentation using Doxygen and Sphynx, my readme template for project
- Jupyter support
- Gazebo and RViz
- ROS bridge