说明
介绍树莓派3安装ubuntu mate16.04+kinetic之后,再源码安装Turtlebot
系统安装
安装ubuntu mate16.04+kinetic
参考树莓派3debs安装ROS环境(ubuntu mate 16.04+kinetic)
设置扩展空间,参考树莓派3-配置-根分区扩展到整张SD卡
增加SWAP,参考树莓派3-配置-扩展SWAP
turtlebot安装
安装准备
$ sudo apt-get install python-rosdep python-wstool ros-kinetic-ros
$ sudo rosdep init
$ rosdep update
分别建立三个工作空间rocon,kobuki,turtlebot,下载和编译源码
建立rocon目录,下载和编译,rocon都有对应的kinetic版本
$ mkdir ~/rocon
$ cd ~/rocon
$ wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/release/kinetic/rocon.rosinstall
$ source /opt/ros/kinetic/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
如果wstool更新失败,可以重新更新:
$ wstool update -t src
建立kobuki目录,下载和编译.
kobuki使用kinetic的版本下载会失败,先用indigo版本生成下载的rosinstall文件,再修改对应包为kinetic版本
$ mkdir ~/kobuki
$ cd ~/kobuki
$ wget https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall
$ vim kobuki.rosinstall #参照kobuki.rosinstall文件内容,修改后在进行。
$ wstool init src -j5 kobuki.rosinstall
$ source ~/rocon/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
kobuki.rosinstall 文件为:
# THIS IS AN AUTOGENERATED FILE, LAST GENERATED USING wstool ON 2016-12-08
- git:
local-name: kobuki
uri: https://github.com/yujinrobot/kobuki.git
version: kinetic
- git:
local-name: kobuki_core
uri: https://github.com/yujinrobot/kobuki_core.git
version: kinetic
- git:
local-name: kobuki_desktop
uri: https://github.com/yujinrobot/kobuki_desktop.git
version: kinetic
- git:
local-name: kobuki_msgs
uri: https://github.com/yujinrobot/kobuki_msgs.git
version: kinetic
- git:
local-name: yocs_msgs
uri: https://github.com/yujinrobot/yocs_msgs.git
version: release/0.6-kinetic
- git:
local-name: yujin_ocs
uri: https://github.com/yujinrobot/yujin_ocs.git
version: kinetic
建立turtlebot目录,下载和编译.
turtlebot使用kinetic的版本下载会失败,先用indigo版本生成下载的rosinstall文件,再修改对应包为kinetic版本,没有kinetic版本的保持为indigo版本
$ mkdir ~/turtlebot
$ cd ~/turtlebot
$ wget https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall
$ vim turtlebot.rosinstall #参照turtlebot.rosinstall文件内容,修改后在进行。
$ wstool init src -j5 turtlebot.rosinstall
$ source ~/kobuki/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
turtlebot.rosinstall文件内容:
# THIS IS AN AUTOGENERATED FILE, LAST GENERATED USING wstool ON 2016-12-08
- git:
local-name: turtlebot
uri: https://github.com/turtlebot/turtlebot.git
version: kinetic
- git:
local-name: turtlebot_apps
uri: https://github.com/turtlebot/turtlebot_apps.git
version: indigo
- git:
local-name: turtlebot_create
uri: https://github.com/turtlebot/turtlebot_create.git
version: indigo
- git:
local-name: turtlebot_create_desktop
uri: https://github.com/turtlebot/turtlebot_create_desktop.git
version: kinetic
- git:
local-name: turtlebot_interactions
uri: https://github.com/turtlebot/turtlebot_interactions.git
version: indigo
- git:
local-name: turtlebot_msgs
uri: https://github.com/turtlebot/turtlebot_msgs.git
version: indigo
- git:
local-name: turtlebot_simulator
uri: https://github.com/turtlebot/turtlebot_simulator.git
version: indigo
环境设置
【kobuki平台】
# 设置udev规则使得电脑自动识别kobuki串口,无需每次用chmod赋权限
$ . ~/turtlebot/devel/setup.bash
$ rosrun kobuki_ftdi create_udev_rules
# 如果你使用Kinect作为3D传感器就设置一下TURTLEBOT_3D_SENSOR
$ echo"export TURTLEBOT_3D_SENSOR=kinect">> ~/turtlebot/devel/setup.sh
$ source ~/turtlebot/devel/setup.bash
#将Turtlebot空间设置为默认空间,以后可以不用每次运行source命令
$ echo"source ~/turtlebot/devel/setup.bash">> ~/.bashrc
接下来说一下电池变量
# 运行turtlebot_dashboard查看Turtlebot运行状态
$ roslaunch turtlebot_bringup minimal.launch$ roslaunch turtlebot_dashboard turtlebot_dashboard.launch
# 如果看到上面面板上的笔记本电池能够显示电量就不用专门设置下面的电池环境变量了,如果无法正常显示电量的话需要设置以下变量
$ echo "export TURTLEBOT_BATTERY=/proc/acpi/battery/BAT1">> ~/turtlebot/devel/setup.sh
$ source ~/turtlebot/devel/setup.bash
如果显示找不到/proc/acpi/battery/BAT1 说明电池文件不在这个位置
Linux内核版本<= kernel 2.6的系统电池文件位置应该在/proc/acpi/battery/ 名字有可能是BAT0或者BAT1
Linux内核版本是kernels 3.0+的系统,电池文件在/sys/class/power_supply/ 文件夹下,名字有可能是BAT0 或者BAT1 所以 TURTLEBOT_BATTERY=/sys/class/power_supply/BAT0 或者TURTLEBOT_BATTERY=/sys/class/power_supply/BAT1
最简单办法是在系统/ 目录下搜索BAT0 或者BAT1 文件,从而确认TURTLEBOT_BATTERY 的值
[create平台】
修改~/.bashrc文件,这样每次启动都将自动设置这些环境变量,否则每次都要用export命令逐个添加这些环境变量。
先打开.bashrc文件:
$ gedit ~/.bashrc
再在文件末尾添加如下语句:
(我的移动机器人平台是turtlebot一代:IRobot Create+Kinect)
# For a source installation
source~/turtlebot/devel/setup.bash
# Export the turtlebot variables
export TURTLEBOT_BASE=create
export TURTLEBOT_STACKS=circles
export TURTLEBOT_3D_SENSOR=kinect
export TURTLEBOT_SERIAL_PORT=/dev/ttyUSB0
到这里就安装完成了。
可以以最小模式运行turtlebot机器人测试一下是否安装成功,如果环境变量配置正确,下面命令中的单词输入一部分之后按下Tab键是可以自动补全该单词的。
$ roslaunch turtlebot_bringup minimal.launch
安装kinect驱动
$ sudo apt-get install ros-kinetic-openni-* ros-kinetic-openni2-* ros-kinetic-freenect-*
测试turtlebot
(1)kobuki测试
运行 roscore
$roscore
将turtlebot 的 USB 连接上 PC,新开一个 terminal 运行下面命令。
$roslaunch turtlebot_bringup minimal.launch
启动键盘控制节点,新开一个 terminal执行下面命令,执行完毕按照上面
提示控制 kobuki 移动。
$roslaunch turtlebot_teleop keyboard_teleop.launch
(2)kinect测试
首先需要确认你的机器人的 kobuki 和 Kinect 已经正常连接。当然你可以
先初始化机器人。
$roscore
#查看kinect采集图像
$roslaunch turtlebot_bringup 3dsensor.launch
$rosrun image_view image_view image:=/camera/rgb/image_color
#利用kinect跟踪
$roslaunch turtlebot_bringup minimal.launch
启动跟随,检测机器人能否进行目标跟随。
$roslaunch turtlebot_follower follower.launch
参考链接:
http://www.ncnynl.com/archives/201612/1148.html
https://blog.csdn.net/u013453604/article/details/49386953