你的机器人为什么会在gazebo里蹦迪?

大家好,我是一到周五就很开心的小鱼​。今天旧话重提,说一说做机器人仿真的时候​遇到的一些问题,这里小鱼基于之前写过的文章,再总结一次。

1.gazebo仿真常见问题

以下的坑,是从小鱼自己的悲惨经历,还有鱼粉们问小鱼问题一起总结而来的。

  1. 机器人一飞冲天,然后开始蹦迪
  2. 机器人无法控制,没有里程计、雷达数据等等
  3. 一打开机器人直接蹦迪乱动,有时候表现的很有规律,比如自动往前走
  4. 底盘轮子乱转,一左一右
  5. gazebo控制插件冲突(两轮差速与机械臂controller)
  6. 导出的模型位置分离,东一个西一个
  7. 机器人一加载就倒地不起,像是得了软骨病
  8. 夹爪夹不了东西,抓住就从手里滑走
  9. gazebo卡的动不了
  10. 还有其他各种奇葩坑,等你来和小鱼分享

小鱼曾经做了一个复合机器人的模型,就是一个移动底盘加上一个机械臂组装到一起,在制作模型的过程中,小鱼可谓是见到了个上面各种的奇葩情况。
经过那一次从零开始的建模,小鱼是摸清了gazebo的大多数套路,有的人说gazebo难用,趁早弃坑,小鱼觉得是因为大家遇到了太多的问题了,而且没有相对的解决方案,最终只能换一个坑。

2.解决方案

遇到问题不可怕,就怕不知道问题是什么?定位不到,所以小鱼就先说一下如何定位问题。
小鱼把上面的问题分了一下类,然后总结一下。

2.1 蹦迪乱动

现象:

  • 1.机器人一飞冲天,然后开始蹦迪
  • 3.一打开机器人直接蹦迪乱动,有时候表现的很有规律,比如自动往前走

可能原因:

  • 平整性检查
    第一个就是关于机器人底部的支撑轮子了,轮子又可能不平整,这个小鱼想划出来10000个重点符号,因为被这个坑的最惨,轮子一直在转,但机器人死活不动,本来以为是摩擦力和力矩不够,但怎么加都没用,最终搞清楚居然是轮子在地面上方。
    发现问题可以手动改urdf的关节或者link的碰撞位置。

  • 摩擦力检查
    检查轮子的摩擦力,比如两轮差速模型,除了要检查主动轮你还要检查从动轮的摩擦力,小车走不动的原因可能因为从动轮摩擦太大。

  • 检查内参矩阵
    包括摩擦力、刚性系数、质量、惯性矩阵。如何调整,需要你边调边感觉,多了你就会有感觉。
    比如你看到自己的轮子被压扁了,那就调大一点刚性系数。

  • 检查轮子力矩
    每个驱动轮子是有一个参数可以配置的,叫做轮子的力矩,就是轮子的扭力,有时候转不动也许就是力不过。

2.2 无法控制,没有数据

现象

  • 2.机器人无法控制,没有里程计、雷达数据等等

原因

  • 这个小鱼很少遇到过,但鱼粉还是遇到了,经过小鱼查看其模型发现,两轮差速插件joint名字配置错误,这个插件都不报错的,结果是没有cmd_vel话题。对了很多插件都有debug模式的,发现不对可以开启debug模型看看日志。

2.3 撵狗打鸡-URDF错误

现象

  • 4.底盘轮子乱转,一左一右
  • 6.导出的模型位置分离,东一个西一个

可能原因

  • 原因就是URDF配置问题,可以先使用rviz看看,确定rviz中没问题再放到gazebo中尝试。

2.4 直接趴下,好像断电

现象

  • 7.机器人一加载就倒地不起,像是得了软骨病

可能原因

  • 这个就是没有给关节加控制器,gazebo有controller的概念,就是每个关节加上一个电机,需要手动配置电机的类型,是步进电机还是伺服电机等等。

2.5 插件配置

现象

  • 8.夹爪夹不了东西,抓住就从手里滑走
  • 5.gazebo控制插件冲突(两轮差速与机械臂controller)

可能原因

  • 这个就是插件配置问题了,gazebo的夹取插件有bug,有对应的抓取插件可以用,其实就是当两个物体极度靠近的时候将其绑定到一起。
  • 还有就是插件冲突这种,不过大家应该很少遇到,遇到了就很难受了。比如:两轮差速插件和机械臂的轨迹执行插件不要放在都放在urdf中加载,会冲突导致轮子失效。不要问小鱼怎么知道的。

2.6 显卡驱动跑起

现象

  • 9.gazebo卡的动不了

解决办法

  • 显卡来跑gazebo,参考小鱼这篇文章:

3.总结

今天再次给大家总结一下gazebo仿真问题,希望对大家有所帮助哦,gazebo本身是可以脱离ros使用的工具,大家不要误以为它讲就是和ros一体的。在ros2中,安装ros2就不会自动安装gazebo了,需要我们手动安装。

今天就到这里,祝各位鱼粉们周末愉快~对了欢迎大家加入鱼群一起学习哦,进群方式在公众号下方,也可后台回复鱼群获取。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值