在Jetson Xavier NX 开发板上使用VScode执行ROS程序详细过程

news/2025/2/12 22:54:52/

1.创建 ROS 工作空间ws

在home下打开终端输入下面指令

mkdir -p xxx_ws/src(必须得有 src)
cd 自己命名_ws
catkin_make

2.启动 vscode

cd 自己命名_ws
code .

3.vscode 中编译 ros

快捷键 ctrl + shift + B 调用编译,在上方弹窗位置选择:catkin_make:build
可以点击配置设置为默认,修改.vscode/tasks.json 文件
这里直接复制就行不用改,然后ctrl+c保存。按击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"}]
}

在这里插入图片描述

4.创建 ROS 功能包

选定 src 右击 —> create catkin package
上方出现搜索框一样的栏框,在里面设置包名,如:hello_vscode,点击回车
在这里插入图片描述
添加依赖:roscpp rospy std_msgs
在这里插入图片描述

5 C++ 实现

在文件栏的 src下创建.cpp 文件,输入

#include "ros/ros.h"int main(int argc, char *argv[])
{setlocale(LC_ALL,""); #保证终端输出有中文时不乱码,或者setlocale(LC_CTYPE, "zh_CN.utf8");//执行节点初始化ros::init(argc,argv,"Hello_vscode");//输出日志ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");return 0;
}

6.配置 CMakeLists.txt

取消下面两处的注释

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

在这里插入图片描述
这里注意 CMakeLists.txt文件别找错了,其次一般节点名称和源文件名是一致的当然你改别的也行,但是要保证上下两处的节点名称一致。

7.编译执行

编译: ctrl + shift + B
在这里插入图片描述
点击小加号新建终端输入roscore
再新建终端首先输入source ./devel/setup.bash,再输出rosrun hello_vscode(创建 ROS 功能包时的包名) hello_vscode_c.cpp(在功能包的 src 下新建 cpp 文件名称)

完结!撒花~~~


http://www.ppmy.cn/news/1379323.html

相关文章

登录失败重试次数安全设计方案

1、登录失败重试次数设计方案 1、无论是账号还是密码错误,统一提示:用户名或密码错误,账号剩余登录次数N! 2、同一账号连续登录失败5次,锁定该账号5分钟,5分钟后可以再重试登录。 开发设计 key&#xff…

音视频学习笔记——实现PCM和H264合成MP4功能

本文主要记录实现PCM和H264合成MP4功能的整个框架&#xff0c;各个模块中FFmpeg的api使用流程&#xff0c;便于后续学习和复盘。 本专栏知识点是通过<零声教育>的音视频流媒体高级开发课程进行系统学习&#xff0c;梳理总结后写下文章&#xff0c;对音视频相关内容感兴趣…

word转PDF的方法 简介快速

在现代办公环境中&#xff0c;文档格式转换已成为一项常见且重要的任务。其中&#xff0c;将Word文档转换为PDF格式的需求尤为突出&#xff0c;将Word文档转换为PDF格式具有多方面的优势和应用场景。无论是为了提高文档的可读性和稳定性、保障文档的安全性和保护机制、还是为了…

【Web安全】pikachu靶场做题过程

pikachu靶场 文章目录 pikachu靶场暴力破解基于表单的暴力破解验证码绕过&#xff08;on server&#xff09;验证码绕过&#xff08;on client&#xff09;token防爆破&#xff1f; Cross-Site Scripting反射型xss&#xff08;get&#xff09;反射型xss&#xff08;post&#x…

IP形象设计是什么设计?如何做?

随着市场竞争的激烈&#xff0c;越来越多的企业开始关注品牌形象的塑造和推广。在品牌形象中&#xff0c;知识产权形象设计是一个非常重要的方面。在智能和互联网的趋势下&#xff0c;未来的知识产权形象设计可能更加关注数字和社交网络。通过数字技术和社交媒体平台&#xff0…

LaTex 笔记

目录 1. LaTex 笔记1.1. 符号1.2. Latex设置字体大小及表格中的文字大小等1.3. issues1.3.1. 完全支持中文显示1.3.2. 中文编译报错: LaTeX Error: Unicode character 你 (U4F60) 1. LaTex 笔记 1.1. 符号 \vspace{长度}: 文字上下间距;:: 1.2. Latex设置字体大小及表格中的…

精通SpringBoot单元测试

引言 单元测试是软件开发中不可或缺的一部分&#xff0c;它对保障代码质量和软件的可靠性起着至关重要的作用。而SpringBoot作为一个流行的Java框架&#xff0c;为开发高效、易于部署的微服务提供了强大的支持。 单元测试的重要性&#xff1a; 确保代码正确性&#xff1a;通过…

MySQL-QA-异常问题及解决方案(持续更新)

MySQL-Q&A(持续更新) 1.1 PID文件找不到 问题描述 错误详情&#xff1a; ERROR&#xff01;The server quit without updating PID file (/usr/local/mysql/data/localhost.localdomain.pid) 解决方案 首先排查配置文件&#xff0c;一般路径为&#xff1a;/etc/my.cnf 检查…