gazebo小车仿真时遇到问题:没有cmd_vel和odom话题

Gazebo键盘控制小车不动,发现没有cmd_vel和odom话题

在做ros机器人开发实践中的gazebo仿真时,改了一个四轮(两驱)的长方体小车,遇到了一个问题,即键盘控制小车没有反应,查看rostopic,发现少了cmd_vel和odom话题;一直找不到原因的我用书本的源码一步一步改,然后运行,终于发现了问题:添加传动装置的轮子的joint我设置为fixed,当我改为continuous之后,小车出现了里程计和运动控制话题。

原因:因为gazebo中的仿真都是基于物理引擎的,想让模型运动,就需要给模型施加力,就是给模型加上执行器(通常情况下就是电机)。transmission标签针对joint(一般两个link连接处如果是非固定的话,那么一定要存在一个执行装置来改变两个link的相对位置),给它加上电机驱动,小车就可以动起来了

加载小车模型遇到的问题:

Error [parser_urdf.cc:3166] Unable to call parseURDF on robot model
Error [parser.cc:406] parse as old deprecated model file failed.
[INFO] [1634454579.083451, 10.210000]: Spawn status: SpawnModel: Entity pushed to spawn queue, but spawn service timed out waiting for entity to appear in simulation under the name mrobot
[ERROR] [1634454579.084537, 10.210000]: Spawn service failed. Exiting.
[urdf_spawner-6] process has died [pid 7815, exit code 1, cmd /opt/ros/melodic/lib/gazebo_ros/spawn_model -urdf -model mrobot -param robot_description __name:=urdf_spawner __log:=/home/a/.ros/log/2980e3b4-2f19-11ec-9615-000c29d87c1f/urdf_spawner-6.log].
log file: /home/a/.ros/log/2980e3b4-2f19-11ec-9615-000c29d87c1f/urdf_spawner-6*.log

因为在宏定义参数运用的时候在$外面加上了一个负号,把它放在$后大括号里面,运行正常了

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值