ROS踩过的大大小小的坑

首先声明,这些问题都是博主自己在学习ROS的时候,遇到大大小小的坑,想把它写下来,来帮助更多的人,希望别人在学习的时候少走弯路,加油,陌生人。

1、在编译mbot_gazebo功能包的时候出现编译错误

大家可能在编译mbot_gazebo功能包的时候会出现下面这个错误,大致是因为ubuntu16.04版本在安装ROS的时候,不会下载相应的控制依赖包,安装的依赖可能也不一样,出现该错误主要就是因为没有所需要的控制依赖包。
在这里插入图片描述
并没有gazebo_ros_controld的功能包
解决方法:缺少这个依赖包,添加这个依赖包即可,如果是kinetic的版本,需要按照kinetic的方法去安装即可。

sudo apt-get install ros-kinetic-gazebo-ros-control

再添加完依赖之后,返回到工作空间下进行 catkin_make 重新编译即可。

2、ros 出现Could not find a package configuration file provided by “move_base_msgs” 解决方法

在这里插入图片描述
1)跟上面一样也是没有安装move_base_msgs这个依赖包的原因,我尝试了用上面的方法sudo apt -get … 发现并不行,结果啪啪打脸,找到了另外一个方法。
首先缺少这个依赖包我就去下载这个依赖包,百度或者谷歌搜索move_base_msgs,后面出现ROS WIKI的点进去,就像下面一样:

在这里插入图片描述
2)然后选择自己ros的版本,我的是kinetic,点击source,这是别人包的源代码:如下

在这里插入图片描述
3)复制该下载的连接在这里插入图片描述
4)回到你的功能包所在的文件夹,我的是在src文件夹,我的是mbot_navagation该功能包里面除了问题,所以回到它的功能包的src文件夹下输入命令:

git clone https://github.com/ros-planning/navigation_msgs.git

如下:
在这里插入图片描述
5)回到工作空间下再进行catkin_make重新编译,即可成功

在这里插入图片描述

3、在进行kinect-gazebo仿真的时候,调出Rviz或者是rqt_image_view的时候,gazebo会提示进程被杀死

其实在gazebo运行完全没有问题,就是只要一加载Rviz或者rqt_image_view之后进程就会卡死,我一开始各种百度(弄了大概一周,搞得心累),有的说什么系统内存不够,我都把虚拟机的运行内存分到了8G了,也不能说全部吧,很多都是扯淡,最后还是gazebo的版本太低造成的。先直接上图:
出现的情况如下图所示:
在这里插入图片描述
用Rviz查看,我打开rostopic list 话题都有啊,我也更改了正确的坐标系,还是导入不了画面,就像下面这个样子…
在这里插入图片描述
用rqt_image_view打开也是这样…
在这里插入图片描述
最后找到的原因gazebo的版本过低,与Rviz不兼容了,ubuntu16.04在安装ROS的时候,我们安装的ROS版本是kinetic,kinetic版本的ROS在安装时候,会自动下载低版本的gazebo,然后RViz又是新版本的,所以这会导致二者不兼容!这就是问题的原因!ubuntu18的不会遇到这个问题,因为他们的ROS版本是indigo

下面我们来升级gazebo(gazebo 7.0 升级到7.14)
打开终端,依次输入以下命令:

sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt-get update
udo apt-get install libignition-math2-dev

输入以上命令完之后,打开带有kinect摄像头的小车,然后在gazebo里仿真,通过Rviz或者rqt_image_view就可以接收到你想要的额rgb图像啊 或者一些深度图像

记得在在rviz里add那个 pointcloud2 把话题列表改一下就可以大功告成了,困惑了几天,终于弄好了,虽然不是什么大问题,但是还是很开心,一点点的进步
在这里插入图片描述

4、ROS Navigation-----map_server包缺少Error: package ‘map_server’ not found

出现下图的错误信息,很显然是因为没有安装该功能包,出现问题看错误是啥
在这里插入图片描述
没有安装,安装即可:
输入命令(注意ros的版本问题,我的是kinetic)

 sudo apt-get install ros-kinetic-map-server

在进行地图保存:

rosrun map_server map_saver -f cloister_gmapping

cloister_gmapping表示的是跟的图片的名称,在根目录下就能发现自己保存的建图信息以及yaml文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值