ROS官网初级教程学习总结(1-4)
2017-07-15 01:31
363 查看
教程网址:http://wiki.ros.org/cn/ROS/Tutorials。
本博客为1-4小节。
ROSLISP_PACKAGE_DIRECTORIES=”” //这个是关于lisp语言的
ROS_DISTRO=”kinetic”
ROS_ETC_DIR=”/opt/ros/kinetic/etc/ros” //一些配置文件
ROS_MASTER_URI=”http://localhost:11311” //master地址,远程连接时有用
ROS_PACKAGE_PATH=”/opt/ros/kinetic/share” //ROS包的环境变量
ROS_ROOT=”/opt/ros/kinetic/share/ros” //ROS core包的位置
Manifest (package.xml,软件包的根目录下): 清单,是对于’软件包’相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。
必须包含一个catkin 版本的CMakeLists.txt文件
每个目录下只能有一个程序包
最简单的程序包也许就像这样:
维护者标签
许可标签
依赖项标签
本博客为1-4小节。
安装并配置ROS环境
安装ROS
安装时记得换个好点的软件源,要不然会因为网络连接问题一直失败。管理环境
export | grep ROS主要是查看环境变量是否设置。
ROSLISP_PACKAGE_DIRECTORIES=”” //这个是关于lisp语言的
ROS_DISTRO=”kinetic”
ROS_ETC_DIR=”/opt/ros/kinetic/etc/ros” //一些配置文件
ROS_MASTER_URI=”http://localhost:11311” //master地址,远程连接时有用
ROS_PACKAGE_PATH=”/opt/ros/kinetic/share” //ROS包的环境变量
ROS_ROOT=”/opt/ros/kinetic/share/ros” //ROS core包的位置
创建ROS工作空间
创建一个新的catkin工作空间后,source一下新生成的setup.*sh文件(source devel/setup.bash), 在当前shell下执行
echo $ROS_PACKAGE_PATH会看到ROS_PACKAGE_PATH环境变量已包含你新建的工作空间程序包目录。
ROS文件系统介绍
安装程序包
直接使用apt-get安装,如安装ros-tutorials:$ sudo apt-get install ros-<distro>-ros-tutorials
快速了解文件系统概念
Packages: 软件包,ROS应用程序代码的组织单元,每个软件包都可以包含程序库、可执行文件、脚本或者其它手动创建的东西。Manifest (package.xml,软件包的根目录下): 清单,是对于’软件包’相关信息的描述,用于定义软件包相关元信息之间的依赖关系,这些信息包括版本、维护者和许可协议等。
文件系统工具
程序代码是分布在众多ROS软件包当中,当使用命令行工具(比如ls和cd)来浏览时会非常繁琐,因此ROS提供了专门的命令工具来简化这些操作。rospack
# rospack find [包名称]:返回软件包的路径信息。
roscd
直接切换(cd)工作目录到某个软件包或者软件包集当中。# roscd [本地包名称[/子目录]]
roscd log
切换到ROS保存日记文件的目录下。rosls
rosls [本地包名称[/子目录]]:直接按软件包的名称而不是绝对路径执行ls命令。
Tab 自动补全输入
创建ROS程序包
catkin程序包的构成
必须包含catkin compliant package.xml文件。这个package.xml文件提供有关程序包的元信息。必须包含一个catkin 版本的CMakeLists.txt文件
每个目录下只能有一个程序包
最简单的程序包也许就像这样:
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程序包
# catkin_create_pkg <package_name> [depend1] [depend2] [depend3]
程序包依赖关系
一级依赖
$ rospack depends1 <package_name>
间接依赖
$ rospack depends <package_name>
自定义程序包
自定义 package.xml
描述标签<description>
维护者标签
<maintainer
许可标签
<license>
依赖项标签
<build_depend>
<buildtool_depend>
<run_depend>
<test_depend>
自定义 CMakeLists.txt
编译ROS程序包
使用 catkin_make
catkin_make 是一个命令行工具,你可以认为catkin_make是在CMake标准工作流程中依次调用了cmake 和 make。$ catkin_make [make_targets] [-DCMAKE_VARIABLES=...]
catkin_make会编译src文件夹下的所有catkin工程。
开始编译你的程序包
执行完catkin_make后,使用
ls查看:
build //cmake 和 make是在这里被调用来配置并编译你的程序包。 devel //在你安装程序包之前存放可执行文件和库文件的地方 src
相关文章推荐
- ROS官网初级教程学习总结(10-16)
- ROS官网初级教程学习总结(17-20)
- ROS官网初级教程学习总结(5-9)
- ROS官网中级教程学习总结(1-6)
- ROS学习手记13 -- 完成了初级的教程以后
- Ros官网j基础教程总结
- Ubuntu14.04_ROS学习笔记(3)ROS官方初级教程遇到的错误
- ros官网学习资料总结
- Java基础学习总结(82)——Java泛型实例教程
- 马士兵spring教程学习总结
- 性能测试工具Locust基础安装教程与学习总结
- ROS学习总结
- Mysql学习总结(12)——21分钟Mysql入门教程
- Java基础学习总结(39)——Log4j 1使用教程
- (W3C学习笔记)JavaScript 初级教程
- Java基础学习总结(42)——Log4j 2使用教程
- Docker学习总结(5)——超实用Docker入门学习教程
- Jenkins学习总结(1)——Jenkins详细安装与构建部署使用教程
- Java基础学习总结(66)——配置管理库typesafe.config教程
- 学习ASP .NET MVC5官方教程总结(十)添加验证