如何搭建ROS小车底盘(四)

前两节介绍了ROS小车底盘下位机的程序,本节主要介绍下ROS上位机的程序。

ros_arduino_bridge安装

假设上位机已安装ROS indigo版本,并创建了用户的ROS项目空间~/catkin_ws。

安装方法如下:

cd ~/catkin_ws/src
git clone https://github.com/hbrobotics/ros_arduino_bridge.git
cd ros_arduino_bridge
git checkout indigo-devel
cd ~/catkin_ws
catkin_make --pkg ros_arduino_bridge
source ~/.bashrc

添加配置文件

创建一个配置文件 ~/catkin_ws/src/ros_arduino_bridge/ros_arduino_python/config/my_arduino_params.yaml

port: /dev/ttyACM0
baud: 115200
timeout: 0.1
rate: 50
sensorstate_rate: 10

use_base_controller: True base_controller_rate: 10 # For a robot that uses base_footprint, change base_frame to base_footprint base_frame: base_link # === Robot drivetrain parameters wheel_diameter: 0.15 wheel_track: 0.287 encoder_resolution: 1768 # from Pololu for 13*34*4 motors gear_reduction: 1.0 motors_reversed: False # === PID parameters Kp: 10 Kd: 12 Ki: 0 Ko: 50 accel_limit: 1.0

参数含义:
- wheel_diameter : 小车轮子的直径
- wheel_track:两个轮子的轮间距
- encoder_resolution:轮子转一圈编码器的计数

运行

在不同的终端执行如下命令:

rosrun rosserial_python serial_node.py _port:=/dev/ttyACM0
roslaunch ros_arduino_python arduino.launch

然后运行

rosrun teleop_twist_keyboard teleop_twist_keyboard.py

控制小车前后左右移动了。
如果找不到teleop_twist_keyboard包,可以通过下面命令安装。

sudo apt-get install ros-indigo-teleop-twist-keyboard

你可能感兴趣的:(如何搭建ROS小车底盘(四))