Ubuntu Vs code配置ROS开发环境

文章目录

    • 1.开发环境
    • 2.集成开发环境搭建
      • 2.1 安装Ros
      • 2.2 安装 Vs code
      • 2.3 安装vs code 插件
    • 3.Vs code 配置ROS
      • 3.1 创建ROS工作空间
      • 3.2 从文件夹启动Vs code
      • 3.3 使用Vscode 编译ROS 空间
      • 3.4 使用Vs code 创建功能包
    • 4.编写简单Demo实例
      • 4.1编写代码
      • 4.2编译与执行

1.开发环境

系统:Ubuntu18.04

IDE:Vs code

2.集成开发环境搭建

2.1 安装Ros

推荐使用鱼香一键安装ros, 联网就行,按照提示选择即可

wget http://fishros.com/install -O fishros && . fishros

2.2 安装 Vs code

推荐在Ubuntu 软件工具下载,搜索点击安装即可

在这里插入图片描述

2.3 安装vs code 插件

推荐安装 C/C ++ 扩展 , Cmake Tools, ROS, Python , 以及中文插件

在这里插入图片描述

3.Vs code 配置ROS

3.1 创建ROS工作空间

mkdir -p xxx_ws/src
cd xxx_ws
catkin_make

3.2 从文件夹启动Vs code

使用code .命令就能直接从文件夹打开Vs code

cd xxx_ws
code .

3.3 使用Vscode 编译ROS 空间

快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build

可以点击配置设置为默认,修改.vscode/tasks.json 文件

{
// 有关 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"}]
}

保存之后,再按快捷键,就能直接编译整个空间了

在这里插入图片描述

3.4 使用Vs code 创建功能包

对着src文件夹右键就能看到最下面的 创建功能包

在这里插入图片描述

点击之后,会弹出两个窗口,首先输入名字,直接输入常用的依赖 一般使用roscpp rospy 等等

到此,整个工作空间就设置完毕了

4.编写简单Demo实例

4.1编写代码

在功能包下的src文件下,新建cpp文件

#include "ros/ros.h"
int main(int  argc,char *argv[]){ros::init(argc,argv,"hello");ROS_INFO("hello");return 0;
}

如果没有代码提示,或者提示有include波浪线

解决方案:打开整个文件目录的中.vscode文件夹,找到c_cpp_properties.json

设置 “cppStandard”: “c++17”

在这里插入图片描述

最后修改功能包下CMakeLists.txt 即可

如果按照了Cmake插件,文件内容会高亮显示

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

4.2编译与执行

使用快捷键编译: ctrl + shift + B

执行的话,可以再Vs code中添加终端,执行设置环境变量

source ./devel/setup.bash

最后在终端执行rosrun

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【学习笔记】Python大数据处理与分析——Matplotlib数据可视化

一、绘图步骤 1、导入第三方库 import matplotlib.pyplot as plt import numpy as np 2、准备数据 x1 np.linspace(1, 10, 5) y1 np.sin(x1) 3、开始绘图 plt.plot(x1, y1, linewidth3) 4、完善图表 plt.title("plot figure") plt.xlabel("value of x&qu…

DC/DC电源模块直流升压变换器电压控制输出5V12V24V转0-50V80V110V150V180V200V250V300V500V800V1000V

特点 效率高达 75%以上1*2英寸标准封装单电压输出可直接焊在PCB 上工作温度: -40℃~75℃阻燃封装,满足UL94-V0 要求温度特性好电压控制输出,输出电压随控制电压线性变化 应用 GRB 系列模块电源是一种DC-DC升压变换器。该模块电源的输入电压分为:4.5~9V、…

基于JavaWeb开发的springboot网约车智能接单规划小程序[附源码]

基于JavaWeb开发的springboot网约车智能接单规划小程序[附源码] 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种…

基于springboot实现大创管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现大创管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了大创管理系统的开发全过程。通过分析大创管理系统管理的不足,创建了一个计算机管理大创管理系统的方案。文章介…

【漏洞复现】云时空社会化商业ERP系统命令执行漏洞

01 漏洞描述 云时空社会化商业ERP系统存在命令执行漏洞,攻击者可以通过此漏洞获取服务器权限。 02 搜索语法 Fofa-Query: app"云时空社会化商业ERP系统" 03 漏洞复现 漏洞POC请查看公众号文章详情: 【漏洞复现】云时空社会化商业ERP系统命…

为什么要学习大模型应用开发?

1 学习大模型的重要性 底层逻辑 人工智能大潮已来,不加入就可能被淘汰。就好像现在职场里谁不会用PPT和excel一样,基本上你见不到。你问任何一个人问他会不会用PPT,他都会说会用,只是说好还是不好。你除非说这个岗位跟电脑完全无…

聚酰亚胺PI材料难于粘接,用什么胶水粘接?那么让我们先一步步的从认识它开始(二十八): 聚酰亚胺PI材料可以与哪些材料相互粘接?

聚酰亚胺PI材料可以与哪些材料相互粘接? 聚酰亚胺(PI)是一种具有特殊化学结构和物理性质的高分子材料,其耐高低温性能、高绝缘性、耐化性以及低热膨胀系数等特点使其被广泛应用于FPC基材和各种耐高温电机电器的绝缘材料。然而&…

2024 CKA 基础操作教程(十四)

题目内容 设置配置环境: [candidatenode-1] $ kubectl config use-context mk8s Task 现有的 Kubernetes 集群正在运行版本 1.29.0。仅将 master 节点上的所有 Kubernetes 控制平面和节点组件升级到版本 1.29.1。 确保在升级之前 drain master 节点&#xff0c…

论文对比实验

目录 1 Denoising Diffusion Probabilistic Feature-Based Network for Cloud Removal in Sentinel-2 Imagery 2 Cloud Removal in Remote Sensing Using Sequential-Based Diffusion Models 3 Diffusion Enhancement for Cloud Removal in Ultra-Resolution Remote Sensin…

2024年第二届“天洑杯”数据建模大赛赛题答疑

“天洑杯”数据建模大赛旨在促进数据分析建模技术的推广和发展,培养一批具有用数据思维解决复杂问题能力的优秀人才,推动高水平人工智能交叉学科人才队伍建设。大赛鼓励参赛选手立足于自身的专业背景和工程实践技能,结合数据科学与人工智能相…

QT串口助手

QT应用程序打包教程(超简单):QT如何打包生成独立可执行.exe文件 .cpp文件: // 这里包含所需要的头文件mainwindow.h和ui_mainwindow.h以及Qt提供的QMessageBox和QTextStream类 #include "mainwindow.h" #include &qu…

C++ 中 map 的实用操作指南

在 C 中,map 是一种基于键值对的容器,其中的数据总是以成对形式出现。如所示,每一对中的第一个元素是关键字(key),这些关键字在 map 中具有唯一性,即每个关键字只能出现一次;第二个元…