Awesome
rmf_api_msgs
Collection of json message schemas which bridges the C++ and python components of RMF to the web interface
Usage
Compile with colcon is recommended
colcon build --packages-select rmf_api_msgs
source install/setup.bash
Subsequently, to access the schemas, the user just needs to include/import the cpp header or py module into their source code.
- C++ example:
#include <rmf_api_msgs/schemas/task_state.hpp>
nlohmann::json schema = rmf_api_msgs::schemas::task_state
- Python example:
from rmf_api_msgs import schemas
# get schema
schema = schemas.task_state()
Python data model generation
To generate the data models based on the schemas, install datamodel-code-generator
pip3 install datamodel-code-generator
Recompile with colcon
colcon build --packages-select rmf_api_msgs
source install/setup.bash
The generated data models can then be accessed and used for development,
from rmf_api_msgs.models import task_state
# create task_state model
booking = task_state.Booking(id = "id0001")
task_state = task_state.TaskState(booking = booking)