第一章 ros简介与环境搭建(实现打印hello world):

前言:本文原本初衷为个人梳理知识点复习使用,发现网上目前没有关于ros的详细图文教程,大部分需要另外查看相关资料才能看懂,非常不适合我这个初学者,尤其是没有c++基础,所以干脆自己归纳笔记,但考虑时间效率,很多内容是回顾的时候写的,并不想每一个步骤都配图说明。如果有其他学习爱好者需要,对每一个步骤详细配图说明,请在评论区告诉我,我会根据需求添加图片,感谢各位支持!

1.1 ros简介

1.2 环境搭建

1.3 hello world 实现

ROS中的程序即便使用不同的编程语言,实现流程也大致类似,以当前HelloWorld程序为例,实现流程大致如下:

  1. 先创建一个工作空间;
  2. 再创建一个功能包;
  3. 编辑源文件;
  4. 编辑配置文件;
  5. 编译并执行。

1.创建工作空间(以demo01_ws为例)

打开终端,分别输入以下命令

mkdir -p demo01_ws/src
cd demo01_ws
catkin_make

 输入第一行命令,按下回车键,再输入第二行命令,按下回车键

 输入第三行命令,按下回车键,结果如下

代码看不懂?下面是代码分析:

  1. mkdir -p demo01_ws/src/

    • mkdir:创建目录的命令。
    • -p:这个选项代表 "parents",意味着如果指定的目录路径中的上级目录不存在,mkdir 命令会创建它们。这允许你一次性创建多级目录结构,而不需要逐个手动创建每个目录。
    • demo01_ws/src:这是要创建的目录路径,demo01_ws是工作空间的名称,src是源代码目录。
  2. cd demo01_ws

    • cd:改变当前工作目录的命令。cd 命令代表 "change directory",即 "改变目录"。这个命令用于改变当前的工作目录,也就是你当前所在的目录路径。当你在计算机上执行命令时,你需要知道当前的工作目录,因为这决定了哪些文件和目录是你可以直接访问的。
    • demo01_ws:这是要切换到的目录名,也就是刚刚创建的工作空间目录。
  3. catkin_make:这是ROS中用于编译工作空间的命令。它会查找工作空间中的所有包,安装依赖,并编译源代码。

2.创建功能包

(1)启动vscode

打开终端(快捷键ctrl+alt+t)直接输入 


code .

就会打开vscode

创建功能包

找到src,鼠标右击Create Catkin Package,自定义功能包名称,例如helloworld

                                             

 在弹出的窗口输入功能包名,这里是 helloworld ,回车

之后又会弹出这个窗口,输入以下代码用于添加依赖,回车。分别是c++ ,python,和标准信息(注意每个依赖之间的间隔)

roscpp rospy std_msgs

回车后如下所示

接着在src(注意是下面的src)上右击,新建文件(注意是文件,不是文件夹),用于编写c++源文件。

给c++源文件自定义命名,如图所示的hello_world.cpp 等。

3.编写源文件

接下来就是编写c++源码了

示例代码如下

#include "ros/ros.h"  // 包含ROS的头文件,这是使用ROS功能的基础。

int main(int argc, char *argv[])  // 程序的主函数,接收命令行参数。
{
    // 执行ROS节点初始化
    // 初始化ROS节点,设置节点名为"hello"。
    ros::init(argc, argv, "hello");

    // 创建ROS节点句柄(非必须)
    // 创建一个NodeHandle对象,用于管理节点的通信和参数。虽然不是必须,但通常推荐使用。
    ros::NodeHandle n;

    // 控制台输出 hello world
    // 使用ROS的日志系统输出信息到控制台。这里输出的是"hello world!"。
    ROS_INFO("hello world!");

    return 0;  // 程序正常退出,返回0表示成功。
}
 

4.编辑配置文件

在helloworld功能包下面src目录下的CMakeList.txt文件

1.找到下图代码,放开注释(快捷键ctrl+/)

修改里面的&{PROJECT_NAME}_node,改成c++文件名称。这里的文件名称是hello_world

改完的结果如下(注意空格以及不要打错字母)

5.编译并执行

回到源代码开始编译(快捷键ctrl+shift+b)

像这样100%且没有报错,就可以了

接下来就可以在终端运行看看了

打开终端(快捷键ctrl+alt+t)

在第一个窗口输入

roscore

 运行如下 

这里将启动ros核心,这是关键

第二个窗口输入(语法如下)

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

这里我们输入(注意每输入一行回车一次,再输入下一行)

结果如下,注意这里敲错导致出错,所以一定要写正确

最后结果打出了hello world!   大功告成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值