关于Gazebo ROS Kobuki plugin:NaN in d1. step time:0.01的问题

关于Gazebo ROS Kobuki plugin:NaN in d1. step time:0.01的问题

我是用gazebo做仿真环境,机器人是用的turtlebot,它的底盘用的是kobuki,所以控制turtlebot的运动可以通过控制kobuki来实现。但是我在运行Gazebo的时候,总是运行几分钟之后出现“Gazebo ROS Kobuki plugin:NaN in d1. step time:0.01~~~”的问题。后来我找到了原因。

最根本的原因是:

这里写图片描述

这个意思就是kuboki在读取odom数据的时候速度(GetVelocity(0))为nan。
因为迭代的学习需要,在每次turtlebot碰到其他物体的时候,我需要reset turtlebot的position,这个时候就出现了问题,我最开始用的gazebo的service是/gazebo/reset_world,我后来发现,这个service没有把turtlebot的odom数据reset,所以在某一时刻造成了冲突,导致读出来的turtlebot的速度为nan,后来我把service 换成了/gazebo/reset_simulation就好了,同时,在每次bumper之后,我立即call the service。

猜你喜欢

转载自blog.csdn.net/osgoodwu/article/details/78774095