一、ROS回顾

没啥好回顾的。

ros操作简单又功能强大(百度这么说的),但学起来也没那么容易。

二、Hellow,ROS

上一篇说过,ROS程序员需要写的程序,其实就是创造节点。那么,怎么样写,写在哪里?需要先了解一些概念。

1、工作空间

ros的工作空间基本可以看作是工程项目了。工作空间下,装载着这个项目需要的依赖包,头文件,执行文件,代码等等文件。可以通过一个树状分级了解一下。

想要通过ROS建立一个机器人,首先建立一个机器人项目文件,也就是工作空间。工作空间下,又3个文件,分别是build,装着依赖包,库文件等杂七杂八的底层依赖的地方,devel,装着环境配置文件的地方,src,装功能包的地方。除了src,其余两个很少打交道。

当一个机器人项目被创建,就要开始构思机器人的功能了,ROS提供了功能包这一个概念,意思是,完成这一个功能的代码,都放在这个文件下就好了。

当一个功能包被创建,在其下方也存在一个src文件夹,代码就放在这个src文件夹下。

2、在ROS中,输出hellow_word

首先,创建一个机器人项目,也就是工作空间 //在~下

mkdir -p wsp_hellow_ros/src

在工作空间下,与src文件夹同级的目录,使用命令//在wsp_hellow_ros下

catkin_make

这时候,cmake工具会自动创建需要的环境与依赖,生成build和devel文件。同时src下也有一个.txt文件,是用来负责编译环境配置,库连接等等工作的。

创建一个功能包 //在src下

catkin_create_pkg hellow_ros cpp

参数1为功能包名,参数二为功能包所需依赖。 创建完后,src下应有一个文件夹hellow_ros,同时该文件夹下存在2个文件夹,2个txt文件。

来到功能包下的src,创建一个节点Node,实际上就是开始写程序了。创建一个cpp文件,建议文件名与希望生成的节点名相同。

程序如下:

#include<ros/ros.h>
#include<iostream>using namespace std;int main(int argc,char*argv[] )
{ros::init(argc,argv,"printf_hellow"); //创建一个节点,名为printf_hellowwhile(ros::ok()){ROS_INFO("hellow,ROS!");sleep(1);//等待1s} }

c++程序是需要编译才能运行的,通过cmake工具编译,要将编译的文件目标导入功能包下src里的CMake....txt下,不是工程下的src哦。

编辑CMake.txt文件添加这两句。

add_executable(exe1 src/printf_hellow_ros.cpp)
target_link_libraries(exe1 ${catkin_LIBRARIES})

这两句实际上在文件里是有原型的,他们的意思也简单易懂。

add_executable就是为目标文件生成 .exe的执行文件,第一个参数是,生成执行文件的名字。第二个参数是,想要编译的文件的路径。

target_link_libraries则为生成的  .exe文件提供库的支持。二者必不可少。

最终回到工作空间目录。catkin_make一下。

打开终端,运行roscore

打开另一个终端,rosrun功能包下的执行文件,就能看见输出的hellow_ros

我的Linux与ROS的不眠不休:从入门到入土(三)——hellow,ROS相关推荐

  1. 我的Linux与ROS的不眠不休:从入门到入土(六)——自定义话题消息类型。

    ROS中,除了使用rosmsg list 列表中所展示的消息类型外,还可以通过在功能包下创建msg文件夹,添加msg文件,达成自定义消息类型的操作.   ROS自定义数据类型需要一个依赖包的支持 me ...

  2. ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包

    ROS Noetic入门笔记(一)在ubuntu20.04中安装ROS Noetic并简单测试 ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包 ROS Noetic入门笔记 ...

  3. ROS系统MoveIt玩转双臂机器人系列(一)--ROS机器人建模

    ROS系统MoveIt玩转双臂机器人系列(一)--ROS机器人建模 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_make 编译. 2. ...

  4. python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...

    原标题:机器人操作系统(ROS)入门必备:机器人编程一学就会 ROS经过十几年的发展,已经得到了极大的推广和应用,尤其是在学术界.卡耐基梅隆大学机器人研究所的大部分实验室都是基于ROS编程的,现在所在 ...

  5. 如何选择ROS机器人平台进行SLAM导航入门:SLAM与ROS的关系

    1.SLAM与ROS的关系 1.1.关于SLAM 在了解SLAM之前,需要先对机器人有一个整体的认识.机器人是一个复杂的装置,涉及到执行机构.感知.决策等主要环节.机器人上的配备的常用执行机构有轮式运 ...

  6. hualinux ros 1.1:RouterOS如何入门及推荐资料

    目录 一.背就相当于作死 二.需要的技术 2.1 如何学好网络:曲线更美 2.2 拿下ros脚本:学一门编程基础 2.3 linux基础:进阶的好帮手 搞网络的,多多少少都会听说过软件路由,如海蜘蛛. ...

  7. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  8. ROS学习(二):在ubuntu 16.04安装ROS Kinetic

    机器人操作系统 ROS 一般可以采用 apt-get的方式进行安装,可以根据自己的Ubuntu的具体版本下载相应的ROS版本进行安装. 安装前 1.配置软件库: Ubuntu repositories ...

  9. automake linux,Linux下automake软件编译与发布快速入门

    Linux下automake软件编译与发布快速入门 2008-04-22 eNet&Ciweek 进入编辑界面,输入内容如下: AUTOMAKE_OPTIONS=foreign bin_PRO ...

最新文章

  1. 兹介绍我校计算机科学与技术,清华大学计算机科学与技术系
  2. linux tomcat端口冲突解决
  3. 单元测试:基于Groovy的Spock框架
  4. 用python爬取i春秋的课程名
  5. 关于将一个数输出为原码、反码和补码的解惑
  6. NYOJ 17 单调递增最长公共子序列
  7. O(N) 求 1~N 逆元 模板及证明
  8. CSS border-image属性
  9. c++ 读文件_第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...
  10. ServerBootstrap
  11. j计算机一级考试题,2017全国计算机一级考试试题与答案
  12. Unity URP一分钟实现遮挡透视
  13. 关于 IIS7.0下文件写入无权限的解决办法
  14. 【渝粤教育】国家开放大学2019年春季 3818-22T燃气工程施工 参考试题
  15. MacOS新版本,不能装老版本Xcode
  16. python mooc-课程资源 | Python语言系列专题MOOC
  17. 将python(py文件)转换成.exe方法
  18. Android 如何测试你的Base64是否正确展示
  19. hibernate四种状态
  20. 金融财务英译汉常用词怎样翻译

热门文章

  1. Adobe 安装失败[安装遇到错误]-information not found in Media_db
  2. 江苏省计算机二级vb百度网盘,江苏省计算机二级vb基本知识点总结
  3. htc m8 wp android,表现优秀 WP版HTC M8电池续航能力测试结果出炉
  4. 前端小风车 HTML,CSS,Javascript
  5. 理光Aficio MP C2800 打印机配置扫描到samba共享文件夹中
  6. 乐斗至尊 -- 成长记录
  7. htc sync for all htc android phones,HTC Sync 手机电脑同步软件
  8. 海天蚝油《挑战不可能》最强记忆大师夫妻迎战31200种可能
  9. 360网盘440.5G免费送
  10. 萧乾升:4.12今日财经风险提示