为了学习ROS,我按照学习ROS进行机器人编程,但是在执行
rosrun chapter2_tutorials example1_a
时出现以下错误:
Couldn't find executable named 'example1_a' below /home/MYNAME/catkin_ws/src/learningROS/chapter2_tutorials
但是,
这个路径存在于
ROS_PACKAGE_PATH
(我回显这个环境变量来确认);执行时该路径不存在
rosstack profile
这是ROS集列表:
ROSLIST_PACKAGE_DIRECTORIES="/home/MY_NAME/catkin_ws/devel/share/common-list"
ROS_DISTRO="jade"
ROS_ETC_DIR="/opt/ros/jade/etc/ros"
ROS_PACKAGE_PATH="home/MY_NAME/catkin_ws/src:opt/ros/jade/share:/opt/ros/jade/stacks"
ROS_ROOT="/opt/ros/jade/share/ros"
而且执行时也没有失败
rosmake chapter2_tutorials
:
但是
chapter2_tutorials
下没有~/catkin_ws/devel/lib/
。
我使用的CMakeLists来自
我补充一下
rosbuild_add_executable(example1_a example1_a.cpp)
rosbuild_add_executable(example1_b example1_b.cpp)
在此 CMakeList 文件的末尾。
如果需要任何进一步的信息,请告诉我,感谢您花时间回答我的问题。
您可以检查CMakeLists.txt。
添加
catkin_package()
在CMakeLists.txt中并再次编译
这可能有帮助: 解决方案1:
转到文件位置。 右键单击该文件 --> 属性。 转到权限选项卡:选中可执行文件复选框。
解决方案2: 导航到终端中的文件位置:
~/$ chmod 777
参考:https://www.maketecheasier.com/file-permissions-what-does-chmod-777-means/
您可以尝试以下命令:
~$ rosrun chapter2_tutorials chap2_example1_a
因为在
CMakelists.txt
中,可执行文件的名称不是“example1_a
”
add_executable(chap2_example1_a src/example1_a.cpp)
add_executable(chap2_example1_b src/example1_b.cpp)
我在ros中使用python2
我的脚本第一行是:
#!/usr/bin/env
我添加Python如下:
#!/usr/bin/env python
它解决了问题,rosrun可以运行可执行的.py文件