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

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

你可能感兴趣的:(ROS,自动驾驶,机器学习,深度学习)