1、进入你的ros工作空间目录,下载安装ArbotiX功能包(Kinetic版本)
git clone https://github.com/vanadiumlabs/arbotix_ros.git
2、下载键盘控制功能包mbot_teleop
1)进入DownGit
2)复制下面的链接放进去:
https://github.com/Magicalsoso/Ros-Beginner-tutorial/tree/master/mbot_teleop
3)点击下载,解压到你的ros工作空间。
3、下载完成后到你的工作空间目录下进行编译:
cd ~/catkin_ws
catkin_make
4、配置ArbotiX控制器
1)在你机器人功能包的config文件夹下,创建配置文件fake_mbot_arbotix.yaml,该文件描述了控制器的参数。
controllers: {
base_controller: {
type: diff_controller,
base_frame_id: base_footprint,
base_width: 0.26,
ticks_meter: 4100,
Kp: 12,
Kd: 12,
Ki: 0,
Ko: 50,
accel_limit: 1.0
}
}
此文件在arbotix功能包中arbotix_python的源文件diff_controller.py进行载入数据,如果自己不去自定义会有相应的默认值。
2)进入launch文件夹创建 arbotix_mbot_with_xacro.launch 文件。
<launch>
<arg name="model" default="$(find xacro)/xacro --inorder '$(find mbot_description)/urdf/mbot_with_laser.xacro'" />
<arg name="gui" default="true" />
<param name="robot_description" command="$(arg model)" />
<!-- 设置GUI参数,显示关节控制插件 -->
<param name="use_gui" value="$(arg gui)"/>
<node name="arbotix" pkg="arbotix_python" type="arbotix_driver" output="screen">
<rosparam file="$(find mbot_description)/config/fake_mbot_arbotix.yaml" command="load"/>
<param name="sim" value="true"/>
</node>
<!-- 运行joint_state_publisher节点,发布机器人的关节状态 -->
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<!-- 运行robot_state_publisher节点,发布tf -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
<!-- 运行rviz可视化界面 -->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_arbotix.rviz" required="true" />
</launch>
5、启动仿真器
roslaunch mbot_description arbotix_mbot_with_xacro.launch
启动后还要进行一些配置才会有如下显示效果,按左下角的 Add 添加Odometry选项,并设置为下图所示。
6、启动键盘控制
roslaunch mbot_teleop mbot_teleop.launch
7、现在可以通过键盘控制小车进行移动了。