根据ydlidar_ros内步骤配置完成激光雷达,运行
$ roslaunch ydlidar_ros lidar.launch
激光雷达不转,且报错
ERROR: cannot launch node of type [ydlidar_ros/ydlidar_node]: Cannot locate node of type [ydlidar_node] in package [ydlidar_ros]. Make sure file exists in package path and permission is set to executable (chmod +x)
报错提示检查文件可执行权限,但是无法解决问题。
可能原因
1.数据线问题
2.SDK没有编译
下面分步进行测试
1.连接笔记本,使用官方程序测试雷达有没有坏。
根据YDLIDAR X4使用手册安装驱动和客户端,发现初始化雷达失败
本来以为是初始参数设置问题,询问客服也无法解决。正当准备返厂维修,突然想到可能用的USB线只是一根充电线,无法传输数据。
换了一根线,使用雷达客户端正常运转。
参考资料:USB数据线和充电线有什么不同_百度知道 (baidu.com)
连接回ROS,雷达运行正常。
2.有时将功能包加到工作空间,进行编译时,SDK功能包没有正常编译导致无法加载ydlidar_node。
查看devel/lib中是否有ydlidar_ros的包。若没有,尝试单独编译ydlidar_ros。
catkin_make -DCATKIN_WHITELIST_PACKAGES="ydlidar_ros"
注意编译完成后,需要解除单独编译,否则之后catkin_make将只编译ydlidar_ros这个包
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
或者 也可以将工作空间下的devel和build包都删除,然后重新编译整个工作空间,若功能多可能编译时间较长。
编译完成后,devel/lib中出现ydlidar_ros的包,同时雷达正常运行