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基础内容(一)的更多相关文章

  1. ROS_Kinetic_09 ROS基础内容(四)

    ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...

  2. ROS_Kinetic_06 ROS基础内容(三)

    ROS_Kinetic_06 ROS基础内容(三) 先插入一段闲话,关于android的碎片化,无非集中于版本过多,型号各异,品牌杂乱等,似乎这是开源软件无法摆脱的宿命,ROS似乎也在这条路上越走越远 ...

  3. ROS_Kinetic_05 ROS基础内容(二)

    ROS_Kinetic_05 ROS基础内容(二) 1. ROS节点node 官网教程:http://wiki.ros.org/cn/ROS/Tutorials/UnderstandingNodes ...

  4. IO基础内容(File)

    JavaIO基础内容 IO技术概述 Output 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 Input 把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操 ...

  5. ROS_Kinetic_20 ROS基础补充

    ROS_Kinetic_20 ROS基础补充 1 手动创建ROS功能包 参考官网:http://wiki.ros.org/cn/ROS/Tutorials/Creating%20a%20Package ...

  6. 1、js基础内容

    js基础内容 1. 编辑器 编译环境 浏览器 编辑软件 sublime DW H5Build Atom ==[注]尽可能多的去使用编辑器去编辑代码.== Html+css ==JS 逻辑== 比作建设 ...

  7. css基础内容

    css基础内容 CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离 ...

  8. (数据科学学习手札43)Plotly基础内容介绍

    一.简介 Plotly是一个非常著名且强大的开源数据可视化框架,它通过构建基于浏览器显示的web形式的可交互图表来展示信息,可创建多达数十种精美的图表和地图,本文就将以jupyter notebook ...

  9. (数据科学学习手札41)folium基础内容介绍

    一.简介 folium是js上著名的地理信息可视化库leaflet.js为Python提供的接口,通过它,我们可以通过在Python端编写代码操纵数据,来调用leaflet的相关功能,基于内建的osm ...

随机推荐

  1. 详解Tomcat配置JVM参数步骤

    这里向大家描述一下如何使用Tomcat配置JVM参数,Tomcat本身不能直接在计算机上运行,需要依赖于硬件基础之上的操作系统和一个Java虚拟机.您可以选择自己的需要选择不同的操作系统和对应的JDK ...

  2. pm2进阶使用

    启用集群模式 只需要在启动应用时带上i参数 pm2 start app.js -i max max:意味着PM2将自动检测可用的CPU数量和运行多个进程可以在负载均衡模式(但是不推荐使用) 或者使用j ...

  3. python笔记五(条件判断/循环/break和continue)

    一 条件判断 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> ...

  4. 一起撸个简单粗暴的Tv应用主界面的网格布局控件(上)

    这一篇是真的隔了好久了~~,也终于可以喘口气来好好写博客了,这段时间实在是忙不过来了,迭代太紧.好,废话不多说,进入今天的主题. 效果 图一是Tv应用:当贝市场的主页 图二是咱自己撸的简单粗暴的 Tv ...

  5. android 自定义view之选座功能

    效果图: 界面比较粗糙,主要看原理. 这个界面主要包括以下几部分 1.座位 2.左边的排数 3.左上方的缩略图 4.缩略图中的红色区域 5.手指移动时跟随移动 6.两个手指缩放时跟随缩放 主要技术点 ...

  6. Swift中if与switch语句使用一例

    在Swift中相同的条件处理有if和switch两个语句,我们如何取舍呢? 一种情况下我们只在乎x是否在一个范围内,但并不关心x是否穷尽!换句话说不关心在满足范围条件的其他情况下,此时我们可以考虑用i ...

  7. Scala:访问修饰符、运算符和循环

    http://blog.csdn.net/pipisorry/article/details/52902234 Scala 访问修饰符 Scala 访问修饰符基本和Java的一样,分别有:privat ...

  8. Swift基础之使用Alamofire库进行网络请求和断点下载

    好久没有写过Swift相关的文章博客了,这里我就展示一下关于使用Alamofire库的方法 1.什么是Alamofire (1)Alamofire 的前身是 AFNetworking.AFNetwor ...

  9. App安全(一) Android防止升级过程被劫持和换包

    文/ Tamic 地址/ http://blog.csdn.net/sk719887916/article/details/52233112 前言 APP 安全一直是开发者头痛的事情,越来越多的安全漏 ...

  10. android解析网络json数据(1)

    1.首先获得url,传入URL类,利用URL的openconnection方法,获得URLConnection,去的输入流,进行操作,具体代码如下: public class NetConnectio ...