安装turtlebot的package以运行现成的代码。
原先hydro版本的ROS下turtlebot包只有一个turtlebot文件夹,这也是一个独立的工作空间,但是在indigo版本下的turtlebot包是三个组合工作空间分别是rocon、kobuki、turtlebot,这是三个并列同级的文件夹,这里涉及到工作空间的覆盖(overlay)问题。
如下步骤是从源码安装
1、安装前的准备
$ sudo apt-get install python-rosdep python-wstool ros-indigo-ros
$ sudo rosdep init
$ rosdep update123
2、安装rocon、kobuki、turtlebot
这三个是组合空间的关系,必须按照顺序安装
$ mkdir ~/rocon
$ cd ~/rocon
$ wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/indigo/rocon.rosinstall
$ source /opt/ros/indigo/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ mkdir ~/kobuki
$ cd ~/kobuki
$ wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/kobuki.rosinstall
$ source ~/rocon/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make
$ mkdir ~/turtlebot
$ cd ~/turtlebot
$ wstool init src -j5 https://raw.github.com/yujinrobot/yujin_tools/master/rosinstalls/indigo/turtlebot.rosinstall
$ source ~/kobuki/devel/setup.bash
$ rosdep install --from-paths src -i -y
$ catkin_make1234567891011121314151617181920
从上面的安装顺序以及依次source的setup.bash文件可以看出他们三个工作空间的层级关系。
3、环境设置
【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" >> ~/.bashrc12345678910
接下来说一下电池变量
# 运行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.bash123456
如果显示找不到/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 ~/.bashrc1
再在文件末尾添加如下语句:
(我的移动机器人平台是turtlebot一代:IRobot Create+Kinect)
# For a source installationsource ~/turtlebot/devel/setup.bash# Export the turtlebot variablesexport TURTLEBOT_BASE=createexport TURTLEBOT_STACKS=circlesexport TURTLEBOT_3D_SENSOR=kinectexport TURTLEBOT_SERIAL_PORT=/dev/ttyUSB012345678
到这里就安装完成了。
可以以最小模式运行turtlebot机器人测试一下是否安装成功,如果环境变量配置正确,下面命令中的单词输入一部分之后按下Tab键是可以自动补全该单词的。
$ roslaunch turtlebot_bringup minimal.launch
本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。