一定要按照官方wiki的要求,ubuntu版本:14.04,ROS版本:indigo。
Wiki地址:http://wiki.ros.org/Robots/TurtleBot
我一开始就是直接装了ROS的jade版,后来发现网上有人说turtle中的某些包jade不支持,为了避免以后出现更多问题,还是卸了jade又装的indigo,其中也经历了一些小坎坷。
即执行
sudo apt-getinstall ros-indigo-desktop-full
这条命令时,会提示有一些包由于依赖问题不能安装。
原因有很多,可能是改过安装源,可能是之前安装过又卸载过某些包,等等。
官方给出的办法:http://wiki.ros.org/cn/indigo/Installation/Ubuntu
这里直接把官方的办法贴出来:
如果你用的是Ubuntu Trusty 14.04.2并在安装ROS的时候遇到依赖问题,你可能还得安装一些其它系统依赖。
如果你使用的是ubuntu 14.04,请不要安装以下软件,否则会导致你的X server无法正常工作:
sudo apt-get install xserver-xorg-dev-lts-utopic mesa-common-dev-lts-utopic libxatracker-dev-lts-utopic libopenvg1-mesa-dev-lts-utopic libgles2-mesa-dev-lts-utopic libgles1-mesa-dev-lts-utopic libgl1-mesa-dev-lts-utopic libgbm-dev-lts-utopic libegl1-mesa-dev-lts-utopic
如果你使用的是ubuntu 14.04,请不要安装以上软件,否则会导致你的X server无法正常工作
或者尝试 只 安装下面这个工具来修复依赖问题:
sudo apt-get install libgl1-mesa-dev-lts-utopic
关于这个问题的更多信息请查看这个 answers.ros.org 提问 或者这个 launchpad 问题
我的办法:
先把安装源改回官方源,也就是系统安装后默认的“中国的服务器”;
然后:提示缺少哪个依赖的包,你就sudo apt-get install 单独安装它。提示,安装;提示,安装......一直往下走,直到没有任何依赖项提示,你再挨个往回安装,最后你就可以正常安装ROS了。
事实上,挨个安装依赖包后,再安装ROS会发现,剩下需要安装的包已经很少了,相当于你手动安装了一部分包。
参考:
https://www.zhihu.com/question/40366751
http://tieba.baidu.com/p/4352911735
如果仍然不能解决问题,最简单直接的办法,重装ubuntu
解决办法:还是更换软件源,这次换个国内的,就163吧,哈哈。
更换完毕,重新执行可能会显示进程被占用什么的,直接暴力重启。解决。
因为我开始没仔细看,装的是jade版本的ROS,后来又卸载jade安装indigo,然而执行到
~/.bashrc
这一步时,会显示
bash:/opt/ros/jade/setup.bash:没有那个文件或目录
这是由于在安装jade时,已经配置过环境变量了,那时在.bashrc文件里已经有jade的环境变量,而且它会在你新配置的indigo的环境变量前面。而jade已经卸载,所以会显示找不到。
解决办法:
用文件管理器在根目录中搜索.bashrc文件,如果找不到,ctrl+h显示隐藏文件。
然后打开.bashrc文件,直接看最后一行,会发现原来的
source/opt/ros/jade/setup.bash
还在,直接删除,然后手动加上:
source/opt/ros/indigo/setup.bash
成功。
参考:http://bbs.csdn.net/topics/390742360