ROS与duckietbot指南-线速度和角速度校准
说明:
介绍如何通过校准让小车以最大的速度走直线
影响不能走直线原因:
电机通过电压值不同来控制电机转速,他们是正比关系,电压信号差异会导致走直线会出现偏移
电机差异导致两轮前进的速度不一致,从而走直线会出现偏移
轮子周长差异差异也会导致走直线会出现偏移
电机速度与电压关系:
图示:
Vright,Vleft是两个电机速度
g是gain,r是tirm
v是线速度,w是角速度
l是两轮之间的间距
g控制小车线速度,g>1.0会跑的更快,g<1.0会跑的更慢些
r控制小车角速度,r>0同样速度情况下,右轮比左轮会稍微幅度大些,r<0右轮比左轮会稍微幅度小些
校准tirm参数:
默认下trim参数为0,假设电机和轮都相同的情况下,修改tirm参数
$ rosservice call /robot name/inverse_kinematics_node/set_trim -- trim value
步骤1:打开duckietbot并联网
步骤2:通过游戏杆控制
$ roslaunch duckietown joystick.launch veh:=robot name
步骤3:用一些胶带在地板上创建一条直线