ROS开发记录

    想着这么多天学习ROS但是代码都是复制粘贴,想自己写一写,正好刚刚弄好了VPN,便决定参考ROS机器人开发实践下一个roboware,但很不幸,roboware官网已经不提供服务了,好不容易找到地方下载后才发现装上之后,运行却打不开,可能真的是因为我装的是Ubuntu20.04版本吧。。。。无奈之下只好去下载Eclipse,在官网上一个80多兆的文件要下载半小时,还不一定成功。到今天早上才顺利下载好,接着就是安装了,书上说的还算详细,用命令解压压缩包然后在打开可执行文件就可以。我是用的C++编程,所以在运行的时候一定一定要点Run Configuration里面的C/C++ Application才行,其他的好像都会出错误。简单的hello world记得别点错就还可以,但ROS程序就不行了。下面凭借资料和记忆复原流程。

    前期过程和书上的一样。在catkin_ws下运行catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles" 。然后设置环境变量 awk -f $(rospack find mk)/eclipse.awk build/.project > build/.project_with_env && mv build/.project_with_env build/.project 。然后进入Eclipse,最开始的工作空间可以随便选一个,我是在根目录建立了一个Eclipse_workspace。然后点File->Import->Existing Project into Workspace 。最后这个我记得是要点开General就可以看到。不要勾选Copy project........那个选项。点Finish就可以了。源文件.cpp就放在“Source direction”。在工程的Properties里面选C/C++ General->Preprocessor ........。勾选CDT GCC Build-in Compiler Setting(由于某种原因,一开始没有选项,可能是虚拟机有些慢吧,感觉不是我动了上面Configuartion的下拉框)完事就可以在里面编写对应程序,注意要改一下CMakeList。然后就可以按ctrl+B来编译程序。如果编译成功,会在catkin_ws/devel/lib/<文件名>下找到可执行文件,没有就是有错误,建议直接在终端里进到catkin_ws下面运行catkin_make可以看到详细错误信息。这样我们在点Run->Run Configuartions->C/C++ Application。更改路径为可执行文件,在Environment里加入两个环境变量:ROS_ROOT,ROS_MASTER_URI。值用echo $加上变量名来查找。点击Run运行。我这里出现了两个错误,第一个是error while loading shared libraries: libXXX.so.X: cannot open shared object file: No such file or directory。这个网上有好多解释,我也走了好几个小时的弯路。最后我使用的是readelf -d 加上你这个错误最开头给的路径找到Library runpath的路径,然后在/etc/ld.so.conf.d下面创建一个usr-libs.conf接着用命令sudo nautilus usr-libs.conf来以管理员的身份修改他,加上上面说的Library runpath的路径保存后,这个错误就解决了。第二个错误是Failed to contact master at [localhost:11311].  Retrying..只需要先运行roscore就可以解决了。

    怕什么真理无穷,进一步有进一步欢喜,到此我的Eclipse就可以正常运行了,代码也可以直接在里面跑啦。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值