Create ROS2 lifecycle package boilerplate from a minimal config file
Project description
ROS2 lifecycle package creator
Generate boilerplate source, CMakeLists.txt, launch, package.xml and readme files for ROS2 lifecycle nodes upto a minimum compilable package.
This package works best with standard ROS2 messages and for custom interfaces follow the naming conventions like in ROS2 official packages.
Install and run locally using poetry
- make sure poetry is installed, then run
# from top level (same where README.md is located)
poetry install
- enter the poetry env
eval $(poetry env activate)
- now run
ros2-lifecycle-pkg-create --help
Run locally without poetry
- install dependencies
pip install jinja2 pyyaml
- run
python src/main.py --config example/object_segmenter.yaml --target_dir /path/to/ros2_ws/src/example_pkg
What this package generates
node.cppnode.hppmain.cppexecutablenode.launch.pywith activated nodepackage.xmlwith required subscriber and publisher dependenciesCMakeLists.txtwith required subscriber and publisher dependenciesREADME.mdwith provided subscriber and publisher data- adds
.clang-formatfile as provided in repo here
Setup
config_file
author: authors name
email: authors_email
license: license_name
node_name: NodeName
namespace: some_namespace
description: some description
subscribers:
topic1: type1
topic2: type2
publishers:
topic3: type3
topic4: type4
Susbcribers and publishers will have handles that will have names topic1_sub_ or topic3_pub_ respectively.
Topics will be named exactly as they are specified. eg: topic1
target_dir
The package files will be put in target_dir ensure its empty or doesnt exist (will be created)
TODO
- add license file
- add license header
- add parameter helpers
- add actions and services
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ros2_lifecycle_package_creator-0.1.0.tar.gz.
File metadata
- Download URL: ros2_lifecycle_package_creator-0.1.0.tar.gz
- Upload date:
- Size: 4.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.10.16 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ad1baabeaea5f781d76a03d3c4c7202b1a71697e8e6498c9292edcdce79c87f
|
|
| MD5 |
44d247507df6dbf6cee2003dad4f29e9
|
|
| BLAKE2b-256 |
01779787465ae3ebb5f399e77ec14e984ce5951bc83e2d900ec1a1d06048b14d
|
File details
Details for the file ros2_lifecycle_package_creator-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ros2_lifecycle_package_creator-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.2 CPython/3.10.16 Linux/6.8.0-1021-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b83bc8f7be220c7ad1c743dd4ee41f17d36e8847153eded3dfd946a13ecd27f
|
|
| MD5 |
842dd31a5624a423a2684e4a32aa50ae
|
|
| BLAKE2b-256 |
340609afc22549cd9c7cd36cd7102aecfaf01acdbb1616015899e816f3317e21
|