This is a collection of scripts to automate common ROS workflows like e.g. creating nodes, packages, workspaces, ...
| CMD commands: | Supported Parameters: | Function: |
|---|---|---|
--cn <directoy_path> <file_name> <programming_language> |
python or cpp |
Create a new node based on a template for a certain programming language. |
--cnp <path_for_the_package> <name_of_the_package> <programming_language> |
python or cpp |
Create a new python or C/C++ package. |
--cip <path_for_the_package> <name_of_the _package> |
- | Create a new package for interfaces and add some basic configuration. |
--cw <path_of_the_workspace> <name_of_the_workspace> |
- | Create and source a new workspace. |
--bp <path_to_workspace> <package_name> |
* or <custom_name> |
Build a certain package by providing a name. In order to build all packages of a workspace provide "*". |
--ci <path_of_the_package> <name_for_the_interface> <type_of_the_interface> |
action, msg, svg |
Create a new custom interface for actions, topics and services and add it to the configuration file. |
TODO: Add an installation script TODO: Explaing how to use the script TODO: Explain the manual installation
Everyone is welcome to particiate in this project - whether you want to improve the documentation, implement a feature, fix a bug,... All contribution is governed under the Apache 2.0 License. Please respect the NOTICE.md. Please see the full CONTRIBUTING.md for further guidlines. Since this project adheres to a CODE_OF_CONDUCT, you're expected to uphold this code.
This is how the repository is structured. Please follow this structure when contributing:
|-- rosToCMD // Folder containing the sub scripts
| |-- build_node.sh
| |-- ...
|
|-- schemas // Folder containing templates
| |-- cpp_node.txt
| |-- ...
|
|-- CODE_OF_CONDUCT.md
|-- CONTRIBUTING.md
|-- LICENSE
|-- NOTICE.md
|-- rosToCMD.sh // This is the main script
If you fork and redistribute ROS-TO-CMD, please include the following attribution in your documentation:
Based on ROS-TO-CMD by Fabian Roland (naibaf-1)
You can contact me through Github - just open an Issue or submit a pull request.
Since no personal data is required, this app doesn't store any data. This also means that no data can be transmitted to e.g. exteral services. All data remains anonymous and local.
These scripts do not gather and share any kind of data. Everything runs fully offline and local on your device. The project itself is licensed under the Apache 2.0 License. Please follow the instructions provided by the NOTICE.md
This project uses some code examples by Packt as templates. Those files are gathered within the schemas folder and licensed under the MIT license. You can obtain a copy of the license at the end of the NOTICE.md file.
This project is just aimed to help developers, especially newcomers, to learn how to work with ROS2. Since it is just meant to speed things up, it is not intended to improve your skills, projects,.... No warranty for anything is provided.