6-robot / wpb_home

Source code for WPB ROS Robot
http://www.6-robot.com
GNU General Public License v2.0
85 stars 31 forks source link

gmapping建图问题 #1

Open kleinHao opened 6 years ago

kleinHao commented 6 years ago

您好, 我在使用wpb_home包里的gmapping.launch进行建图是没有问题的,但是当我使用自己写的view_gmapping.launch文件调用gmapping和rplidar包还有rviz启动节点建图时,却出现了只有缓慢移动机器人才能正确建图,快速移动的时候,就不是在已有的地图上进行扩充,而是将其忽略直接构建出新的地图覆盖,如下图所示。 /home/hao/图片/gmapping2.png /home/hao/图片/gmapping3.png /home/hao/图片/gmapping4.png 同时还有一个问题,就是在移动机器人的时候,地图并不会实时的跟着机器人的姿态进行移动和旋转,总是需要等待几秒钟在地图更新的时候才会随机器人改变位置,请问这个是不是造成无法在快速移动时建图的原因? 我看您的程序包中的gmapping.launch文件中使用的基本都是gmapping的默认参数,但是启动了wpb_core以及您自己写的rviz参数,那请问是我gmapping.launch中tf的设置不对还是rviz中的设置有问题呢?您在开发的时候有没有遇到过这样的问题又是如何解决的呢?非常感谢您的帮助! /home/hao/图片/5.8/gmapping.png /home/hao/图片/5.8/rplidar.png /home/hao/图片/5.8/view_gmapping.png

src.tar.gz

kleinHao commented 6 years ago

抱歉刚才图没发上来 gmapping2 gmapping3 gmapping4

view_gmapping rplidar gmapping

zhangwanjie commented 6 years ago

你好,gmapping里机器人位姿变化受里程计的影响比较大,不知道你使用的是哪款平台,从描述的情况看,感觉里程计计算有误差或者更新频率太低造成的。 另外gmapping的参数也会对地图更新条件有影响,第一次测试建议先用默认参数,遇到问题时再查找有没有相关的参数可以调节。 希望能帮到你:)

发自我的 iPhone

在 2018年5月8日,15:53,kleinHao notifications@github.com 写道:

抱歉刚才图没发上来

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

首先非常感谢你的回复! 我用的就是启智机器人ROS版这款机器人。 default 在使用机器人配套的程序包进行gmapping建图的时候是没有问题的,请问你们是不是对里程计的数据进行了别的处理?我在哪个文件里能够找到你们的处理呢?

zhangwanjie commented 6 years ago

你好,如果用的启智ROS,需要用它自己的里程计,里程计的实现在wpb_core里。 建议这么修改: 1.把launch里odom->base_link的tf去掉。 2.在launch里加入wpb_core节点的启动。 3.在launch里加入手柄节点和手柄速度换算节点的启动。 其中2和3可以从wpb_home_tutorials的gmapping.launch里复制粘贴过来。之前你发现机器人模型不动,可能和1有关。

发自我的 iPhone

在 2018年5月9日,20:11,kleinHao notifications@github.com 写道:

首先非常感谢你的回复! 我用的就是启智机器人ROS版这款机器人。

在使用机器人配套的程序包进行gmapping建图的时候是没有问题的,请问你们是不是对里程计的数据进行了别的处理?我在哪个文件里能够找到你们的处理呢?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

您好,感谢您的回复!我尝试了您所说的修改,但是仍存在以下问题: 在我使用wpb_home_tutorials的gmapping.launch时,如果选择手推机器人移动而不是手柄操作机器人移动的话,会在rviz中看到激光雷达扫描到的障碍物不再与地图对应,且地图不会进行更新;而当我在此launch文件的slam_gmapping节点中加入这个参数后(默认为负值,即默认关闭)即可依靠手推机器人更新地图,但是出现了与之前一样的建图错误。 那么我想请问是不是在您所写的程序包内,gmapping所使用的里程计信息是不是只能由手柄控制得到,但不能依靠单纯的推动机器人移动而产生的里程计数据而得?

zhangwanjie commented 6 years ago

里程计是根据电机码盘返回值解算出来的,如果电机处于没上电状态,则里程计会认为机器人没有移动,手推或不推都一样。所以需要电机处于工作状态,用手柄控制或者follow让机器人主动运动才能让里程计正常工作。 如果想抛弃里程计建图,可以尝试HectorSLAM,例程里也有launch,那个用手推就可以😄

发自我的 iPhone

在 2018年5月14日,20:29,kleinHao notifications@github.com 写道:

您好,感谢您的回复!我尝试了您所说的修改,但是仍存在以下问题: 在我使用wpb_home_tutorials的gmapping.launch时,如果选择手推机器人移动而不是手柄操作机器人移动的话,会在rviz中看到激光雷达扫描到的障碍物不再与地图对应,且地图不会进行更新;而当我在此launch文件的slam_gmapping节点中加入这个参数后(默认为负值,即默认关闭)即可依靠手推机器人更新地图,但是出现了与之前一样的建图错误。 那么我想请问是不是在您所写的程序包内,gmapping所使用的里程计信息是不是只能由手柄控制得到,但不能依靠单纯的推动机器人移动而产生的里程计数据而得?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

嗯嗯hector我自己也写过launch文件运行过了,现在就是在研究gmapping的建图方法。我手推机器人的时候也打开了机器人底盘的绿色上电开关,但是问题就是在于用手推的时候gmapping地图是不更新的,然后我又尝试了把launch文件中的手柄设置和速度换算的节点删掉,还是不行。另外我发现如果不打开红色急停开关,只有在快速移动机器人时底盘上的屏幕才会显示位姿数据,而打开红色急停开关,即使静止显示屏也会一直显示,请问是不是和这个有关系啊?只有在打开红色急停开关的时候才会输出里程计信息?

zhangwanjie commented 6 years ago

是的,你的猜测是正确的。只有打开红色急停开关,电机模块才会工作,才会有里程计信息。

发自我的 iPhone

在 2018年5月14日,20:51,kleinHao notifications@github.com 写道:

嗯嗯hector我自己也写过launch文件运行过了,现在就是在研究gmapping的建图方法。我手推机器人的时候也打开了机器人底盘的绿色上电开关,但是问题就是在于用手推的时候gmapping地图是不更新的,然后我又尝试了把launch文件中的手柄设置和速度换算的节点删掉,还是不行。另外我发现如果不打开红色急停开关,只有在快速移动机器人时底盘上的屏幕才会显示位姿数据,而打开红色急停开关,即使静止显示屏也会一直显示,请问是不是和这个有关系啊?只有在打开红色急停开关的时候才会输出里程计信息?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

可是打开红色急停开关后还能用手推吗?推起来很费劲我就不敢使劲了怕给弄坏了...那就是说没法依靠正常手推机器人来产生里程计信息了吗? 另外,在你的wpb_home_tutorials包里的CMakelist文件中 include_directories(include ${PCL_INCLUDE_DIRS}) 应该加上${catkin_INCLUDE_DIRS},要不然编译总失败说找不到ros.h,你可以改一下哈。

zhangwanjie commented 6 years ago

打开红色急停开关后电机会锁死,推动也是动摩擦,码盘不会转,里程计不会变化(实际上会有一点微小的变化)。硬件上,电机模块是支持卸载模式的(只上电,不锁死)但是底盘的控制器没提供协议接口,所以没法从上位机让其卸载,可能以后升级固件会支持这项功能。 之前我有朋友在其它机器人上玩过这种功能:通过里程计细微变化给机器人发送等比例的速度值,这样轻轻一推机器人就会自己动,相当于助力模式,比卸载状态还容易推动。有兴趣的话你也可以试一试。 好的,我把代码完善一下,谢谢你的建议。😊

发自我的 iPhone

在 2018年5月14日,21:49,kleinHao notifications@github.com 写道:

可是打开红色急停开关后还能用手推吗?推起来很费劲我就不敢使劲了怕给弄坏了...那就是说没法依靠正常手推机器人来产生里程计信息了吗? 另外,在你的wpb_home_tutorials包里的CMakelist文件中 include_directories(include ${PCL_INCLUDE_DIRS}) 应该加上${catkin_INCLUDE_DIRS},要不然编译总失败说找不到ros.h,你可以改一下哈。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

好的我明白了,非常感谢你的帮助! 还想请问一下,咱们这个机器人除了那个用户使用手册以外,有没有关于机器人整体硬件结构的介绍?例如激光雷达型号、电机型号、几轮驱动等,以及各个组件模块的连接方法这些?不知道这些的话,研究起来也会有很多的困难...谢谢!

zhangwanjie commented 6 years ago

硬件部分的资料还没整理完,未来应该会补上,抱歉…

发自我的 iPhone

在 2018年5月15日,20:37,kleinHao notifications@github.com 写道:

好的我明白了,非常感谢你的帮助! 还想请问一下,咱们这个机器人除了那个用户使用手册以外,有没有关于机器人整体硬件结构的介绍?例如激光雷达型号、电机型号、几轮驱动等,以及各个组件模块的连接方法这些?不知道这些的话,研究起来也会有很多的困难...谢谢!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

好的,很期待这个机器人结构更为详细的阐述,感谢!

kleinHao commented 6 years ago

还想请问一下,运用tutorials包中的nav.launch进行导航时,除了使用globalplaner对已有地图内的障碍物规划避障路径以外,对在机器人旁边临时出现的人或其他障碍物,利用WpbhLocalPlanner进行避障的效果似乎约等于0?是代价地图什么的参数设置有问题吗?我用的就是默认的参数。

zhangwanjie commented 6 years ago

是的,局部规划器里没有进行避障处理,只是在遇到障碍物无法通过时向navigation系统返回一个执行失败的信号,激活全局规划器的二次规划机制,按照最新的障碍物分布重新规划一条全局路径。但是我们测试时也发现ROS的navigation有时候重规划机制反应会非常慢,导致机器人看起来像“假死”了一样。目前还没来得及具体分析原因,等手头工作完成后会回来设法解决这个问题。在那之前,你也可以先尝试一些自己的方法看看能不能起效…

发自我的 iPhone

在 2018年5月29日,11:09,kleinHao notifications@github.com 写道:

还想请问一下,运用tutorials包中的nav.launch进行导航时,除了使用globalplaner对已有地图内的障碍物规划避障路径以外,对在机器人旁边临时出现的人或其他障碍物,利用WpbhLocalPlanner进行避障的效果似乎约等于0?是代价地图什么的参数设置有问题吗?我用的就是默认的参数。

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

kleinHao commented 6 years ago

好嘞,感谢!

zhangwanjie commented 6 years ago

请问你有电子邮箱地址吗?我把包含硬件介绍的最新资料发给你

发自我的 iPhone

在 2018年5月29日,11:19,kleinHao notifications@github.com 写道:

好嘞,感谢!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

hbzjt2012 commented 5 years ago

@zhangwanjie 您好,我目前也正在使用启智ROS机器人,目前只有1.0.7版本的开发手册,烦请您能不能发给我一份咱们的硬件手册,邮箱 hbzjt2012@foxmail.com 谢谢!

superbigzz commented 5 years ago

是的,局部规划器里没有进行避障处理,只是在遇到障碍物无法通过时向navigation系统返回一个执行失败的信号,激活全局规划器的二次规划机制,按照最新的障碍物分布重新规划一条全局路径。但是我们测试时也发现ROS的navigation有时候重规划机制反应会非常慢,导致机器人看起来像“假死”了一样。目前还没来得及具体分析原因,等手头工作完成后会回来设法解决这个问题。在那之前,你也可以先尝试一些自己的方法看看能不能起效… 发自我的 iPhone 在 2018年5月29日,11:09,kleinHao @.***> 写道: 还想请问一下,运用tutorials包中的nav.launch进行导航时,除了使用globalplaner对已有地图内的障碍物规划避障路径以外,对在机器人旁边临时出现的人或其他障碍物,利用WpbhLocalPlanner进行避障的效果似乎约等于0?是代价地图什么的参数设置有问题吗?我用的就是默认的参数。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

你好,请问这个问题现在解决了吗?实时避障的问题。

kleinHao commented 5 years ago

抱歉,我后来就没有再继续研究这个项目了。

------------------ 原始邮件 ------------------ 发件人: "冻鱼"notifications@github.com; 发送时间: 2019年5月30日(星期四) 下午3:59 收件人: "6-robot/wpb_home"wpb_home@noreply.github.com; 抄送: "klein Hao"1131597519@qq.com;"Author"author@noreply.github.com; 主题: Re: [6-robot/wpb_home] gmapping建图问题 (#1)

是的,局部规划器里没有进行避障处理,只是在遇到障碍物无法通过时向navigation系统返回一个执行失败的信号,激活全局规划器的二次规划机制,按照最新的障碍物分布重新规划一条全局路径。但是我们测试时也发现ROS的navigation有时候重规划机制反应会非常慢,导致机器人看起来像“假死”了一样。目前还没来得及具体分析原因,等手头工作完成后会回来设法解决这个问题。在那之前,你也可以先尝试一些自己的方法看看能不能起效… 发自我的 iPhone … 在 2018年5月29日,11:09,kleinHao @.***> 写道: 还想请问一下,运用tutorials包中的nav.launch进行导航时,除了使用globalplaner对已有地图内的障碍物规划避障路径以外,对在机器人旁边临时出现的人或其他障碍物,利用WpbhLocalPlanner进行避障的效果似乎约等于0?是代价地图什么的参数设置有问题吗?我用的就是默认的参数。 — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

你好,请问这个问题现在解决了吗?实时避障的问题。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.