ros学习笔记(二)

一 创建工作空间并进行编译

mkdir -p demo01_ws/src //-p是递归创建
cd demo01_ws/
catkin_make //编译

二 打开vscode

在工作空间下输入:
code .

三 配置编译文件

快捷键 ctrl + shift + b 调用编译,选择catkin_make:build 后面的小螺丝,用以下程序替换显示的程序,以后进行编译时,只需要ctrl + shift + b 即可

{
    // 有关 tasks.json 格式的文档,请参见
        // https://go.microsoft.com/fwlink/?LinkId=733558
        "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"
            }
        ]
}

四 创建功能包并添加依赖项

在src上右键然后点击Create Catkin Package

 

 写功能包名,按Enter键,添加依赖项,按enter键

 

 

五 配置c_cpp_properties.json文件

 c_cpp_properties.json用于编写ros程序时,自动补全,将.json文件中的代码换成下面的代码即可

{
  "configurations": [
    {
      "browse": {
        "databaseFilename": "",
        "limitSymbolsToIncludedHeaders": true
      },
      "includePath": [
        "/opt/ros/noetic/include/**",
        "/usr/include/**"
      ],
      "name": "ROS",
      "cppStandard": "gnu++17",
      "intelliSenseMode": "gcc-x64",
      "cStandard": "c11"
    }
  ],
  "version": 4
}

六 创建cpp文件

在功能包下的src目录上右键新建文件,并输入文件名,按Enter键

 

 输入一下代码,如果配置以上.json文件以后,还没代码提示,就保存一下代码,在写程序

#include "ros/ros.h"

int main(int argc, char *argv[])
{
    setlocale(LC_ALL,"");//防止中文输出乱码
    ros::init(argc,argv,"hello");
    ROS_INFO("hello world,哈哈哈");
    return 0;
}

七 配置CMakeList.txt文件

一般原文件名和节点名保持一致

add_executable(节点名称
  src/C++源文件名.cpp
)
target_link_libraries(节点名称
  ${catkin_LIBRARIES}
)

八 编译文件

按ctrl + shift + b 

 九 执行

启用终端快捷键:Ctrl + ~,首先在工作空间目录下输入roscore,然后点击+号,启动另一个终端,输入以下命令

 

 

roscore//启动master核心

source ./devel/setip.bash//配置环境变量

rosrun 功能包名 节点名//执行编译的可执行文件

 

posted @ 2022-03-20 00:23  Leyman  阅读(50)  评论(0编辑  收藏  举报