ROS_Kinetic_04 ROS基础内容(一)
ROS_Kinetic_04 ROS基础内容(一)
在开始基础内容之前,假定您已经完成了ROS kinetic版本的安装,
如果没有请参考ROS kinetic安装说明。
1. 环境变量
在使用ROS期间,一定要确保环境变量配置正确,通常是source不同的setup.bash。
~$ source /opt/ros/kinetic/setup.bash
如果您在查找和使用ROS功能表遇到问题,请检查您的脚本环境,可以使用以下命令:
~$ export | grep ROS
为了避免在每次启动终端都输入ROS相关环境配置命令,可以将其添加到.bashrc文件中。
2. 创建ROS工作空间(catkin)
输入下面命令创建一个新的catkin工作空间:
~$ mkdir -p ~/catkin_ws/src
~$ cd catkin_ws/
~/catkin_ws$ catkin_make
完成后,输入下面命令:
~/catkin_ws$ source devel/setup.bash
使用下面命令查看环境变量:
~/catkin_ws$ echo $ROS_PACKAGE_PATH
为了避免在每次启动终端都需要配置环境变量,修改.bashrc:
3. ROS文件系统
首先确保教程包已经安装:
~$ sudo apt-get install ros-kinetic-ros-tutorials
Packages:功能包-包含程序,可执行文件,脚本等;
Manifest:清单-包含依赖关系,版本信息等。
文件系统工具:
使用rospack获取功能包的相关信息。
~$ rospack find turtlesim
使用roscd直接前进到功能包目录中:
~$ roscd turtlesim
$ pwd
rosls
~$ rosls turtlesim
Tab补全小技巧。----rospack roscd rosls----
4. 创建ROS功能包
先提供官网中文教程:http://wiki.ros.org/cn/ROS/Tutorials/CreatingPackage
列一些重要的命令:
~$ cd catkin_ws/src/
~/catkin_ws/src$ catkin_create_pkg hello_kinetic std_msgs rospy roscpp
依赖关系:
~/catkin_ws/src$ rospack depends hello_kinetic
~/catkin_ws/src$ rospack depends1 hello_kinetic
5. 编译ROS功能包
先提供官网中文教程:http://wiki.ros.org/cn/ROS/Tutorials/BuildingPackages
~/catkin_ws$ catkin_make
~/catkin_ws$ catkin_make install
如果源代码不再src文件夹使用下面命令:
~/catkin_ws$ catkin_make --source xxxx
当功能包编译完成,就可以使用了。
这里以usb_cam为例,下载地址:https://github.com/bosch-ros-pkg/usb_cam
~/catkin_ws$ catkin_make
~/catkin_ws$ rosstack profile & rospack profile
~/catkin_ws$ roslaunch usb_cam usb_cam-test.launch
-End-
ROS_Kinetic_04 ROS基础内容(一)的更多相关文章
- ROS_Kinetic_09 ROS基础内容(四)
ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...
- ROS_Kinetic_06 ROS基础内容(三)
ROS_Kinetic_06 ROS基础内容(三) 先插入一段闲话,关于android的碎片化,无非集中于版本过多,型号各异,品牌杂乱等,似乎这是开源软件无法摆脱的宿命,ROS似乎也在这条路上越走越远 ...
- ROS_Kinetic_05 ROS基础内容(二)
ROS_Kinetic_05 ROS基础内容(二) 1. ROS节点node 官网教程:http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingNodes ...
- IO基础内容(File)
JavaIO基础内容 IO技术概述 Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操 ...
- ROS_Kinetic_20 ROS基础补充
ROS_Kinetic_20 ROS基础补充 1 手动创建ROS功能包 参考官网:http://wiki.ros.org/cn/ROS/Tutorials/Creating%20a%20Package ...
- 1、js基础内容
js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...
- css基础内容
css基础内容 CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离 ...
- (数据科学学习手札43)Plotly基础内容介绍
一.简介 Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图,本文就将以jupyter notebook ...
- (数据科学学习手札41)folium基础内容介绍
一.简介 folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm ...
随机推荐
- KMP及其改进算法
本文主要讲述KMP已经KMP的一种改进方法.若发现不正确的地方,欢迎交流指出,谢谢! KMP算法的基本思想: KMP的算法流程: 每当一趟匹配过程中出现字符比较不等时,不需回溯 i 指针,而是利用已经 ...
- 【转载】给想要入门渗透的人的忠告——schiz0wcingU
最近发现很多拥有黑客梦想的年轻人在群里或者论坛里,找"师傅"或者学一些所谓的"社工" 这些找师傅的人当中,有极大一部分人是还在上学的学生,自然也就没有收入来源, ...
- range和xrange的区别详解
两种用法介绍如下:1.range([start], stop[, step])返回等差数列.构建等差数列,起点是start,终点是stop,但不包含stop,公差是step.start和step是可选 ...
- java绘图原理------在窗口界面(或面板上)画出一张或多张图片问题解决方法
/** *@author blovedr * 功能: java绘图原理------在窗口界面(或面板上)画出一张或多张图片问题解决方法 * 日期: 2018年4月28日 16:20 * 注释: ...
- JavaScript原型与原型链
一.数据类型 JavaScript的数据类型可以分为基本数据类型和引用数据类型. 基本数据类型(6种) String Number Boolean null undefined Symbol(ES6) ...
- mybatis映射器配置细则
前面三篇博客我们已经多次涉及到映射器的使用了,增删查基本上都用过一遍了,但是之前我们只是介绍了基本用法,实际上mybatis中映射器可以配置的地方还是非常多,今天我们就先来看看映射器还有哪些需要配置的 ...
- Dubbo框架应用之(三)--Zookeeper注册中心、管理控制台的安装及讲解
我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端.Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心.Dubbo未对 ...
- ListView下拉刷新上拉加载更多实现
这篇文章将带大家了解listview下拉刷新和上拉加载更多的实现过程,先看效果(注:图片中listview中的阴影可以加上属性android:fadingEdge="none"去掉 ...
- FORM开发技术之动态控制某些item的属性
利用FORM内置函数控制ITEM包括按钮,普通ITEM等等的属性,更多内置函数学习课参考我的博客FORM内置系统函数 http://blog.csdn.net/cai_xingyun/article/ ...
- activiti 数据库升级 upgrade
分享牛原创(尊重原创 转载对的时候第一行请注明,转载出处来自分享牛http://blog.csdn.net/qq_30739519) 在项目中我们如果使用activiti 工作流引擎的时候,肯定是需要 ...