Ros——安装|教程1-4
2016-03-27 13:34
357 查看
最近看ORB-SLAM方面的东西发现github大部分的SLAM项目都是用这个东西就去查了下。这里先简单的说下观感:
首先这个Ros是Robot operating system的简称。但是跟一般的系统似乎有所不同,按照我目前的理解他既可以移植到普通的嵌入式系统中间。可以算作是一个软件平台。似乎业界还有其他的软件平台但这方面我不太了解。也可以作为一个虚拟的环境来运行在类似Ubuntu上,或者其他操作系统上。wiki网上有比较详细的介绍。ROSwiki
从近些年来看大概经历了的几个版本。目前最新的版本是jade。看完官方文档发现教程做的还是很详细的,运行下来很顺利没有什么出错的地方。这里简单回顾一下,一切从简,细节的部分省略掉。
建立source.list
建立秘钥
安装
配置环境变量
主要就是ROS_PACKAGE_PATH这个环境变量。因为包是ROS的基本单元。这个路径可以设置索引包的路径,不在此路径的包是找不到的。跟java还有c++编译的时候差不多。如果没有ROS_PACKAGE_PATH说明你没有source setup.bash,见下一条。
另一个需要设置的是每次使用ROS之前都要运行一下setup.bash当然你也可以选择把这个文件添加到.bashrc中间就是每次启动shell的时候稍微慢一点。
创建ROS工作区间
ROS有两种工作区间,一种是catkin,另一种是rosbuild是老版本的
然后设置ROS_PACKAGE_PATH包含catkin_ws/src然后运行如下:
当然你可以换个文件夹
首先说明两个概念,包是软件组织单元,每个包包含一个package.xml描述包。
ROS文件系统:
3.创建ROS package
**catkin工作区间结构**
**创建catkin包**
**创建catkin工作区间,source setup.bash**
**包依赖性**
**直接依赖性**
间接依赖性
**自定义包**
**xml文件结构**
描述文件
描述文件作者
license标记
文件依赖性
原理类似于与cmake,只不过从cmake流转换到catkin_ws流
创建包
首先这个Ros是Robot operating system的简称。但是跟一般的系统似乎有所不同,按照我目前的理解他既可以移植到普通的嵌入式系统中间。可以算作是一个软件平台。似乎业界还有其他的软件平台但这方面我不太了解。也可以作为一个虚拟的环境来运行在类似Ubuntu上,或者其他操作系统上。wiki网上有比较详细的介绍。ROSwiki
从近些年来看大概经历了的几个版本。目前最新的版本是jade。看完官方文档发现教程做的还是很详细的,运行下来很顺利没有什么出错的地方。这里简单回顾一下,一切从简,细节的部分省略掉。
安装
设置Ubuntu软件源。这不似乎不需要建立source.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
建立秘钥
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
安装
sudo apt-get update sudo apt-get install ros-jade-desktop-full sudo rosdep init rosdep update echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc source ~/.bashrc sudo apt-get install python-rosinstall
教程
1.安装和配置ROS环境
安装ROS配置环境变量
主要就是ROS_PACKAGE_PATH这个环境变量。因为包是ROS的基本单元。这个路径可以设置索引包的路径,不在此路径的包是找不到的。跟java还有c++编译的时候差不多。如果没有ROS_PACKAGE_PATH说明你没有source setup.bash,见下一条。
另一个需要设置的是每次使用ROS之前都要运行一下setup.bash当然你也可以选择把这个文件添加到.bashrc中间就是每次启动shell的时候稍微慢一点。
# source /opt/ros/<distro>/setup.bash
<distro>为版本名如jade
创建ROS工作区间
ROS有两种工作区间,一种是catkin,另一种是rosbuild是老版本的
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd ~/catkin_ws/ catkin_make
然后设置ROS_PACKAGE_PATH包含catkin_ws/src然后运行如下:
source devel/setup.bash
当然你可以换个文件夹
2.导航ROS文件系统
概述首先说明两个概念,包是软件组织单元,每个包包含一个package.xml描述包。
ROS文件系统:
rospack find ros+cd ros+cd log ros+ls
3.创建ROS package
**包结构**
my_package/ CMakeLists.txt package.xml
**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包**
cd ~/catkin_ws/src catkin_create_pkg beginner_tutorials std_msgs rospy roscpp //catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
**创建catkin工作区间,source setup.bash**
cd ~/catkin_ws catkin_make . ~/catkin_ws/devel/setup.bash
**包依赖性**
rospack depends1 beginner_tutorials
**直接依赖性**
rospack depends1 rospy
间接依赖性
**自定义包**
**xml文件结构**
<description>The beginner_tutorials package</description>
描述文件
<!-- One maintainer tag required, multiple allowed, one person per tag --> <!-- Example: --> <!-- <maintainer email="jane.doe@example.com">Jane Doe</maintainer> --> <maintainer email="user@todo.todo">user</maintainer>
描述文件作者
<!-- One license tag required, multiple allowed, one license per tag --> <!-- Commonly used license strings: --> <!-- BSD, MIT, Boost Software License, GPLv2, GPLv3, LGPLv2.1, LGPLv3 --> <license>TODO</license>
license标记
<!-- The *_depend tags are used to specify dependencies --> <!-- Dependencies can be catkin packages or system dependencies --> <!-- Examples: --> <!-- Use build_depend for packages you need at compile time: --> <!-- <build_depend>genmsg</build_depend> --> <!-- Use buildtool_depend for build tool packages: --> <!-- <buildtool_depend>catkin</buildtool_depend> --> <!-- Use run_depend for packages you need at runtime: --> <!-- <run_depend>python-yaml</run_depend> --> <!-- Use test_depend for packages you need only for testing: --> <!-- <test_depend>gtest</test_depend> --> <buildtool_depend>catkin</buildtool_depend> <build_depend>roscpp</build_depend> <build_depend>rospy</build_depend> <build_depend>std_msgs</build_depend> <run_depend>roscpp</run_depend> <run_depend>rospy</run_depend> <run_depend>std_msgs</run_depend>
文件依赖性
4.编译包
使用catkin_ws原理类似于与cmake,只不过从cmake流转换到catkin_ws流
source /opt/ros/jade/setup.bash # (optionally) catkin_make catkin_make install # (optionally)
创建包
cd ~/catkin_ws/ catkin_make
相关文章推荐
- 计算机视觉领域的牛人博客和有实力的研究机构
- 科研工作的关注点
- 最小外接矩形(MBR)
- 色彩量化评价指标 Quantitative measure methods for color quantization
- 图像处理的网址(转载)
- 我的SLAM探索(二)--ROS下编译运行Kinect Viewer
- SLAM Learning Steps
- OpenCV学习笔记 第一篇 显示图像
- 图铭Android平台银行卡号识别系统
- 学习OpenCV第一课——认识、安装配置OpenCV(CodeBlocks)
- Kalman滤波
- 图像处理特征不变算子系列之KLT算子--GoodFeaturesToTrack(七)
- 《计算机视觉中的数学方法》笔记1 向量叉积的反对称矩阵表示
- 摄像测量相关
- Learning OpenCV Chapter3 初探OpenCV上
- 开通博客--for interest
- TLD取经之路(1)--VS2008,MATLB2010B与OPENCV2.2
- TLD取经之路(2)-- 初窥门径:运行DEMO
- TLD取经之路(3)-- 始于足下
- [转载]别人总结的OpenTLD资源,MARK