ROS2编译自定义msg消息错误
Starting >>> base_interface_demo
--- stderr: base_interface_demo
CMake Error at /opt/ros/humble/share/rosidl_adapter/cmake/rosidl_adapt_interfaces.cmake:59 (message):
execute_process(/usr/bin/python3.10 -m rosidl_adapter --package-name
base_interface_demo --arguments-file
/home/ghigher/ws01_plumbing/build/base_interface_demo/rosidl_adapter__arguments__base_interface_demo.json
--output-dir
/home/ghigher/ws01_plumbing/build/base_interface_demo/rosidl_adapter/base_interface_demo
--output-file
/home/ghigher/ws01_plumbing/build/base_interface_demo/rosidl_adapter/base_interface_demo.idls)
returned error code 1:
Traceback (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/__main__.py", line 19, in <module>
sys.exit(main())
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/main.py", line 53, in main
abs_idl_file = convert_to_idl(
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/__init__.py", line 19, in convert_to_idl
return convert_msg_to_idl(
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/msg/__init__.py", line 28, in convert_msg_to_idl
msg = parse_message_string(package_name, input_file.stem, content)
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/parser.py", line 544, in parse_message_string
msg = MessageSpecification(pkg_name, msg_name, fields, constants)
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/parser.py", line 388, in __init__
self.base_type = BaseType(
File "/opt/ros/humble/local/lib/python3.10/dist-packages/rosidl_adapter/parser.py", line 205, in __init__
raise InvalidResourceName(
rosidl_adapter.parser.InvalidResourceName: 'student' is an invalid message
name. It should have the pattern '^[A-Z][A-Za-z0-9]*$'
Call Stack (most recent call first):
/opt/ros/humble/share/rosidl_cmake/cmake/rosidl_generate_interfaces.cmake:130 (rosidl_adapt_interfaces)
CMakeLists.txt:14 (rosidl_generate_interfaces)
---
Failed <<< base_interface_demo [0.36s, exited with code 1]
Summary: 0 packages finished [0.52s]
1 package failed: base_interface_demo
1 package had stderr output: base_interface_demo
msg消息文件名首字母需要大写
将student.msg
改为Student.msg
即可