rosrun找不到joint_state_publisher node运行文件的解决方法

rosrun找不到joint_state_publisher包下joint_state_publisher node的解决方法

问题

在学习moveit!教程时,每当运行panda机器人的配置包,都会遇到一个常见的错误:
ERROR: cannot launch node of type [joint_state_publisher/joint_state_publisher]: can't locate node [joint_state_publisher] in package [joint_state_publisher]

当在terminal直接调用这份这个joint_state_publisher时,即:

rosrun joint_state_publisher joint_state_publisher

也会遇到报错:

[rosrun] Couldn't find executable named joint_state_publisher below /opt/ros/kinetic/share/joint_state_publisher
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun]   /opt/ros/kinetic/share/joint_state_publisher

解决方法

将/lib文件下的python脚本复制到/share文件夹下,即可运行。

roscd joint_state_publisher
sudo cp ../../lib/joint_state_publisher ./

反思

猜测,rosrun运行执行文件的时候是在/lib文件夹中寻找。而在运行脚本文件,比如.py文件时是在/share文件夹下寻找。

你可能感兴趣的:(ros)