#ros #codegen #generate #genmsg

bin+lib roslibrust_genmsg

从 ROS 消息定义生成源代码的工具

1 个不稳定版本

0.9.0 2024年5月13日

200机器人

MIT 许可证

130KB
2.5K SLoC

roslibrust_genmsg

一个 CLI 应用程序和库,使用 roslibrust_codegen 作为后端生成 ROS C++ 头文件。

运行命令行应用程序

roslibrust$ mkdir -p /tmp/sensor_msgs && \ 
cargo run --bin gencpp -- \
--msg assets/ros1_common_interfaces/common_msgs/sensor_msgs/msg/BatteryState.msg \
--package sensor_msgs \
-I std_msgs:assets/ros1_common_interfaces/std_msgs \
-I geometry_msgs:assets/ros1_common_interfaces/common_msgs/geometry_msgs \
-I sensor_msgs:assets/ros1_common_interfaces/common_msgs/sensor_msgs \
--output /tmp/sensor_msgs

与官方 CLI 的主要区别

  • 包含路径必须是消息包目录的顶级目录,因为 roslibrust_codegen 使用此路径来确定 ROS 版本。
  • 输出到路径而不是文件。文件名基于消息或服务文件名假定。
  • 包含路径必须包括输入消息来自的包,因为 roslibrust_codegen 目前没有公开一个 API 来解析给定消息文件路径的消息。因此,您需要包含包中其他消息的任何依赖项,以便 roslibrust_codegen 可以解决依赖图。

依赖项

~6–15MB
~173K SLoC