满怀激情的把ROS,turtlesim,都安上了,试试吧,敲个roscore启动下内核先:
root@ubuntu:/# roscore
roscore: command not found
哦?果然不行,怎么回事呢?
没关系,出点状况也是正常的,出问题不重要,怎样解决问题才是重要的。
1.首先以执行命令roscore为例,说明一下Linux 中的命令是如何实现的(对于bash等Shell也是一样的道理),其实很简单:
Step1:其实命令的主体是一个二进制可执行文件,首先,需要存在这个文件roscore
Step2:要有一个命令解释器,去解释这个命令
Step3:确保需要运行命令时,解释器(interpreter)在工作
2.逐步检查
Check Step1:/opt/ros/indigo/bin/检查一下这个目录里有没有roscore
果然没有,可能是没有成功安装,因为安装的时候看到好多失败项,而且速度很慢。
-------solve 1.1 解决更新速度慢、更新失败的原因。
这里涉及到一个更新源的问题,默认情况下,Ubuntu使用的是美国的更新源,但是这个并不是很好使,经过测试,选了一个清华的更新源,本人在北京,速度非常快。(对于ROS的安装,已经有各种教程了,但似乎都没有提到这个问题,导致很多Linux小白卡到了这里,所以在这里做一个补充)
可以看到,这个目录里多了好多可执行文件,我们要找的roscore也在里边。至此,问题1.1已经完美解决啦。
有点兴奋,先试试,能不能用了。
哦?这又是什么?ros没能正常运行,但是至少说明roscore 这个命令可以正常调用了。
重启一下吧。
貌似OK了。
出现了这些东西,应该没有太大问题了吧。
可以控制小海龟自由移动了,至此整个问题已经解决了,但是出于学习的心态,小白决定把剩余几个Step1:验证一下:
Verify
Step2:我们执行ROS相关命令所需的解释器就是setup.bash,存放在/opt/ros/indigo里边。
Step3:要保证我们使用ROS相关命令时,解释器都在运行,我们可以在.bashrc文件里边”寄生“这个运行解释器的命令 source /opt/ros/indigo/setup.bash
注:本文参考了“机器人操作系统浅析”,在此对作者及ROS、Linux相关开源组织表示感谢!