教你配置出和我一样的ros工作环境附上整个工作空间里的源码

news/2025/2/22 10:54:43

程序员做梦都想做的事就是有一个搭建好的环境让你舒服地敲代码 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++的老手我相信很快就会上手的,只要上手其中一个文件基本其他都能看得懂。话不多说,有问题欢迎交流


http://www.niftyadmin.cn/n/1403610.html

相关文章

关于VS2005应用程序故障一例

早期做过的一个wince5.0应用程序重新装到仪表中。居然连续弹出错误,后按装debug版本才弹出atltime.inl等故障,代码没动过怎么会出现问题呢?后来发现仪表WINCE系统重新做过,定制时未定制ATL组件。添加以后故障解决. 应该是CTime对象…

C++纯虚函数 virtual =0

纯虚函数 一、定义 纯虚函数是一种特殊的虚函数&#xff0c;它的一般格式如下&#xff1a; class <类名> { virtual <类型><函数名>(<参数表>)0; … }; 在许多情况下&#xff0c;在基类中不能对虚函数给出有意义有实现&#xff0c;而把它说明为…

LFM法实现的user item推荐系统

所有源码都在github上&#xff08;https://github.com/seasonyao/recommended-system&#xff09; 代码环境&#xff1a;windows环境下python3.5&#xff0c;安装numpy和sklearn即可 源码、数据、结果&#xff1a;https://download.csdn.net/download/codes_first/10741150 …

VS2005/2008中清除最近打开项目的方法

一、手工操作方法&#xff1a; 1)删除最近打开的文件 运行“regedit”&#xff0c;打开 HKEY_CURRENT_USER \Software\Microsoft \VisualStudio \8.0 \FileMRUList 之后&#xff0c;在右边删除相应键值就可以了。&#xff08;该位置清除的是最近打开的文件列表&…

Red Hat Linux 安装 (本地、网络安装)

Red Hat Linux 安装 (本地、网络安装&#xff09;详情件附件本文出自 “李晨光原创技术博客” 博客&#xff0c;转载请与作者联系&#xff01;

pagerank的实现和模拟大量数据情况下的并行分块化

所有源码都在github上&#xff08;https://github.com/seasonyao/pagerank&#xff09; 一、pagerank简介&#xff08;参考书籍《推荐书籍实践》和csdn若干博客 可以跳到第二部分 需要解决的问题&#xff09; 1.PageRank的核心思想 如果一个网页被很多其他网页链接到的话说明…

WINCE PB编译不过各种错误集锦

本文将不择手段搜集WINCEPB的各种编译不过的错误并给出解决方案或是相关思路&#xff0c;搜集资料来源&#xff1a;本人编译出错后得到解决后的学习笔记&#xff0c;网上搜集的资料&#xff0c;朋友的教导等&#xff0c;后面将会详细备注&#xff0c;大家一起交流。文章一式两份…

NLP成长计划(一)

Getting Set Up 需要安装的程序&#xff1a; Anaconda 5.0.1 Python 3.6https://www.anaconda.com/download/ -- Python 3.6 可以更好地处理文本数据 -- Anacond 收集了流行的libraries以及packages. XGboost 安装XGBoost&#xff1a; conda install -c conda-forge xgboost…