ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法

因工作需要,近期回到ubuntu下进行ros的调试。ubuntu版本16.04和18.4均安装运行过,下面就遇到的各种坑进行汇总:

1. ubuntu不同版本对应的ros版本是不同的,16.04对应的是ros-kinetic,18.4对应的是ros-melodic。安装大同小异,参考:

16.04安装ros教程

18.4安装ros教程

2. 在运行下面这段,会有失败的情况,这是因为这软件更新的源是国外的连接,国内经常连接不上造成超时失败啥的。

$ sudo rosdep init
$ rosdep update

网上有各种方法,什么改host啊,Ping IP,改地址啊,设置超时时间,把时间加长啊,统统不好使,这块我折腾了两天时间才找到解决办法:

cd  /usr/lib/python2.7/dist-packages/
sudo gedit  ./rosdistro/__init__.py
sudo gedit  ./rosdep2/gbpdistro_support.py
sudo gedit  ./rosdep2/sources_list.py
sudo gedit  ./rosdep2/rep3.py

把这四个文件打开,将文件中的raw.githubusercontent.com/ros/rosdistro/master都替换成gitee.com/zhao-xuzuo/rosdistro/raw/master。保存后,重新执行:

$ sudo rosdep init
$ rosdep update

编译通过。

3. 参考教程安装完以后,试试小乌龟能不能动。如果能动,表示ROS环境安装成功,这仅仅是噩梦的开始。下面开始编译自己的ros测试程序,创建一个文件夹,命名ros_one,把自己的src拷进去。

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第1张图片

 这个只是个开胃小菜,网上解决办法是可行的,就是把CMakeLists.txt和package.xml删除就行,删除后运行,再次提示错误信息:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第2张图片

而正常应该是:

 ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第3张图片

 我这里运行到make -j4就自动退出了,还有红圈提示not found信息,我花了一天时间去解决那个not found均不好使,而且网上很少有这种自动退出的相关解决办法,最后不断尝试,根本不是not found的原因。

我们的src是N多文件一起的,我们在创建ros_one文件夹后,在这个文件夹里再创建一个src文件夹,把我们的工程全部扔到src里,如下图所示:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第4张图片ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第5张图片

 再运行catkin_make,还是报错:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第6张图片

到这里,老子都快疯了,光生气没毛用,再仔细想想,刚才不是删除了两个文件么,把这俩文件找回来,放在同一目录下:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第7张图片

 再运行:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第8张图片

 终于成功了,所以,最开始这个错误信息也是迷惑的信息,造成我绕了很多圈子。

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第9张图片

4. 下面开始在QT下运行ros工程,先要安装qt creator,这个qt creator是ros的专用插件,在

ROS QT Creator下载地址

下载,请下载自己ubuntu对应版本的QT Creator,别下错了。

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第10张图片

 安装成功后,你才会在QT里看到

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第11张图片

 创建新工程:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第12张图片

Distribution选择你ROS安装的位置,Build System选择CatkinMake。

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第13张图片

Add to version control这里默认选择None就行。工程创建完成后关闭工程,把上面说的那个src文件夹整体复制粘贴过来,重新在QT下打开工程,就会发现文件已经在工程目录里了。

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第14张图片

 5. 这个工程文件如果需要添加lib,怎么搞。

 双击这个CMakeLists.txt

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第15张图片

 在这里加入这段语句:

ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第16张图片

 /opt/是你存放自己的链接库文件的目录,必须是绝对路径,相对路径不可用。建议放在根目录下,这样在别的电脑下运行,不会受用户名的影响而挂载失败。

 ubuntu下安装ros及在QT下创建ROS工程遇到的各种坑及避坑方法_第17张图片

这里要加上你的链接库名字。添加完毕后,编译运行。

 

 

你可能感兴趣的:(ubuntu,qt,自动驾驶)