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/
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
系统上练习。