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

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 文件名称)

完结!撒花~~~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/448249.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Web题记

[CISCN 2019华北Day2]Web1 告诉我们想要的东西在flag表和flag字段,那应该是sql注入,先试试 试了一些发现会被检查到,随便传数字 除了1和2有返回结果,其余的都报错,应该是数字型注入,抓包看看过滤了哪些 这个…

C语言实现贪吃蛇

前言:今天给大家详细介绍一下小游戏贪吃蛇的代码。 目录 一 .贪吃蛇实现的功能 二.贪吃蛇游戏设计与分析 1.贪吃蛇以及贪吃蛇所需要维护的数据 (1)贪吃蛇蛇体 (2)数据维护 2.地图设计 (1&#x…

详解7道经典指针运算笔试题!

目录 ​编辑 1. 题目一 (1)代码 (2)分析 2. 题目二 (1)代码 (2)分析 3. 题目三 (1)代码 (2)分析 4. 题目四 (…

鸿蒙开发为什么这么火,现在入行鸿蒙是否来的及?

鸿蒙开发是当前备受关注的技术领域之一,对于想要入门学习鸿蒙开发的初学者来说,需要掌握一定的基础知识和技能。鸿蒙开发又是否能为程序员们带来一片光明的未来呢?让我们一同探讨这些问题。 对于初学者来说,鸿蒙开发是否易于上手呢…

构建空间场景轻应用,Mapmost Alpha来啦【文末赠书(10本)--第一期】

文章目录: 一、Mapmost Alpha 介绍二、Mapmost Alpha应对数字孪生业务痛点解决之道2.1 Mapmost Alpha 提供海量城市底板2.2 Mapmost Alpha 提供便捷的配置管理工具2.3 Mapmost Alpha 提供一键式部署发布和分享 三、沉浸式体验Mapmost Alpha3.1 创建应用3.2 新手指导…

树莓派安装Nginx服务搭建web网站结合内网穿透实现公网访问本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…

Everything:文件查找工具,一搜即得

名人说:东边日出西边雨,道是无晴却有晴。——刘禹锡 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、软件介绍①Everything②核心功能③原理 二、下载安装①下载②安装 三、使用方法①文…

如何利用音频转换器将多个MP3音频转换为OGG格式

现在,我们接触到的很多音频文件一般都是MP3格式的。但是我们偶尔也需要用到ogg格式的音频文件,所以就需要我们将MP3格式音频文件转换为ogg格式了,那么,如果想要将MP3格式文件转换为OGG格式该如何操作呢?相信很多朋友心…

Linux内核之报错-Werror,-Wunused-variable等通用解决方案(二十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

企业数据备份体系化方法论的七大原则之二:区分环境数据与业务数据

在之前讨论的分布式存储系统七大原则的第一原则中,我们了解了容灾切换和数据备份的差异。现在,我们继续探索第二原则:区分环境数据与业务数据。这一原则强调了两种类型数据在变化频率、价值以及数据一致性获取难度方面的根本区别,…

Python中starmap有什么用的?

目录 前言 starmap函数的作用 starmap函数的用法 starmap函数的示例 1. 对每个元组元素进行求和 2. 对每个元组元素进行乘积 实际应用场景 1. 批量处理函数参数 2. 并行处理任务 3. 批量更新数据库 总结 前言 在Python中, starmap 是一个非常有用的函数&…

Vue3 + antv/x6 实现流程图

新建流程图 // AddDag.vue <template><div class"content-main"><div class"tool-container"><div click"undo" class"command" title"后退"><Icon icon"ant-design:undo-outlined" /…

用信号的方式回收僵尸进程

当子进程退出后&#xff0c;会给父进程发送一个17号SIGCHLD信号&#xff0c;父进程接收到17号信号后&#xff0c;进入信号处理函数调用waitpid函数回收僵尸进程若多个子进程同时退出后&#xff0c;这是切回到父进程&#xff0c;此时父进程只会处理一个17号信号&#xff0c;其他…

pycharm手动安装常用插件

下载插件 &#xff08;1&#xff09;下载地址&#xff1a;JetBrains Marketplace 这里以语言包为例子 2、中文语言包 进入pycharm中的设置&#xff0c;点击plugins,选从磁盘中安装插件

2024.3.11 训练记录(13)

继续补题 文章目录 ICPC 2018青岛I Soldier GameICPC 2018青岛K Airdrop ICPC 2018青岛I Soldier Game 题目链接 线段树 果然稍微复杂一点的线段树就很难实现啊&#xff0c;不看题解根本没反应过来是线段树 struct Node {int l, r, lb, rb, nb, b; } tr[N * 4];其中&#x…

帮管客 CRM jiliyu SQL注入漏洞复现

0x01 产品简介 帮管客CRM是一款集客户档案、销售记录、业务往来等功能于一体的客户管理系统。帮管客CRM客户管理系统,客户管理,从未如此简单,一个平台满足企业全方位的销售跟进、智能化服务管理、高效的沟通协同、图表化数据分析帮管客颠覆传统,重新定义企业管理系统。 …

不知道吧,腾讯云轻量应用服务器使用有一些限制!

腾讯云轻量应用服务器相对于云服务器CVM是有一些限制的&#xff0c;比如轻量服务器不支持更换内网IP地址&#xff0c;不支持自定义私有网络VPC&#xff0c;内网连通性方面也有限制&#xff0c;轻量不支持CPU内存、带宽或系统盘单独升级&#xff0c;只能整个套餐整体升级&#x…

使用Git拉取代码时候出现error file write error no space left on device问题如何解决

1. 检查磁盘空间 首先&#xff0c;确认是哪个分区或驱动器满了。你可以使用以下命令来查看各分区的使用情况&#xff1a; 对于 Linux 或 macOS&#xff1a; df -h对于 Windows&#xff0c;你可以在“我的电脑”中查看各驱动器的剩余空间&#xff0c;或者在命令提示符&#x…

基于遗传算法改进的RBF神经网络流量控制,基于GA-RBF的流量预测

目录 完整代码和数据下载链接:基于遗传算法改进的RBF神经网络流量控制,基于GA-RBF的流量预测(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88937452 RBF的详细原理 RBF的定义 RBF理论 易错及常见问题 RBF应用实例,基于遗传算法改…

力扣刷题Days15第二题-137. 只出现一次的数字 II(js)

目录 1&#xff0c;题目 2&#xff0c;代码 2.1哈希表 2.2 依次确定每一个二进制位 3&#xff0c;学习与总结 1. 左移运算符 (<<) 2. 有符号右移运算符 (>>) 3. 无符号右移运算符 (>>>) 1&#xff0c;题目 给你一个整数数组 nums &#xff0c;除…