本系列教程作者:小鱼 公众号:鱼香ROS QQ交流群:139707339 教学视频地址:小鱼的B站 完整文档地址:鱼香ROS官网 版权声明:如非允许禁止转载与商业用途。
大家好,我是倒霉蛋蛋小鱼,今天在尝试跑了一下aubo的机械臂仿真,顺手建了一个ros的包跑moveit。
看着生成的杂乱无章的CmakeLists,小鱼的强迫症癌晚期又发作了
所以就手动的把看起来不顺眼的,感觉没用的给删掉了,删完之后的CmakeLists张这个样子,是不是清爽很多 不知道你有没有看出问题
接着小鱼进行编译运行
catkin build sim_demo
source devel/setup.bash
rosrun sim_demo sim_demo
结果错误来了
[rosrun] Couldn't find executable named sim_demo below /root/code/arm/aubo/src/sim_demo
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun] /root/code/arm/aubo/src/sim_demo
[rosrun] /root/code/arm/aubo/src/sim_demo/include/sim_demo
编译没错误,运行居然找不到,有点意思 接着小于查看了编译之后生成的文件,发现在build目录下的sim_demo下有可执行文件,这就说明编译没有问题(这个思路大家可以借鉴) 那到底是哪里出了问题呢? 想起了删除的时候遇到了一个奇怪东西
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES aubo_demo
# CATKIN_DEPENDS roscpp rospy std_msgs
# DEPENDS system_lib
)
明明里面什么都没写,但是这个指令却没有被注释,于是小鱼抱着死马当活马医的想法试了下
居然没问题了
再运行也正常了~
所以可以猜测,catkin_package指令可以把当前的包变成一个被ros认可的包,把生成的可执行文件也放到指定的目录,让我们可以使用rosrun指令来运行。
当然大家也可以直接到生成的可执行文件目录,使用./执行文件,也是可以的~
技术交流&&问题求助:
- 微信公众号及交流群:鱼香ROS
- 小鱼微信:AiIotRobot
- QQ交流群:139707339
- 版权保护:已加入“维权骑士”(rightknights.com)的版权保护计划
我是小鱼,机器人领域资深玩家,现深圳某独脚兽机器人算法工程师一枚 初中学习编程,高中开始接触机器人,大学期间打机器人相关比赛实现月入2W+(比赛奖金) 目前在输出机器人学习指南、论文注解、工作经验,欢迎大家关注小鱼,一起交流技术,学习机器人