校准Poineer 3at

每个机器人在使用之前应该都需要进行校正,其中包括线速度校正和角速度校正.

这个博客结合的是Poineer3机器人操作手册和ROS入门实例这两本书.

首先自己要建立自己机器人的launch文件.

<launch>

<!-- Starting rosaria driver for motors and encoders -->
  <node name="rosaria" pkg="rosaria" type="RosAria" args="_port:=/dev/ttyUSB0">
  <param name="DriftFactor" value="0"/>
  <param name="TicksMM" value="138"/>
  <param name="RevCount" value="16485"/>
  <remap from="rosaria/cmd_vel" to="cmd_vel"/>
  <remap from="rosaria/pose" to="odom"/>
  </node>

  <arg name="model" default="/home/felaim/catkin_ws/src/amr-ros-config/description/urdf/pioneer3at.urdf"/>
  <arg name="gui" default="False" />
  <param name="robot_description" textfile="$(arg model)" />
 <param name="use_gui" value="$(arg gui)"/>
  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" ></node>
  <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
  <node name="rviz" pkg="rviz" type="rviz" args="-d $(find rbx1_nav)/nav_ekf.rviz"/>

</launch>   

LZ这里还添加了rviz的节点启动,同时也下载了对应的Pioneer3at对应的机器人模型,可视化效果会好一些.
这里写图片描述
因为只能从上面看,所以基本的模型如上图所示.

使用的是rbx1_nav中的calibrate_linear.py和calibrate_angular,然后再对自己的DriftFactor,TicksMM和RevCount进行修改.LZ不知到因为啥旋转的时候校正总是会差5度左右,这应该不是硬件问题?

DriftFactor是使机器人前(后)移动5米,是的其始终能保证直线行走.通过使用ARIA中demo的position模式,再通过代码模式对(#89)进行参数修正.

TicksMM和RevCount通过rqt_reconfigure进行参数修正.

注意:要通过ARIA或者ARC0S把电子罗盘进行关闭

还有几个问题,在校正前先检查轮胎是否有气?自己充气时尽量保证胎压差不多在23psi(和出厂差不多).

猜你喜欢

转载自blog.csdn.net/felaim/article/details/80236857