ROS2 通过消息,服务,行为接口进行通信,它们的格式通过 IDL 定义。
消息 消息定义在 ROS 包里面的 msg 目录下,以 .msg 结尾的文本文件描述。
.msg 文件包括两个部分:字段和常量
字段 字段以行分割,每个字段包括类型和名称,以空格分割。
1 2 3 fieldtype1 fieldname 1 fieldtype2 fieldname2 fieldtype3 fieldname3 例如:
1 2 int32 my_int string my_string 字段类型 字段类型包括内置类型和自定义的消息
具体支持的类型可以查看:https://index.ros.org/doc/ros2/Concepts/About-ROS-Interfaces/
1 2 3 4 5 6 7 8 9 10 int32[] unbounded_integer_array int32[5] five_integers_array int32[<=5] up_to_five_integers_array string string_of_unbounded_size string<=10 up_to_ten_characters_string string[<=5] up_to_five_unbounded_strings string<=10[] unbounded_array_of_string_up_to_ten_characters each string<=10[<=5] up_to_five_strings_up_to_ten_characters_each 字段名称 字段名称必须是小写字符,以下划线分割,以字符开头,不能以下划线结尾,也不能有两个连续的下划线
字段默认值 不支持字符串数组和复杂的类型。
1 fieldtype fieldname fielddefaultvalue 例如: