ROS学习笔记一(ROS的catkin工作空间)
在安装完成ROS indigo之后,需要查看环境变量是否设置正确,并通过创建一个简单的实例来验证ROS能否正常运行。
1 查看环境变量
在ROS的安装过程中,我们执行了如下命令:(此命令就是向当前用户添加ROS的环境变量)
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc source ~/.bashrc
确认环境变量添加成功:printenv | grep ROS
,结果如下,即说明环境变量设置成功:
ROS_ROOT=/opt/ros/indigo/share/ros ROS_PACKAGE_PATH=/opt/ros/indigo/share:/opt/ros/indigo/stacks ROS_MASTER_URI=http://localhost:11311 ROSLISP_PACKAGE_DIRECTORIES= ROS_DISTRO=indigo ROS_ETC_DIR=/opt/ros/indigo/etc/ros
2 创建ROS工作空间
我这里用的是ROS indigo,同样适用于ROS groovy及其以后的版本。
[1]创建并初始化一个catkin工作空间
$ mkdir -p ~/catkin_ws2/src $ cd ~/catkin_ws2/src $ catkin_init_workspace
catkin_init_workspace
命令把当前目录初始化为一个ROS工作空间。
可通过来ls -l
查看一下初始化之后的工作空间的内容。发现:catkin_ws目录下仅仅有一个刚才创建的src目录,src目录下只有一个指向一个cmake文件的符号连接文件。尽管现在catkin_ws目录是空的,但是我们仍可以
[2]编译该工作空间。
$ cd ~/catkin_ws2 $ catkin_make
终端结果:
Base path: /home/wj/catkin_ws2 Source space: /home/wj/catkin_ws2/src Build space: /home/wj/catkin_ws2/build Devel space: /home/wj/catkin_ws2/devel Install space: /home/wj/catkin_ws2/install #### #### Running command: "cmake /home/wj/catkin_ws2/src -DCATKIN_DEVEL_PREFIX=/home/wj/catkin_ws2/devel -DCMAKE_INSTALL_PREFIX=/home/wj/catkin_ws2/install -G Unix Makefiles" in "/home/wj/catkin_ws2/build" #### -- The C compiler identification is GNU 4.8.4 -- The CXX compiler identification is GNU 4.8.4 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Using CATKIN_DEVEL_PREFIX: /home/wj/catkin_ws2/devel -- Using CMAKE_PREFIX_PATH: /opt/ros/indigo -- This workspace overlays: /opt/ros/indigo -- Found PythonInterp: /usr/bin/python (found version "2.7.6") -- Using PYTHON_EXECUTABLE: /usr/bin/python -- Using Debian Python package layout -- Using empy: /usr/bin/empy -- Using CATKIN_ENABLE_TESTING: ON -- Call enable_testing() -- Using CATKIN_TEST_RESULTS_DIR: /home/wj/catkin_ws2/build/test_results -- Looking for include file pthread.h -- Looking for include file pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found gtest sources under '/usr/src/gtest': gtests will be built -- Using Python nosetests: /usr/bin/nosetests-2.7 -- catkin 0.6.18 -- BUILD_SHARED_LIBS is on -- Configuring done -- Generating done -- Build files have been written to: /home/wj/catkin_ws2/build #### #### Running command: "make -j4 -l4" in "/home/wj/catkin_ws2/build" ####
【catkin_make
命令是catkin工作空间非常有力的一个工具。】
此时再查看catkin_ws目录,发现多了两个文件夹build,devel:
可以看到在devel目录下,有很多setup.*sh文件,读取这些文件中的任何一个都会将当前工作空间的环境变量置于所有环境变量的最上层。如果我们打开这些文件会发现,最终都是要读取setup.sh
文件,这个文件中
[3]定义了catkin_ws空间所需要的环境变量。
wj@wj-Inspiron-5437:~/catkin_ws2$ source devel/setup.sh //读取setup.sh
文件
[4]确认已经加载catkin工作空间环境变量:echo $ROS_PACKAGE_PATH
结果:/home/wj/catkin_ws2/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks
这时ROS的环境变量已经创建好了。
3 总结
初始化ROS的catkin工作空间:catkin_init_workspace
编译ROS的catkin工作空间:catkin_make
读取当前catkin工作空间的环境变量:source devel/setup.sh
验证ROS工作空间的环境变量加载成功:echo $ROS_PACKAGE_PATH
转载于:https://www.cnblogs.com/Jessica-jie/p/6520061.html
ROS学习笔记一(ROS的catkin工作空间)相关推荐
- ROS 学习笔记(一):工作空间+功能包创建
ROS 学习笔记(一):工作空间+功能包创建 一.创建工作空间(catkin_make编译): 1.创建工作空间 catkin_ws 创建空间.初始化(建立一个文件夹) cd ~ mkdir -p ~ ...
- ROS学习笔记(十)——ROS试用练习(一)
ROS学习笔记(十)--ROS试用练习 在此说明:之前使用的ROS是indigo,前两天电脑"炸"了,所以换了kinetic. 一.ROS文件系统导览 1.1如果你想找到turtl ...
- 【ROS学习笔记】(四)订阅者Subscriber的实现
一.目标功能 订阅者订阅海龟的位姿信息. 二.创建功能包 首先创建工作空间,参考[ROS学习笔记](二)工作空间与功能包的创建 然后创建一个功能包 cd ~/catkin_ws/src catkin_ ...
- 【ROS学习笔记】(三)发布者Publisher的实现
一.目标功能 ROS Master内有两个节点,一个是Subscriber(turtlesim),一个是Publisher,发布者通过程序实现发布Message,Message的内容包括线速度.角度, ...
- ROS 学习笔记(三):自定义服务数据srv+server+client 示例运行
ROS 学习笔记(三):自定义服务数据srv+Server+Client 示例运行 一.自定义服务数据: 1.向功能包添加自定义服务文件(AddTwoInts.srv) cd ~/catkin_ws/ ...
- ROS 学习笔记(二):自定义消息msg+Publisher+Subscriber 示例运行
ROS 学习笔记(二):自定义消息msg+Publisher+Subscriber 示例运行 一.自定义消息: 1.新建msg文件夹,创建定义Person.msg 文件 mkdir -p ~/catk ...
- ROS学习笔记(八): ROS通信架构
ROS学习笔记(八): ROS通信架构 文章目录 01 Node & Master 1.1 Node 1.2 Master 1.3 启动master和node 1.4 rosrun和rosno ...
- ROS学习笔记十:用C++编写一个简单的服务和客户端
ROS学习笔记十:用C++编写一个简单的服务和客户端 这一节主要介绍如何使用C++编写一个简单的服务和客户端节点. 编写服务节点 由于在前面的练习中,已经向beginner_tutorials软件包中 ...
- ROS学习笔记九:用C++编写ROS发布与订阅
ROS学习笔记九:用C++编写ROS发布与订阅 本节主要介绍如何用C++编写一个简单的ROS发布与订阅. 编写发布节点 在之前创建的例子beginner_tutorials软件包中,在其目录下的src ...
- ROS学习笔记三:创建ROS软件包
,# ROS学习笔记三:创建ROS软件包 catkin软件包的组成 一个软件包必须满足如下条件才能被称之为catkin软件包: 这个软件包必须包含一个catkin编译文件package.xml(man ...
最新文章
- 罗格斯大学电气与计算机工程专业怎么样,美国电子工程排名 - 电子计算机工程的研究生教育,特别是偏向电路设计方向,请问是美国罗格斯大学新布朗斯维克校区好还是清华...
- 为.NET部署应用程序添加个卸载程序
- 数据解析1:XML解析(2)
- AVCDecoderConfiguration语法格式分析
- d3.js 制作简单的俄罗斯方块
- Java SimpleTimeZone equals()方法与示例
- 互联网平台“直播+”赋能研究报告
- mysql抖动可能的原因_MySQL应对网络抖动问题
- java安装后启动程序在哪_java – 有没有办法在安装后使用一些“帮助应用程序”立即启动应用程序?...
- java中值滤波_Java实现图像中值滤波
- Mac - 让NSView快捷的实现阴影效果
- Kubernetes1.91(K8s)安装部署过程(六)--node节点部署
- 分段线性插值法实验报告_试验二 插值法(含实验报告式)格式).doc
- 2022-2028中国防爆电话市场现状研究分析与发展前景预测报告
- 安卓手机运行ios教程_英雄联盟手游公测,安卓/苹果iOS注册下载教程!
- 分享一个简单好看的科技公司官网模板-纯HTML+CSS
- 面了三十个人,说说我的真实感受
- Win10笔记本触控板关闭/打开
- VMware Harbor学习
- numpy.logspace讲解
热门文章
- [django]list_display 中包含外键内的字段
- Permission denied: make_sock: could not bind to address 端口问题解决
- ROS学习笔记7(理解ROS服务和参数)
- python span镶嵌匹配_python模式匹配,提取指定字段
- TENSORFLOW 指定使用GPU跑
- 今日恐慌与贪婪指数为31 恐慌程度有所上升
- SAP License:ERP系统供应商管理都包含什么?
- SAP License:新总账
- SAP License:值字段更改注意事项
- SAP License:家庭主妇与ERP