說明
介紹樹莓派3安裝ubuntu mate16.04+kinetic之后,再源碼安裝Turtlebot
系統(tǒng)安裝
安裝ubuntu mate16.04+kinetic
參考樹莓派3debs安裝ROS環(huán)境(ubuntu mate 16.04+kinetic)
設(shè)置擴展空間,參考樹莓派3-配置-根分區(qū)擴展到整張SD卡
增加SWAP,參考樹莓派3-配置-擴展SWAP
turtlebot安裝
安裝準(zhǔn)備
$ sudo apt-get install python-rosdep python-wstool ros-kinetic-ros
$ sudo rosdep init
$ rosdep update
分別建立三個工作空間rocon,kobuki湖员,turtlebot漫雕,下載和編譯源碼
建立rocon目錄,下載和編譯楚昭,rocon都有對應(yīng)的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文件督弓,再修改對應(yīng)包為kinetic版本
$ mkdir ~/kobuki
$ cd ~/kobuki
$ wget https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall
$ vim kobuki.rosinstall #參照kobuki.rosinstall文件內(nèi)容手报,修改后在進行烁挟。
$ 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文件,再修改對應(yīng)包為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文件內(nèi)容录煤,修改后在進行。
$ wstool init src -j5 turtlebot.rosinstall
$ source ~/kobuki/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
turtlebot.rosinstall文件內(nèi)容:
# 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
環(huán)境設(shè)置
【kobuki平臺】
# 設(shè)置udev規(guī)則使得電腦自動識別kobuki串口荞胡,無需每次用chmod賦權(quán)限
$ . ~/turtlebot/devel/setup.bash
$ rosrun kobuki_ftdi create_udev_rules
# 如果你使用Kinect作為3D傳感器就設(shè)置一下TURTLEBOT_3D_SENSOR
$ echo"export TURTLEBOT_3D_SENSOR=kinect">> ~/turtlebot/devel/setup.sh
$ source ~/turtlebot/devel/setup.bash
#將Turtlebot空間設(shè)置為默認空間妈踊,以后可以不用每次運行source命令
$ echo"source ~/turtlebot/devel/setup.bash">> ~/.bashrc
接下來說一下電池變量
# 運行turtlebot_dashboard查看Turtlebot運行狀態(tài)
$ roslaunch turtlebot_bringup minimal.launch$ roslaunch turtlebot_dashboard turtlebot_dashboard.launch
# 如果看到上面面板上的筆記本電池能夠顯示電量就不用專門設(shè)置下面的電池環(huán)境變量了,如果無法正常顯示電量的話需要設(shè)置以下變量
$ echo "export TURTLEBOT_BATTERY=/proc/acpi/battery/BAT1">> ~/turtlebot/devel/setup.sh
$ source ~/turtlebot/devel/setup.bash
如果顯示找不到/proc/acpi/battery/BAT1?說明電池文件不在這個位置?
Linux內(nèi)核版本<= kernel 2.6的系統(tǒng)電池文件位置應(yīng)該在/proc/acpi/battery/?名字有可能是BAT0或者BAT1?
Linux內(nèi)核版本是kernels 3.0+的系統(tǒng),電池文件在/sys/class/power_supply/?文件夾下泪漂,名字有可能是BAT0?或者BAT1?所以?TURTLEBOT_BATTERY=/sys/class/power_supply/BAT0?或者TURTLEBOT_BATTERY=/sys/class/power_supply/BAT1?
最簡單辦法是在系統(tǒng)/?目錄下搜索BAT0?或者BAT1?文件廊营,從而確認TURTLEBOT_BATTERY?的值
[create平臺】?
修改~/.bashrc文件,這樣每次啟動都將自動設(shè)置這些環(huán)境變量萝勤,否則每次都要用export命令逐個添加這些環(huán)境變量露筒。?
先打開.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機器人測試一下是否安裝成功敌卓,如果環(huán)境變量配置正確邀窃,下面命令中的單詞輸入一部分之后按下Tab鍵是可以自動補全該單詞的。
$ roslaunch turtlebot_bringup minimal.launch
安裝kinect驅(qū)動
$ 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
啟動鍵盤控制節(jié)點,新開一個 terminal執(zhí)行下面命令舵抹,執(zhí)行完畢按照上面
提示控制 kobuki 移動肪虎。
$roslaunch turtlebot_teleop keyboard_teleop.launch
(2)kinect測試
首先需要確認你的機器人的 kobuki 和 Kinect 已經(jīng)正常連接。當(dāng)然你可以
先初始化機器人惧蛹。
$roscore
#查看kinect采集圖像
$roslaunch turtlebot_bringup 3dsensor.launch
$rosrun image_view image_view image:=/camera/rgb/image_color
#利用kinect跟蹤
$roslaunch turtlebot_bringup minimal.launch
啟動跟隨扇救,檢測機器人能否進行目標(biāo)跟隨。
$roslaunch turtlebot_follower follower.launch
參考鏈接:
http://www.ncnynl.com/archives/201612/1148.html
https://blog.csdn.net/u013453604/article/details/49386953