1,理论模型
在使用ROS导航时,move_base发布的时 /cmd_vel 话题,但是为了驱动小车,可能我们的车的底盘并不支持ros系统,因此需要通过串口通信交换数据,因此我们必须自己订阅 /cmd_vel 的话题,然后将线速度和角速度转化成小车车轮的的线速度或者转速度进行控制。
两轮小车的模型,是可以认为是一个刚体的,因为小车每一个部分之间在运动过程中不会出现位移,因此,每一个部分之间的线速度是相同的,而角速度需要转化。
如下图所示,
代码分析:
self.left_vel = self.dx - self.dr * self.wheel_dist / 2
self.right_vel = self.dx + self.dr * self.wheel_dist / 2
原理公式:
l e f t V e l = V x − V θ ∗ w h e e l D i s t / 2 leftVel = V_x-V_\theta*wheelDist/2 leftVel=V