问题描述:
Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
原因解析:
在上一次下载资源时,由于网络问题,下载失败。当换一个较好一点网络环境之后,下载失败报错。
原因在于,上一次不正常的关闭下载,导致资源被锁不可用,删除异常的资源,重新下载即可。
在ROS中有许多不同的函数库和工具,建议是完全安装,也可以根据自己的要求分别安装。完全安装时的工具包括ROS、rqt、可视化环境rviz、通用机器人库robot-generic libraries、2D(如stage)和3D(如Gazebo)仿真环境2D/3D simulators、导航功能包集navigation and 2D/3D(移动、定位、地图绘制、机械臂控制)、感知库perception(如视觉、激光雷达、RGB-D摄像头等)。
版本选择
开始安装
软件中心配置
首先打开软件和更新对话框,具体可以在 Ubuntu 最左上角的搜索按钮中搜索。 打开后按照下图进行配置(确保你的"restricted", "universe," 和 "multiverse."前是打上勾的):
查看Ubuntu版本
添加源
1.加入sources.list 14.04版本:
一旦添加了正确的软件源,操作系统就知道去哪里下载程序,并根据命令自动安装软件。
获取秘钥
更新软件源
首先确认你的Debian的软件包索引是最新的。Debian计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为 Debian。Debian系统目前采用Linux内核或者FreeBSD内核。
问题描述: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable) 原因解析: 在上一次下载资源时,由于网络问题,下载失败。当换一个较好一点网络环境之后,下载失败报错。 原因在于,上一次不正常的关闭下载,导致资源被锁不可用,删除异常的资源,重新下载即可。
解决方案: 运行以下命令,删除资源:
之后重新使用命令:sudo apt-get update,可以重新正常下载。
安装 ROS
··· sudo apt-get install ros-indigo-desktop-full ···
由于ros的软件包很大,一般都在1.5G以上,因此安装比较慢,请耐心等待。下载完开始安装后,需要选择YES开始安装,其他选项均按照默认的选择。
在ROS中有许多不同的函数库和工具,建议是完全安装,也可以根据自己的要求分别安装。完全安装时的工具包括ROS、rqt、可视化环境rviz、通用机器人库robot-generic libraries、2D(如stage)和3D(如Gazebo)仿真环境2D/3D simulators、导航功能包集navigation and 2D/3D(移动、定位、地图绘制、机械臂控制)、感知库perception(如视觉、激光雷达、RGB-D摄像头等)。
初始化ROS
··· [$]: sudo rosdep init
[$]:rosdep update
···
安装rosinstall
··· sudo apt-get install python-rosinstall ···
rosinstall命令是一个使用的非常频繁的命令,使用这个命令可以轻松的下载许多ROS软件包。
环境变量
··· echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc ···
使环境变量设置立即生效
··· source ~/.bashrc ···
配置你的ROS环境
注意:当你用像apt这样的软件包安装管理器安装ROS,那么这些软件包用户是没有权利的去编辑的,当创建一个ROS package和处理一个ROS package时,你应该始终选择一个你有权限工作的目录作为工作目录。
测试ROS
1) 在Terminal中输入下述命令。该命令是初始化ROS环境,全局参数,以及每个节点注册等工作。 ··· $ roscore ···
2) 再打开一个Terminal,输入命令。开启一个小乌龟界面。(可能与图中小乌龟不同) ··· $ rosrun turtlesim turtlesim_node ···
3) 再打开一个Terminal,输入命令。接受键盘输入,控制小乌龟移动。键盘按下上下左右按键,可看到控制小乌龟移动。 ··· $ rosrun turtlesim turtle_teleop_key ··· 4) 再打开一个Terminal,输入下诉命令,可以看到当前ROS Nodes 以及Topic等图形展示。 ··· $ rosrun rqt_graph rqt_graph ···
创建工作空间
管理环境
确认可以使用ROS指令 export | grep ROS
创建工作空间
此处创建的工作空间还需要在工作区目录中创建一个叫做 src 的子目录。这个子目录将用于存放功能包的源代码。而 代码中的 “-p” ,这时mkdir命令会自动创建所有不存在的目录。
mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src
即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它: cd ~/catkin_ws/ $ catkin_make 如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.sh文件:
ROS文件系统介绍
Packages: 软件包,是ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。 Manifest (package.xml): 清单,是对于'软件包'相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。
创建ROS程序包
一个catkin程序包由什么组成?
一个程序包要想称为catkin程序包必须符合以下要求: 该程序包必须包含catkin compliant package.xml文件 这个package.xml文件提供有关程序包的元信息。 程序包必须包含一个catkin 版本的CMakeLists.txt文件,而Catkin metapackages中必须包含一个对CMakeList.txt文件的引用。 每个目录下只能有一个程序包。 这意味着在同一个目录下不能有嵌套的或者多个程序包存在。 最简单的程序包也许看起来就像这样: my_package/ CMakeLists.txt package.xml
在catkin工作空间中的程序包
开发catkin程序包的一个推荐方法是使用catkin工作空间,但是你也可以单独开发(standalone)catkin 软件包。一个简单的工作空间也许看起来像这样: workspace_folder/ -- WORKSPACE src/ -- SOURCE SPACE CMakeLists.txt -- 'Toplevel' CMake file, provided by catkin package_1/ CMakeLists.txt -- CMakeLists.txt file for package_1 package.xml -- Package manifest for package_1 ... package_n/ CMakeLists.txt -- CMakeLists.txt file for package_n package.xml -- Package manifest for package_n 在继续本教程之前请先按照创建catkin工作空间教程创建一个空白的catkin工作空间。
查看工作空间:
··· printenv | grep ROS
ROS_ROOT=/opt/ros/indigo/share/ros ROS_PACKAGE_PATH=/opt/ros/indigo/share:/opt/ros/indigo/stacks ROS_MASTER_URI=http://localhost:11311 ROSLISP_PACKAGE_DIRECTORIES= ROS_DISTRO=indigo ROS_ETC_DIR=/opt/ros/indigo/etc/ros ···
安装查看指令
本教程中我们将会用到ros-tutorials程序包,请先安装: $ sudo apt-get install ros--ros-tutorials
将 替换成你所安装的版本(比如Jade、Indigo、hydro、groovy、fuerte等)。
http://www.liuxiao.org/2015/10/ros-%E5%9C%A8-ubuntu-14-04-%E7%B3%BB%E7%BB%9F%E4%B8%8A%E5%AE%89%E8%A3%85-ros-indigo/
安装roboware-studio
主页上提供了roboware-studio_1.2.0-1524709819_amd64版本下载,方便不能翻墙的童鞋(有3个part,别漏了)