ROS机器人学习(三)--使用ArbotiX控制机器人模型

本文最后更新于:2022年5月29日 上午

1、安装ArbotiX功能包

进入你的ros工作空间目录,下载安装ArbotiX功能包(Kinetic版本)

1
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、编译

1
2
cd ~/catkin_ws        
catkin_make

4、配置ArbotiX控制器

1)创建配置文件

在你机器人功能包的config文件夹下,创建配置文件fake_mbot_arbotix.yaml,该文件描述了控制器的参数。

1
2
3
4
5
6
7
8
9
10
11
12
13
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进行载入数据,如果自己不去自定义会有相应的默认值。V1zzcT.png

2)新建launch文件

进入launch文件夹创建 arbotix_mbot_with_xacro.launch 文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<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、启动仿真器

1
roslaunch mbot_description arbotix_mbot_with_xacro.launch

启动后还要进行一些配置才会有如下显示效果,按左下角的 Add 添加Odometry选项,并设置为下图所示。

V1zx3V.png

6、启动键盘控制

1
roslaunch mbot_teleop mbot_teleop.launch

V1zv90.png

7、控制小车移动

现在可以通过键盘控制小车进行移动了

V1zXhq.png


ROS机器人学习(三)--使用ArbotiX控制机器人模型
https://kevinloongc.github.io/posts/63737.html
作者
Kevin Loongc
发布于
2019年4月25日
许可协议