Ubuntu 16.04 ROS(Kinetic) Turtlebot 安装

说明

介绍树莓派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

你可能感兴趣的:(Ubuntu 16.04 ROS(Kinetic) Turtlebot 安装)