Dashgo底盘入门教程-环境-搭建运行环境
Dashgo底盘入门教程-环境-搭建运行环境
说明:
- 介绍Dashgo运行环境安装,控制方法等
安装
- 设置用户的串口读取权限
$ sudo usermod -a -G dialout your_user_name
- your_user_name替换为实际用户名.
- 重启PC,使配置生效
- 安装依赖包:
$ sudo apt-get install git python-serial ros-indigo-serial g++ ros-indigo-turtlebot-rviz-launchers ros-indigo-teleop-twist-keyboard
- 下载并编译 dashgo 包
$ mkdir -p ~/dashgo_ws/src
$ cd ~/dashgo_ws/src
$ git clone https://github.com/EAIBOT/dashgo.git
$ cd ~/dashgo_ws/src/dashgo
$ git checkout slam_02
$ cd ~/dashgo_ws
$ catkin_make
- catkin_make 编译完成后,添加 Dashgo 环境变量 ~/.bashrc 文件中。
$ echo "source ~/dashgo_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
- source ~/.bashrc 使环境变量的配置生效。
- 为 D1 的串口增加一个设备别名 /dev/dashgo
$ cd ~/dashgo_ws/src/dashgo/dashgo_bringup/startup
$ sudo sh create_dashgo_udev.sh
- 重新插拔连接 PC 的 D1 USB 线后,通过如下命令查看是否生效。
$ ls -l /dev/dashgo
- 注意:如果没有找到 /dev/dashgo 串口,先确定 /dev 下是否存在名为 ttyACM 开头的串口,若没有,则是 D1 的串口没有连上。
ROS控制 D1 移动
- 本教程提供三种方式控制小车的移动。
- 首先,运行dashgo的 D1 驱动节点
$ roslaunch dashgo_bringup minimal.launch
- 注意:运行上面命令行是ROS控制 D1 移动的基础。
方式一:键盘控制
- 先安装键盘控制包 ros-indigo-teleop-twist-keyboard
$ sudo apt-get install ros-indigo-teleop-twist-keyboard
- 然后,在新的终端运行
$ rosrun dashgo_bringup teleop_twist_keyboard.py
- 得到如下内容
Reading from the keyboard and Publishing to Twist!
---------------------------
Moving around:
u i o
j k l
m , .
q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
anything else : stop
CTRL-C to quit
- 控制 D1 移动的按键分布如下:
- 前进: i
- 后退: ,
- 左转: j
- 后转: l
- 停止: k
方式二:命令行控制
- 在新的终端执行如下命令,给底盘一个恒定的速度运动。
rostopic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0}}'
CTRL+C 取消该命令。
说明:
- linear: {x: 0.2, y: 0, z: 0}
- x:0.2 表示以0.2m/s的速度前进, 也可以修改为0.1~0.7任意值, 0.5以上的速度比较快,要把 D1 放到空旷的地方
- 该值也支持负数, -0.2m/s表示以0.2m/s的速度后退。
- angular: {x: 0, y: 0, z: 0}
- z:0 表示以rad/s(弧度/秒)的速度向左转动,一般取值0.5~3.0。
- 该值也支持负数, 表示向右转动。
- linear: {x: 0.2, y: 0, z: 0}
方式三:手机控制
通过 EAI 团队开发的手机 APP 控制,目前仅支持 Android。
在 APP 启动界面,选择 “WIFI” 便进入到WiFi连接界面,如下图所示:
需要输入的 Master IP 是 PC 的 IP 地址。
Ubuntu 查看 IP 地址,Ctrl + Alt + T 打开终端,输入 ifconfig ,然后回车
效果:
eaibot@eaibot:~$ ifconfig
eth0 Link encap:以太网 硬件地址 44:37:e6:3d:e0:fc
inet 地址:172.20.105.24 广播:172.20.105.255 掩码:255.255.255.0 //有线网络的IP地址
inet6 地址: fe80::4637:e6ff:fe3d:e0fc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:350 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:134 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:27790 (27.7 KB) 发送字节:18843 (18.8 KB)
中断:17
lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0 //本地的IP地址
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:167 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:167 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1
接收字节:12903 (12.9 KB) 发送字节:12903 (12.9 KB)
连接成功后,界面如下:
方向的操控,如下图所示:
注意:ROS 系统的 IP 必须与手机端的 IP 在同一个网段,即两者要连在同一个路由器上。
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号