实验编号: 实验指导书 实验项目: ROS系统安装 所属课程:ROS机器人操作系统基础与实战 课程代码: 面向专业: 机电专业 课程负责人: 朱笑笑 年月 日
实验编号: 实 验 指 导 书 实验项目: ROS 系统安装 所属课程: ROS 机器人操作系统基础与实战 课程代码: 面向专业: 机电专业 课程负责人: 朱笑笑 年 月 日
实验目的 通过让学生实际动手安装系统,让学生掌握Ubutnul6.O4及Ros Kine的安装 方法。熟悉ROS环境的配置,工作空间的创建,ros的文件系统等。 二、 实验内容 1. 完成Ubuntule6.04的安装 2. 完成Ros Kinect的安装 3. 创建一个新的ROS工作空间,完成环境的设置 查看ROS的文件结构 5. ROS包常用工具使用 三、 实验过程或其他示意图 1.buntule6.04的安装过程 Stepl.制作Ubuntule6.04的U盘启动盘。 进入Windows系统,插入U盘,打开UltraIS0软件,然后载入Ubuntu的 I$0文件,在点击启动选项(记得点开加载后的镜像,使之展开如图)然后点击 写入硬盘映像选项点击它进入到将要进行操作的界面。在写入磁盘映像界面在磁 盘驱动器一栏,选择插入的U盘,点击确定后开始制作。 文件漫作A自动®)工D话项⊙)秘助 写人预歌餐 图 ■。、动绿制作软盘映像文件 消息: 保存 可入饮盘映像 光盘目录: 时a 事件 路 雪朝作硬血映像文件 下车0的3321 玉1o10 笔写入硬曲映单 -☐bo0t 从软座/硬盘宽动器提取导盘区 白casper dists 从CD/DVD提殿引导文件, 最加习导文件… isolinux 保存写导文件 pies 白po1 清除导信旦 装像文件:面国aa204H中e preseed √生成向动信息表 便建8动 )制作多重启动光强 启动分区:无 完成比: 0 已用时闻:00.c0:0 处时两:成而高 Step2.设置BIOS以U盘作为启动盘 按FI2进入Boot选项(注意不同电脑可能会有不同的快捷键,另外也可以 直接进入BIOS后找到Boot设置选项),调整开机引导顺序,以U盘作为首选启 动媒介。 Step3.进入试用界面 进行语言选择,选择试用。在试用界面可以进行常规的操作,相当于一个安 装在U盘上的Ubutun系统。在桌面上点击安装即可以开始安装。(在上一个界 面直接点击安装也能够进行下一步的安装界面) 2
- 2 - 一、 实验目的 通过让学生实际动手安装系统,让学生掌握Ubutnu16.04及Ros Kine的安装 方法。熟悉ROS环境的配置,工作空间的创建,ros的文件系统等。 二、 实验内容 1. 完成Ubuntu16.04的安装 2. 完成Ros Kinect的安装 3. 创建一个新的ROS工作空间,完成环境的设置 4. 查看ROS的文件结构 5. ROS包常用工具使用 三、 实验过程或其他示意图 1. Ubuntu16.04 的安装过程 Step1. 制作 Ubuntu16.04 的 U 盘启动盘。 进入 Windows 系统,插入 U 盘,打开 UltraISO 软件,然后载入 Ubuntu 的 ISO 文件,在点击启动选项(记得点开加载后的镜像,使之展开如图)然后点击 写入硬盘映像选项点击它进入到将要进行操作的界面。在写入磁盘映像界面在磁 盘驱动器一栏,选择插入的 U 盘,点击确定后开始制作。 Step2.设置 BIOS 以 U 盘作为启动盘 按 F12 进入 Boot 选项(注意不同电脑可能会有不同的快捷键,另外也可以 直接进入 BIOS 后找到 Boot 设置选项),调整开机引导顺序,以 U 盘作为首选启 动媒介。 Step3.进入试用界面 进行语言选择,选择试用。在试用界面可以进行常规的操作,相当于一个安 装在 U 盘上的 Ubutun 系统。在桌面上点击安装即可以开始安装。(在上一个界 面直接点击安装也能够进行下一步的安装界面)
Galego Thai ese Eengali eder lan ubuntue Norsk ag 中文) 试用ibuntu而不安装() 从第一硬盘号向 世01 Eestl Bai锤 拆助2语言3健盘布局下4模式5精动族6其它 Ba品经塑 Step4.正式安装前的一些配置。 语言选择中文、取消安装时联网下载、选择其他选项分区 Step5.磁盘的分区 为Jbuntu系统分配磁盘空间,其中/于indows系统C盘类似,swap分区类 似于虚拟内存单,即在系统的物理内存不够用的时候,把硬盘空间中的一部分空 间释放出来,以供当前运行的程序使用。B0o分区是是操作系统的内核及在引导 过程中使用的文件。Hoe分区是用户的存储区,类似与D、E盘等。具体操作如 下: 在空闲的磁盘上,点击的“+”创建4个主要的基础分区,并进行相应的挂载 A)创建I分区: >30G 主分区 空间起始位置 Ext4日志文件系统 B)创建swap分区: 2048MB 逻辑分区 空间起始位置 交换空间 C)创建boot分区: 200MB 逻辑分区 空间起始位置 Ext4日志文件系统 /boot D)创建home分区: 剩余的空间 逻辑分区 空间起始位置 Ext4日志文件系统 /home -3-
- 3 - Step4.正式安装前的一些配置。 语言选择中文、取消安装时联网下载、选择其他选项分区 Step5.磁盘的分区 为Ubuntu系统分配磁盘空间,其中/于Windows系统C盘类似,swap分区类 似于虚拟内存单,即在系统的物理内存不够用的时候,把硬盘空间中的一部分空 间释放出来,以供当前运行的程序使用。Boot分区是是操作系统的内核及在引导 过程中使用的文件。Home分区是用户的存储区,类似与D、E盘等。具体操作如 下: 在空闲的磁盘上,点击的“+”创建4个主要的基础分区,并进行相应的挂载 A)创建 / 分区: >30G 主分区 空间起始位置 Ext4日志文件系统 / B)创建swap分区: 2048MB 逻辑分区 空间起始位置 交换空间 C)创建boot分区: 200MB 逻辑分区 空间起始位置 Ext4日志文件系统 /boot D)创建home分区: 剩余的空间 逻辑分区 空间起始位置 Ext4日志文件系统 /home
Step6.开始安装 依次选择时区、设置用户名密码后即开始正式安装,一般持续15分钟左右。 Step7.完成安装 按照提示,拔出U盘后进行重启 2.ROS kinetic安装 按ctrl+alt+t组合键打开一个命令终端(Linux大部分的操作都在命令 终端完成,类似与Windows的DOS界面)后进行操作 Stepl.添加安装源到sources.list 配置你的电脑使其能够安装来自packages.ros.org的软件包。 复制以下代码到终端,回车后输入密码。这行命令将会修改sources..list文件。 sources.list文件用来提示系统从哪个安装源来安装所需要的软件。 sudo sh-c '/etc/lsb-release &echo "deb http://mirror.sysu.edu.cn/ ros/ubuntu/$DISTRIB CODENAME main">/etc/apt/sources.list.d/ros-lat est.list' 注意:在Step3安装的时候请查看下载速度,如果速度慢(或者有某些软件 包安装失败)请手动编辑/etc/apt/sources.list.d/ros-latest.1ist恢复到原始 状态,然后利用其它安装源来尝试。可以使用下面这个镜像速度会快: ExBot Robotics Lab (China) sudo sh -c'./etc/lsb-release &echo "deb http://ros.exbot.net/rospa ckage/ros/ubuntu/$DISTRIB CODENAME main">/etc/apt/sources.list.d/r os-latest.list' Step2.添加keys 通过添加keys,可以让你的电脑有访问ROS安装源的权限。 复制以下代码到终端,回车后输入密码。 sudo apt-key adv--keyserver hkp://ha.pool.sks-keyservers.net:80--rec V-key421C365BD9FF1F717815A3895523 BAEEB01FA116 Step3.安装 首先,确保你的Debian软件包索引是最新的: -4-
- 4 - Step6.开始安装 依次选择时区、设置用户名密码后即开始正式安装,一般持续15分钟左右。 Step7.完成安装 按照提示,拔出U盘后进行重启 2.ROS kinetic安装 按ctrl + alt + t组合键打开一个命令终端(Linux大部分的操作都在命令 终端完成,类似与Windows的DOS界面)后进行操作 Step1. 添加安装源到 sources.list 配置你的电脑使其能够安装来自 packages.ros.org的软件包。 复制以下代码到终端,回车后输入密码。这行命令将会修改sources.list文件。 sources.list文件用来提示系统从哪个安装源来安装所需要的软件。 sudo sh -c '. /etc/lsb-release && echo "deb http://mirror.sysu.edu.cn/ ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-lat est.list' 注意:在Step3安装的时候请查看下载速度,如果速度慢(或者有某些软件 包安装失败)请手动编辑/etc/apt/sources.list.d/ros-latest.list恢复到原始 状态,然后利用其它安装源来尝试。可以使用下面这个镜像速度会快: ExBot Robotics Lab (China) sudo sh -c '. /etc/lsb-release && echo "deb http://ros.exbot.net/rospa ckage/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/r os-latest.list' Step2. 添加 keys 通过添加keys,可以让你的电脑有访问ROS安装源的权限。 复制以下代码到终端,回车后输入密码。 sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --rec v-key 421C365BD9FF1F717815A3895523BAEEB01FA116 Step3.安装 首先,确保你的Debian软件包索引是最新的:
sudo apt-get update 安装桌面完整版ROS sudo apt-get install ros-kinetic-desktop-full Step4.初始化rosdep 在开始使用ROS之前你还需要初始化rosdep..rosdep可以方便在你需要编译某些源码 的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。 sudo rosdep init rosdep update Step5.环境配置 类似于Windows中需要对系统环境变量进行设置添加一些包的路径,在Jbuntu中也需 要进行相应的配置。Ros的自动配置文件为/opt/ros/kinetic/setup.bash,需要将其添加到命 令终端启动时调用的ash会话中,这样每次打开一个新的终端时ROS环境变量都能够自动 配置好,那将会方便很多: echo "source /opt/ros/jade/setup.bash">>~/.bashrc source ~/.bashrc Step6.编译ROS包需要的依赖项安装 安装一些其他的依赖包有助于后续的编译调用等。例如rosinstall是ROS中一 个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下 载很多源码树。 sudo apt-get install python-rosinstall python-rosinstall-generator pyt hon-wstool build-essential 3.工作空间的创建及环境配置 创建一个工作空间。其中mkdir命令是创建一个文件夹,参数P代表parents,. 表示递归创建目录。cd命令是进入到一个目录。catkin make为编译整个工作空间。 mkdir -p ~/catkin_ws/src cd ~/catkin ws/ catkin_make -5-
- 5 - sudo apt-get update 安装桌面完整版ROS sudo apt-get install ros-kinetic-desktop-full Step4. 初始化 rosdep 在开始使用ROS之前你还需要初始化rosdep。rosdep可以方便在你需要编译某些源码 的时候为其安装一些系统依赖,同时也是某些ROS核心功能组件所必需用到的工具。 sudo rosdep init rosdep update Step5.环境配置 类似于Windows中需要对系统环境变量进行设置添加一些包的路径,在Ubuntu中也需 要进行相应的配置。Ros的自动配置文件为/opt/ros/kinetic/setup.bash,需要将其添加到命 令终端启动时调用的bash会话中,这样每次打开一个新的终端时ROS环境变量都能够自动 配置好,那将会方便很多: echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc source ~/.bashrc Step6.编译ROS包需要的依赖项安装 安装一些其他的依赖包有助于后续的编译调用等。例如rosinstall 是ROS中一 个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下 载很多源码树。 sudo apt-get install python-rosinstall python-rosinstall-generator pyt hon-wstool build-essential 3.工作空间的创建及环境配置 创建一个工作空间。其中mkdir命令是创建一个文件夹,参数P代表parents, 表示递归创建目录。cd命令是进入到一个目录。catkin_make为编译整个工作空间。 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make
将该工作空间的环境设置文件devel/setup.bash添加到终端的bash会话中 echo "source devel/setup.bash">>~/.bashrc source ~/.bashrc 检查环境是否配置成功,查看环境变量ROS PACKAGE PATH(表示ROS在进行包 搜索的时候的路径,需要包含ROS系统原有的包,以及新创建的工作空间的包)的值,如下是正 确的情况。 Secho SROS PACKAGE PATH /home/youruser/catkin ws/src:/opt/ros/kinetic/share 4.查看ROS的文件结构 查看ROS系统文件的文件结构 cd /opt/ros/kinetic/ 查看新创建的工作空间的文件结构 cd ~/catkin_ws 5.R0S包常用工具的测试 程序代码是分布在众多OS软件包当中,当使用命令行工具(比如1s和cd) 来浏览时会非常繁琐,因此OS提供了专门的命令工具来简化这些操作 5.1 rospack rospack允许你获取软件包的有关信息。在本教程中,我们只涉及到rospack 中find参数选项,该选项可以返回软件包的路径信息。 用法: rospack find[包名称] 5.2 roscd roscd,是rosbash命令集中的一部分,它允许你直接切换(cd)工作目录到某个 软件包或者软件包集当中。注意,就像ROS中的其它工具一样,roscd只能切换到那些 路径已经包含在ROS PACKAGE PATH环境变量中的软件包. 用法: roscd[本地包名称[/子目录] -6-
- 6 - 将该工作空间的环境设置文件devel/setup.bash添加到终端的bash会话中 echo "source devel/setup.bash" >> ~/.bashrc source ~/.bashrc 检查环境是否配置成功,查看环境变量ROS_PACKAGE_PATH(表示ROS在进行包 搜索的时候的路径,需要包含ROS系统原有的包,以及新创建的工作空间的包)的值,如下是正 确的情况。 $echo $ROS_PACKAGE_PATH /home/youruser/catkin_ws/src:/opt/ros/kinetic/share 4. 查看ROS的文件结构 查看ROS系统文件的文件结构 cd /opt/ros/kinetic/ 查看新创建的工作空间的文件结构 cd ~/catkin_ws 5.ROS包常用工具的测试 程序代码是分布在众多ROS软件包当中,当使用命令行工具(比如ls和cd) 来浏览时会非常繁琐,因此ROS提供了专门的命令工具来简化这些操作 5.1 rospack rospack允许你获取软件包的有关信息。在本教程中,我们只涉及到rospack 中find参数选项,该选项可以返回软件包的路径信息。 用法: rospack find [包名称] 5.2 roscd roscd是rosbash命令集中的一部分,它允许你直接切换(cd)工作目录到某个 软件包或者软件包集当中。注意,就像ROS中的其它工具一样,roscd只能切换到那些 路径已经包含在ROS_PACKAGE_PATH环境变量中的软件包. 用法: roscd [本地包名称[/子目录]]
5.3 roscd log 使用roscd log可以切换到ROS保存日记文件的目录下。需要注意的是,如果 你没有执行过任何ROS程序,系统会报错说该目录不存在。 如果你已经运行过ROS程序,那么可以尝试: roscd log 5.4 使用rosls rosls是rosbash命令集中的一部分,它允许你直接按软件包的名称而不是绝对路径执 行s命令(罗列目录)。 用法: ros1s[本地包名称[/子目录] 5.5Tab自动完成输入 当要输入一个完整的软件包名称时会变得比较繁琐,一些ROS工具支持TAB 自动完成输入的功能。 可以做以下测试,查看输出结果 #roscd rosc> 四、 实验原理及原始计算数据、所应用的公式 OS机器人操作系统实际上并不是一个独立的操作系统,而是一个机器人软 件平台,它依赖于现有的一些操作系统。目前直接的操作系统有Ubuntu,Debian。 另外有些操作系统正在部分或者逐步支持如Windows,OSX,Gentoo(面向人性化 软件定制的Linux.系统),OpenEmbedded(嵌入式的Linux系统)等等。 本实验是基于Ubuntul6.O4系统的ROS安装,会涉及到Ubuntu系统的一些基本 操作及ROS系统的基本操作。 ROS文件系统结构 文件系统层概念主要指在硬盘里能看到的OS目录和文件,例如: Packages::Packages是在ROS中整理及組織軟體的主要單元。一個Packages包 7
- 7 - 5.3 roscd log 使用roscd log可以切换到ROS保存日记文件的目录下。需要注意的是,如果 你没有执行过任何ROS程序,系统会报错说该目录不存在。 如果你已经运行过ROS程序,那么可以尝试: roscd log 5.4 使用 rosls rosls 是 rosbash 命令集中的一部分,它允许你直接按软件包的名称而不是绝对路径执 行 ls 命令(罗列目录)。 用法: rosls [本地包名称[/子目录]] 5.5 Tab 自动完成输入 当要输入一个完整的软件包名称时会变得比较繁琐,一些ROS工具支持TAB 自动完成输入的功能。 可以做以下测试,查看输出结果 # roscd rosc>> 四、 实验原理及原始计算数据、所应用的公式 ROS机器人操作系统实际上并不是一个独立的操作系统,而是一个机器人软 件平台,它依赖于现有的一些操作系统。目前直接的操作系统有Ubuntu,Debian。 另外有些操作系统正在部分或者逐步支持如Windows,OSX,Gentoo(面向人性化 软件定制的Linux系统),OpenEmbedded(嵌入式的Linux系统)等等。 本实验是基于Ubuntu16.04系统的ROS安装,会涉及到Ubuntu系统的一些基本 操作及ROS系统的基本操作。 ROS 文件系统结构 文件系统层概念主要指在硬盘里能看到的ROS目录和文件, 例如: Packages: Packages 是在 ROS 中整理及組織軟體的主要單元。一個 Packages 包
含節點(ROS runtime processes)、ROS程式庫(ROS-dependent library)、 數據集(datasets)、配置文件(configuration files)等等。Packages是您在 ROS中能建立及分享的最小單元。 Metapackages:Metapackages是一组具体的服务相关的功能包。大部分的 metpackages只作为转换rosbuild Stacks的向后兼容的备选。 Package Manifests:Manifests(package.xml)描述一个package的元信息, 包括了package的名字,版本,功能简述,证书信息,依赖关系,以及一些其他的 被export的package所有的信息。 Repositories:代码仓库是使用VCS版本控制系统的软件包集合,软件包利用版本 控制维持同一版本,它能使用catkin自动发布工具bloom进行发布。这些代码仓 库常通过映射来进行转换rosbuild Stacks.仓库可以是只有一个软件包。 Message(msg)types:存储在my_package,/msg/MyMessageType..msg的 Message文件,主要定义了ROS系统的messages传输的数据结构。 。Service(srv)types:存储在my_package/,srv/MyServiceType.srv的服务 services文件,定义了ROS的服务通信时的请求(request)和响应(response) 相关的数据结构。 五、 实验数据记录 无 六、实验结果计算及曲线 无 七、对实验结果和实验中某些现象的分析讨论 -8-
- 8 - 含節點(ROS runtime processes)、ROS 程式庫(ROS-dependent library)、 數據集(datasets)、配置文件(configuration files)⋯⋯等等。Packages 是您在 ROS 中能建立及分享的最小單元。 Metapackages: Metapackages 是一组具体的服务相关的功能包。大部分的 metpackages 只作为转换 rosbuild Stacks 的向后兼容的备选。 Package Manifests: Manifests (package.xml) 描述一个 package 的元信息, 包括了 package 的名字,版本,功能简述,证书信息,依赖关系,以及一些其他的 被 export 的 package 所有的信息。 Repositories: 代码仓库是使用 VCS 版本控制系统的软件包集合,软件包利用版本 控制维持同一版本,它能使用 catkin 自动发布工具 bloom 进行发布。这些代码仓 库常通过映射来进行转换 rosbuild Stacks.仓库可以是只有一个软件包。 Message (msg) types: 存储在 my_package/msg/MyMessageType.msg 的 Message 文件,主要定义了 ROS 系统的 messages 传输的数据结构。 Service (srv) types: 存储在 my_package/srv/MyServiceType.srv 的服务 services 文件,定义了 ROS 的服务通信时的请求(request )和响应(response ) 相关的数据结构。 五、 实验数据记录 无 六、 实验结果计算及曲线 无 七、 对实验结果和实验中某些现象的分析讨论
安装完成后进行一些使用,对一些可能出现的问题有理解。 比如,因为没有设置路径导致的八错等 八、实验方法指示及注意事项 注意事项 l.安装Ubuntu系统 1)在分区的时候要注意,要选对磁盘,不要误将Windows盘格掉。 2)如果需要重装Ubuntu系统,home可以保留不格式化 3)安装时不要配置网络,将自动下载软件包功能取消,这样可以加快速度 2.安装ROS系统 1)安装源需要选择一个速度最快的 2)安装完成后注意配置环境,并检查是否正确 九、 实验仪器环境要求 对实验用设备包括 l.一台当前主流配置的电脑,并且可以高速上网、已经安装了Windows系统以及 有一个空闲的至少100g以上的空间 2.4g空闲U盘一个 3.电脑内存有ubuntu--l6.04-desktop--amd64.iso系统镜像 4.已经安装了U1 traIS0USB启动盘制作软件 十、 对学生的要求 掌握Ubuntu系统及ROS的安装方法,熟悉一些常用的Linuxt命令及ROS工具, 完成工作空间的创建,同时初步熟悉OS的文件系统结构。 十一、参考文献与资料 L.ubuntu安装 https://jingyan.baidu.com/album/3c48dd348bc005e10be358eb.html?picindex=2 2. ROS安装 http://wiki.ros.org/kinetic/Installation/Ubuntu 十二、备注 -9
- 9 - 安装完成后进行一些使用,对一些可能出现的问题有理解。 比如,因为没有设置路径导致的八错等 八、 实验方法指示及注意事项 注意事项 1. 安装 Ubuntu 系统 1) 在分区的时候要注意,要选对磁盘,不要误将 Windows 盘格掉。 2) 如果需要重装 Ubuntu 系统,home 可以保留不格式化 3) 安装时不要配置网络,将自动下载软件包功能取消,这样可以加快速度 2. 安装 ROS 系统 1) 安装源需要选择一个速度最快的 2) 安装完成后注意配置环境,并检查是否正确 九、 实验仪器环境要求 对实验用设备包括 1.一台当前主流配置的电脑,并且可以高速上网、已经安装了Windows系统以及 有一个空闲的至少100g以上的空间 2. 4g空闲U盘一个 3.电脑内存有ubuntu-16.04-desktop-amd64.iso系统镜像 4.已经安装了UltraISO USB启动盘制作软件 十、 对学生的要求 掌握Ubuntu系统及ROS的安装方法,熟悉一些常用的Linux命令及ROS工具, 完成工作空间的创建,同时初步熟悉ROS的文件系统结构。 十一、参考文献与资料 1. ubuntu 安装 https://jingyan.baidu.com/album/3c48dd348bc005e10be358eb.html?picindex=2 2. ROS 安装 http://wiki.ros.org/kinetic/Installation/Ubuntu 十二、备注