首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ROS踩过的大大小小的坑

ROS踩过的大大小小的坑

作者头像
Albert_xiong
发布2021-06-21 16:20:18
发布2021-06-21 16:20:18
1.4K0
举报
文章被收录于专栏:Mybatis学习Mybatis学习

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

ROS学习常采坑避雷

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

大家可能在编译mbot_gazebo功能包的时候会出现下面这个错误,大致是因为ubuntu16.04版本在安装ROS的时候,不会下载相应的控制依赖包,安装的依赖可能也不一样,出现该错误主要就是因为没有所需要的控制依赖包。

解决方法:缺少这个依赖包,添加这个依赖包即可,如果是kinetic的版本,需要按照kinetic的方法去安装即可。

代码语言:javascript
复制
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文件夹下输入命令:

代码语言:javascript
复制
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) 打开终端,依次输入以下命令:

代码语言:javascript
复制
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
代码语言:javascript
复制
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
代码语言:javascript
复制
sudo apt-get update
代码语言:javascript
复制
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)

代码语言:javascript
复制
 sudo apt-get install ros-kinetic-map-server

在进行地图保存:

代码语言:javascript
复制
rosrun map_server map_saver -f cloister_gmapping

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ROS学习常采坑避雷
  • 1、在编译mbot_gazebo功能包的时候出现编译错误
  • 2、ros 出现Could not find a package configuration file provided by “move_base_msgs” 解决方法
  • 3、在进行kinect-gazebo仿真的时候,调出Rviz或者是rqt_image_view的时候,gazebo会提示进程被杀死
  • 4、ROS Navigation-----map_server包缺少Error: package ‘map_server’ not found
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档