c++源程序
(注意"/an_device/Imu ",后一个引号后面有一个空格)
ros::Subscriber sub_imu = nh.subscribe<sensor_msgs::Imu>("/an_device/Imu ", 1, imuHandler);::Subscriber sub_imu = nh.subscribe<sensor_msgs::Imu>("/an_device/Imu ", 1, imuHandler);
程序报错:
这个报错在程序编译的时候不会出现,运行时会出现
karto$ rosrun map_builder map_builder_node
[ INFO] [1642670545.928672938]: waiting for data!
terminate called after throwing an instance of 'ros::InvalidNameException'
what(): Character [ ] at element [14] is not valid in Graph Resource Name [/an_device/Imu ]. Valid characters are a-z, A-Z, 0-9, / and _.
已放弃 (核心已转储)
原因:
订阅的话题里面有无效的字符
Character [ ] at element [14] is not valid in Graph Resource Name [/an_device/Imu ]. Valid characters are a-z, A-Z, 0-9, / and _.
##[/an_device/Imu ]这个资源名字的第14个元素是无效的
解决:
将订阅话题后面的空格删除
参考:
下面链接是针对rviz的,但有参考意义
@meng