文档库 最新最全的文档下载
当前位置:文档库 › ROS 学习之一

ROS 学习之一

ROS 学习之一
ROS 学习之一

ROS 学习之一

1.Ros 的安装:

打开https://www.wendangku.net/doc/f612360836.html,,点击超链接install,在新的页面中点击ubuntu超链接进行ros的安装。(裸机安装ubunatu14.04或者virtualbox虚拟机安装ubuntu12.04)。

NOTE:裸机进行安装过程中遇到的几点问题:

1.首先在进行ubuntu分区后,删除卷(管理磁盘中进行操作),否则在安装过程中在给ubuntu 指定盘符时会出错。

2.我们进行的不是wubi安装,而是通过easybcd这个软件给系统添加启动项,以便进行完全安装,具体历程如下:添加新条目----NeoGrub-----安装保存-----配置----menu.list文件添加title Install Ubuntu

root (hd0,0)

kernel (hd0,0)/vmlinuz boot=casper

iso-scan/filename=/ubuntu-12.04-desktop-i386.iso ro quiet splash

locale=zh_CN.UTF-8

initrd (hd0,0)/initrd.lz

ubuntu-12.04-desktop-i386.iso是iso的名字。

对于有的电脑上你的第一个盘符并不是C盘,在磁盘管理中可以看出,所以安装时需将(hd0,0)改为(hd0,1)【假设为第二个】。

关闭保存。

3.安装系统前先运行命令sudo umount -l /isodevice,否则在安装过程中可能出现正在探测文件系统...这一步骤会一直停滞不前。

虚拟机安装过程中应注意的几点问题:

1.不要选择默认存储大小,一般选择15-20G空间大小比较合理,因为以后还要安装ros等等功能包集,这会占用很大的空间。

2.安装完成后设备----安装增强工具,这会使得使用过程更加方便。

1.配置ubuntu软件仓库

配置ubuntu repositories 为"restricted," "universe," "multiverse"。

NOTE:打开ubutu系统系统设置中的软件源进行配置。国内一般选择163的源活着搜狐的源,若是在apt-get install 软件包速度太慢或者没有发现包,尝试换一下源来解决。

2.更新软件源(sources.list)

Ubuntu 12.04 (precise)

sudo sh -c 'echo "deb https://www.wendangku.net/doc/f612360836.html,/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'

Ubuntu 14.04 (Trusty)

sudo sh -c 'echo "deb https://www.wendangku.net/doc/f612360836.html,/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-l atest.list'

NOTE:不同的版本版本号不同,注意不要写错。

3.设置keys

wget https://www.wendangku.net/doc/f612360836.html,/ros.key -O - | sudo apt-key add -

4.安装

首先首先确认软件包索引是最新的:

Sudo apt-get update

NOTE:有时update会出错;一般注意一下几点就能解决:、

1.换源,软件源的选择一般主站源或者163的源或搜狐的源

2.运行命令sudo apt-get update --fix-missing

3.先运行命令sudo apt-get uprgade 再运行命令sudo apt-get update

在ROS中有许多不同的函数库和工具,建议是完全安装,也可以根据自己的要求分别安装.

桌面完全版安装(推荐安装):ROS,rqt,rviz,robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

sudo apt-get install ros-indigo-desktop-full

5.初始化rosdep

在使用ROS之前,你需要先初始化rosdep。rosdep能够让你在编译程序包源码时轻松地安装编译所依赖的库,并运行一些必要的ROS核心组件。

sudo rosdep init

rosdep update

6.设置环境

添加ROS的环境变量,这样,当你打开你新的shell时,你的bash回话中会自动添加环境变量. echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

source ~/.bashrc(使环境变量设置立即生效)

7.安装rosinstall

sudo apt-get install python-rosinstall

rosinstall命令是一个使用的非常频繁的命令,使用这个命令可以轻松的下载许多ROS软件包。

安装和配置ros环境

1.安装ROS

2.管理你的环境

检查是否有ROS_ROOT and ROS_PACKAGE_PA TH这些环境变量。

运行命令:export | grep ROS

source setup.*sh文件;

# source /opt/ros//setup.bash (这里的表示ros版本号)

NOTE: 这样的你每次打开你的新的shell都需要运行这个命令,如果你把

source /opt/ros/indigo/setup.bash添加进.bashrc文件就不必要每次打开一个新的shell都运行这条命令才能使用ROS的命令了。运行命令如下:

echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc

source ~/.bashrc

3、创建ROS工作环境

运行命令:

$ mkdir -p ~/catkin_ws/src 创建catkin_ws/src文件夹

$ cd ~/catkin_ws/src 切换到该文件夹下

$ catkin_init_workspace 初始化该工作空间(有些教程无此项)

可以看到在src文件夹中可以看到一个CMakeLists.txt的链接文件,即使这个工作空间是空的(在src中没有package),任然可以建立一个工作空间。

$ cd ~/catkin_ws/

$ catkin_make ( build the space)

catkin_make命令可以非常方便的建立一个catkin工作空间,在你的当前目录中可以看到有build和devel两个文件夹,在devel文件夹中可以看到许多个setup.*sh 文件。启用这些文件都会覆盖你现在的环境变量,想了解更多可以查看文档catkin。在继续下一步之前先启动你的新的setup.*sh 文件。

source devel/setup.bash

为了确认你的环境变量是否被setup脚本覆盖了,可以运行一下命令确认你的当前目录是否在环境变量中:

$ echo $ROS_PACKAGE_PATH

输出:

/home/selear/catkin_ws/src:/opt/ros/hydro/share:/opt/ros/hydro/stacks

ROS 文件系统介绍

Rospack命令:获取有关软件包的信息rospack-find:返回软件包的路径信息。Roscd命令:工作目录的切换。

Rosls:罗列文件目录。

Roscreate-pkg命令或者catkin_create_pkg命令创建空白的catkin工作空间。

程序包的依赖关系:一级依赖、间接依赖关系。

Catkin_make 命令来编译程序包。

Ros节点的理解:

Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。

Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。

Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。Master:节点管理器,ROS名称服务(比如帮助节点找到彼此)。

Rosout: ROS中相当于stdout/stderr。

Roscore: 主机+ rosout + 参数服务器。

节点:ros程序包里的一个可执行文件。Ros节点可以使用ros客户端与其他节点通信。节点可以发布活接收一个话题。节点也可以提供或使用某种服务。

客户端库:常用roscpp = c++客户端库。

Roscore:roscore 是你在运行所有ROS程序前首先要运行的命令。

Rosrun:rosrun 允许你使用包名直接运行一个包内的节点(而不需要知道这个包的路径)。

3.rostopic理解使用:获取有关rostopic的信息。

Rostopic bw:显示主题的带宽

Rostopic echo:输出主题信息到屏幕

Rotopic hz:显示主题发布频率

Rostopic list:打印活动主题的信息

Rostopic pub:发布数据到主题

Rostopic type:打印主题类型

Rostopic find:通过类型查找主题

8.Rosnode理解使用:显示关于ros节点的调试信息。

Rosnode ping:测试到一个节点的可连续性

Rosnode list:列出活动节点

Rosnode info:打印节点的信息

Rosnode machine:列出在特定机器上正在运行的节点

Rosnode kill:结束一个正在运行的节点

9.Roslunch的使用理解:roslunch可以用来启动定义在launch文件中的多个节点。

总结:本周学习了ubuntu不同版本系统在裸机和虚拟机的安装和测试,测试发现最新版本的ubuntu系统对于ros一些package包还没有兼容(没法安装,找不到package包),而12.04版本系统支持比较好。

在ubuntu系统上利用apt-get命令来安装ros系统,在安装过程中选择软件源是比较重要的,选择正确的软件源不仅速度快而且apt-getpackage包一般能完整安装。在安装过程中遇到的问题以上有所赘述。

安装完毕后对几大应用所需应用进行安装或测试,发现ubuntu不同版本的系统支持有所差别。

这些工作完成后对相关的文件系统进行了解;并熟悉ROS文件系统命令并加以练习,记忆。

在接下来的一周里学习程序包的创建(命令),ROS消息和ROS服务的创建(命令),了解ROS节点,ROS话题,ROS服务和参数的涵义及用途。在ubuntu

系统上练习。

相关文档