ROS学习笔记1——用ros输出helloworld

一、创建ROS工作空间

mkdir -p xxx_ws/src(必须得有 src)
cd xxx_ws
catkin_make

二、启动vscode

进入工作空间,启动vscode

code .

三、快捷键编译ros

快捷键 ctrl + shift + B 调用编译,点击catkin_make:build后面的小齿轮

修改.vscode/tasks.json 文件

{
	"version": "2.0.0",
	"tasks": [
		{
			"label": "catkin_make:debug", //代表提示的描述性信息
            "type": "shell",  //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
            "command": "catkin_make",//这个是我们需要运行的命令
            "args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
            "group": {"kind":"build","isDefault":true},
            "presentation": {
                "reveal": "always"//可选always或者silence,代表是否输出信息
            },
            "problemMatcher": "$msCompile"
		}
	]
}

此时可以用ctrl + shift + B 测试能否成功编译。

四、创建ROS功能包

1、选定 src 右击 ---> create catkin package

2、设置包名:

helloworld

3、添加依赖:

roscpp rospy std_msgs    //一般来说都会添加这三个

五、C++代码实现

在功能包的src下创建cpp文件,注意cpp文件命名规范。

#include "ros/ros.h"

int main(int argc,char *argv[])
{
    //解决乱码问题
    setlocale(LC_ALL,"");
    ros::init(argc,argv,"helloworld");    //节点初始化
    ROS_INFO("hello world!,哈哈哈");    //输出日志
    
    return 0;
}

六、配置CMakeLists.txt文件

1、add_executable命令用于使用指定的源文件向项目(project)添加可执行文件

add_executable(节点名称   src/可执行cpp文件在功能包下的路径.cpp)

2、target_link_libraries命令用于指定链接给定目标和/或其依赖项时要使用的库或标志来自链接库目标的使用要求将被传播

target_link_libraries(节点名称  ${catkin_LIBRARIES})

七、编译执行

1、ctrl + shift + B 快捷键进行编译

2、可以在vscode中新建终端,目录会自动定位在该代码的工作空间下。

ROS学习笔记1——用ros输出helloworld_第1张图片

3、开启roscore

ROS学习笔记1——用ros输出helloworld_第2张图片

4、开一个新终端,刷新环境变量

source ./devel/setup.bash

5、执行代码

rosrun helloworld helloworld

你可能感兴趣的:(学习,笔记,机器人)