程序员做梦都想做的事就是有一个搭建好的环境让你舒服地敲代码 Debug,所以对于想学ros跑起turtlebot的小伙伴我这边留下一份自己搭建起ubantu14.04下的环境的配置过程,以及最后给出了github上的源码(是robotcup@home 2017和2018一些比赛积累出的代码,算是实战代码有兴趣的朋友可以看看,里面还有很多不严谨的地方但是跑比赛流程是ojbk的)。希望一起学习的伙伴能够在一个稳定的平台上快速入门。
安装ROS-indigo
> sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
> sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
> sudo apt-get update
> sudo apt-get install ros-indigo-desktop-full
> sudo rosdep init
> rosdep update
> echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
> source ~/.bashrc
> sudo apt-get install python-rosinstall
卸载以deb方式安装的turtlebot package
如果之前使用deb安装过turtlebot的package,运行
> sudo apt-get --purge remove ros-indigo-turtlebot ros-indigo-turtlebot-apps ros-indigo-turtlebot-interactions ros-indigo-turtlebot-simulator ros-indigo-kobuki-ftdi ros-indigo-rocon-remocon ros-indigo-rocon-qt-library ros-indigo-ar-track-alvar-msgs
卸载之前deb安装的turtlebot的package
准备工作
> sudo apt-get install python-rosdep python-wstool ros-indigo-ros
> sudo rosdep init
> rosdep update
源码安装
> mkdir ~/rocon
> cd ~/rocon
> wstool init -j5 src https://raw.github.com/robotics-in-concert/rocon/release/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_make
导航缺少的安装包
> sudo apt-get install ros-indigo-turtlebot-rviz-launchers
> sudo apt-get install ros-indigo-turtlebot-msgs
语音部分
安装sphinxbase-5prealpha和pocketsphinx-5prealpha(语音)
下载软件包
下载sphinxbase-5prealpha和pocketsphinx-5prealpha -> https://cmusphinx.github.io/wiki/download/安装
1. 解压
2. 在sphinxbase-5prealpha文件夹下运行
> ./autogen.sh
注意!!!!!!
运行完./autogen.sh后,一定仔细看输出的结果,可能你电脑上少装了什么依赖,比如bison。这时候缺什么就sudo apt-get install什么就好啦。
3. 运行以下指令安装
> ./configure > make > make install
4. 在pocketsphinx-5prealpha文件夹下重复2~3步
注意!!!如果出现
ad_oss.c(115): Failed to open audio device(/dev/dsp): No such file or directory FATAL: "continuous.c", line 305: Failed to open audio device
就安装osspd
> sudo apt-get install osspd
安装soundplay
> sudo apt-get install ros-indigo-audio-common > sudo apt-get install libasound2
安装CMU自带的声音(目前用这个声音,之后可能会改)
> sudo apt-get install festlex-cmu > cd /usr/share/festival/voices/english/ > sudo wget -c \http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_clb_arctic\-0.95-release.tar.bz2 > sudo wget -c \http://www.speech.cs.cmu.edu/cmu_arctic/packed/cmu_us_bdl_arctic\-0.95-release.tar.bz2 > sudo tar jxfv cmu_us_clb_arctic-0.95-release.tar.bz2 > sudo tar jxfv cmu_us_bdl_arctic-0.95-release.tar.bz2 > sudo rm cmu_us_clb_arctic-0.95-release.tar.bz2 > sudo rm cmu_us_bdl_arctic-0.95-release.tar.bz2 > sudo ln -s cmu_us_clb_arctic cmu_us_clb_arctic_clunits > sudo ln -s cmu_us_bdl_arctic cmu_us_bdl_arctic_clunits
代码下载与编译
处理之前的工作空间
最好把之前的工作空间删除,然后把.bashrc里面source到以前工作空间的命令删除。
统一使用catkin_ws作为工作空间名字,这样可以避免路径出现问题
GitHub上下载代码
进入https://github.com/seasonyao/robotcup_codes_nankai_kamerider
后面就是git的操作就不赘述了,里面有一个关于人脸识别的权重文件太大没有传上去,大家要用到留言给我我私法就好
注意看speech包的README,否则socket无法与pocketsphinx通信!!!!
编译
先对下载的文件里所有文件更改权限,变成可执行文件
> chmod +x /home/用户名/catkin_ws/src
在catkin_ws里运行catkin_make,有路径问题就改路径
稍微说一下代码,代码很多,基本分为navigation、speech、img和arm四个部分,有兴趣的同学可以看看robotcup这两年的家庭组的比赛项目规则,然后再看代码就会知道我在做什么了。因为很多都是比赛前一两天甚至几分钟前敲出来的,没有很详细的注释说明非常抱歉,但是大家只要跟着ros的wiki文档走一遍熟悉ros操作系统到底怎么运作的,只要大家是python和C++的老手我相信很快就会上手的,只要上手其中一个文件基本其他都能看得懂。话不多说,有问题欢迎交流