ROS第一个程序(HelloWorld)

一、创建工作空间

在home目录下创建工作空间

mkdir -p ros_learning_ws/src # mkdir 可选参数 自定义工作空间名称/src
cd ros_learning_ws # cd 自定义工作空间名称
catkin_make # 编译命令

二、创建功能包

catkin_create_pkg helloworld # catkin_create_pkg 自定义功能包名

三、编写源文件

先切换到功能包下的src目录

cd ~/ros_learning_ws/src/helloworld/src # cd 自定义功能包/src
sudo gedit helloworld.cpp # sudo gedit 自定义源文件名

编写源文件内容:

#include "ros/ros.h"int main(int argc, char *argv[])
{//执行 ros 节点初始化ros::init(argc,argv,"hello");//创建 ros 节点句柄(非必须)ros::NodeHandle n;//控制台输出 hello worldROS_INFO("hello world!");return 0;
}

四、修改配置文件

编辑功能包目录下的CMakeLists.txt文件

add_executable(步骤3的源文件名src/步骤3的源文件名.cpp
)
target_link_libraries(步骤3的源文件名${catkin_LIBRARIES}
)

五、编译并执行

1 编译

cd 自定义空间名称
catkin_make

2 执行

打开一个终端,启动roscore(Ros Master)

roscore

再开一个终端

cd 工作空间
source ./devel/setup.bash
rosrun 包名 C++节点

PS:
source ~/工作空间/devel/setup.bash可以添加进.bashrc文件,使用上更方便

添加方式1: 直接使用 gedit 或 vi 编辑 .bashrc 文件,最后添加该内容

添加方式2:echo “source ~/工作空间/devel/setup.bash” >> ~/.bashrc

ROS第一个程序(HelloWorld)相关推荐

  1. actionscript 3.0 怎么写android 程序,(ActionScript3.0笔记)第一个程序HelloWorld!

    (ActionScript3.0笔记)第一个程序HelloWorld! 创建我的第一个ActionScript3.0程序--HelloWord! 首先下载ActionScript3.0的集成开发环境, ...

  2. 2018年9月28日第一个程序HelloWorld

    A编写第一个程序 HelloWorld public class HelloWorld { //一个文件只能有一个public的class // 一个文件中可以有多个类,但是只能有一个公开的类 pub ...

  3. java怎么开始学dos,第一阶段-Java基础知识:【第一章 DOS命令与开发环境的配置 + 第一个程序HelloWorld】...

    加油Ideal星河滚烫  你是人间理想 第一阶段 JAVA基础知识 第一章 开发环境的配置 Dos 命令 在正式进入Java学习之前我们来了解一个看起来B格很高的东西--Dos命令 DOS命令,计算机 ...

  4. 【Spring 4.0】Spring入门之第一个程序HelloWorld实现

    一.什么是Spring? Spring Framework 是一个开源的Java/Java EE全功能栈(full-stack)的应用程序框架,以Apache License 2.0开源许可协议的形式 ...

  5. java第一个程序编译失败,零基础java第一个程序HelloWorld,编译,环境变量,运行,注释...

    1.开发第一个java程序:HelloWorld public class HelloWorld{ // 这是一个类,类名叫做HelloWorld public static void main(St ...

  6. JAVA 第一个程序“HelloWorld”

    大三上学期我们开设了"JAVA程序设计"这门课程,所用的教材是Bruce Eckel的<Java编程思想>也就是<Thinking in Java Fourth ...

  7. java学习笔记1:第一个程序HelloWorld

    public class HelloWorld{/**该方法是程序的入口*/public static void main(String[] args){//这是一个输出语句System.out.pr ...

  8. MiniGUI——第一个程序helloworld

    文章目录 一.窗口过程和句柄是什么? 二.helloworld代码部分以及部分代码的解释 一.窗口过程和句柄是什么? 提示:以下是本篇文章正文内容 1.窗口过程是什么? 窗口过程是一个特定类型的函数, ...

  9. java游戏一开始去山上打狐狸_。。。这才是Java的第一个程序------HelloWorld

    这个是别人程序的错误,拿来给自己借鉴一下,以免发生同样的错误 不多说了...看程序 class   helloworld   { public   static   void   main   (St ...

最新文章

  1. PLM的关键点—实施篇
  2. 简单上手Linux的输入输出重定向
  3. Forever +nginx部署Node站点
  4. 面向未来的智能硬件:研究通用高端智能控制器开发智能体系结构
  5. UVALive6428 A+B【扩展欧几里得算法+GCD】
  6. 电力系统【第3章:简单电力系统的潮流分布计算】
  7. linux c 内核 warning: the frame size of 1040 bytes is larger than 1024 bytes
  8. JVM、JRE和JDK的概念
  9. 第一篇:Django基础
  10. 查看网口命令_20个常用Linux命令
  11. 05.序列模型 W2.自然语言处理与词嵌入
  12. IOS 自定义导航栏标题和返回按钮标题
  13. 男友升级为老公的时候
  14. vue axios配置 发起请求加载loading请求结束关闭loading
  15. JAVA画SVG图(Batik框架)SVGComponentDemo
  16. linux 去掉csv文件第一行,使用PowerShell删除文本文件的第一行
  17. 通过MFC实现数码管显示功能
  18. YOLOv3的环境配置
  19. mbedtls基础及其应用
  20. linux的管理权限命令,Linux权限管理命令

热门文章

  1. FPGA演奏歌曲(国际歌)
  2. 同一网络(局域网)下远程控制另一台电脑
  3. faiss 向量库使用;指定自定义id;对外serving http接口
  4. linux 备份文件时,目录下的个别文件不备份,【学习笔记】Linux TAR备份文件时排除指定文件...
  5. ipa包安装失败的几个原因
  6. excel粘贴的时候怎么样可以直接以空格分开,一个数字占一格。
  7. SCEA之路--起步
  8. 【JT-1/2电子式同步检查继电器】
  9. el-table 给单元格设置背景色
  10. 立创EDA专业版入门经验分享(1)——对标AD的快捷操作