ros机器人编程实践(14)- 仓库机器人fetch

吐槽部分

这书属实太坑,错的实在太多了,这一章节的仿真我从2月9号弄到20号,虽然中间还参加了个美赛建模,最后终于在今天完工了。怎么说呢,仿真之前没接触过tf变换,这书里在第一章介绍了有这个东西是干嘛的也没举个小小小的例子咋用,我笑了…然后开始用moveit规划机械臂轨迹,这个倒是还好,下棋机器人那一章有些讲的还算明白,但是跑起来move_commander、move_python的代码各种报错,不过也还好,ubuntu是纯文件形式的,错就错吧,有源码都能改,在我的工程里面拖了各种找不到的包进去。。。debug过程是在太复杂也没完全记录,还挺可惜的,写这一章博客估计能在别人电脑上还原出来的可能性应该也不大。然后是ALVAR码的检测,这玩意我也不知道作者是怎么发现有这个东西的,我搜遍了全网,中文博客就一两篇介绍怎么用而且还是废话,内容大概是敲一个命令就可以开启这个检测然后就没有然后了,这用你说呢,怎么处理数据啊?怎么和我们的机器人联系起来呢?he tui 稍微详细的介绍就是wiki上的了,但是吧,可参考性真的不强,出点小问题根本就是全网没有参考,最后怎么解决问题的呢,好在ALVAR包里有PR2机器人使用的代码,我参考里面的内容加上了ALVAR检测两个摄像头话题名字的重映射。。。这tm作者给的源码根本就没这部分,我都不知道作者是怎么跑成功的,严重怀疑他是故意坑人的写书也不想完完整整的共享知识。然后还是检测不成功,在获取机器人和二维码之间的tf变换矩阵环节一直报错,然后我仔细的观察了系统的tf树,我发现ALVAR码的检测节点和/map和/odom根本不在一个tf变换的tree下面,关键是作者给的tf变换的tree图和我当时跑出来的一摸一样。。。我就纳了闷了,然后在坚定的怀疑作者写书为了坑人的信念下,我手写了12个ALVAR码和map间的tf变换,结果真的惊了我了,果然就是少了这个环节。。。心中一万只草泥马奔腾。为什么会想到加上map和ALVAR码的tf变换呢,这也是这几天辛苦查阅资料的回报吧,之前比赛用过April tag码的视觉检测,和这个ALVAR码基本相同,在做ALVAR码弄不出来的时候我尝试过换用了April Tag码,检测数据是读到了,但是不太会将这个结果的四元数进行一个tf变换给机器人用。。。也就是不太会写书上写的ALVAR码发布的十二个检测节点,毕竟有点不太一样,而且吧,April tag检测的数怪怪的。。。一米左右的距离,我将码旋转了180度后测给我的数到了12米。。。属实不知道这个数到底是怎么来的。。。所以最终放弃了April Tag,但是AprilTag网上的资料特别多,而且有些博客写的教程很详细,并且在机械臂的运用上好像已经很常用了。废话有点多,回到为什么会想到加上map和ALVAR码的tf变换呢这个话题,在AprilTag的使用过程中有一个AprilTag码位置的初始设定,我发现在弄ALVAR码的时候缺少了这一环节,这显然是不可能的,所以想到了加上map和ALVAR码的tf关系。最后吧,等有空一定写上全部工作的详细教程,可能一部分内容要做到毕设里面,先放放吧。

实现效果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发布了53 篇原创文章 · 获赞 5 · 访问量 2194

猜你喜欢

转载自blog.csdn.net/qq_37668436/article/details/104413142
今日推荐