ROS学习总结(一)

news2024/12/28 4:49:50

渐渐开始接触项目了,准备把以前学习的ros做一些总结,以致孰能生巧。

ros分布框架学习

  • vscode使用
  • ros节点和包

vscode使用

下载:https://code.visualstudio.com/
安装:sudo dpkg -i code(tap补全)
code 能快捷启动。
插件安装:中文、ros、cmake tool、bracket xxx
快捷键编译:ctrl+shift+b
这里选择catkin_make build编译(选择src)
后面也可以默认使用catkin_make编译

"group":"kind":"build","isDefault":"true"

ros节点和包

  1. 一个功能包中可以有多个节点
  2. 一个任务需要几个节点的配合才能完成
    创建工作空间
mkdir -p catkin_ws/src

进入工作空间

cd catkin_ws/src

创建功能包

catkin_create_pkg ssr_pkg rospy roscpp std_msgs

package.xml出现就说明是一个功能包

创建节点:
功能包的src中创建chao_node.cpp
#include <ros/ros.h>
main自动生成代码,
添加:
printf(“hello world!\n”);
修改CMakeLists:

add_executable(radar_node src/radar_node.cpp)

其中:
radar_node节点名
radar_node.cpp可执行文件

但是真正在ros中使用时肯定是不能单独这样写。

在printf中继续加入:

ros::init(argc, argv, "chao_node")

这里的int main是有问题的(这里是一个小漏洞):

int main(int argc, char *argv[])

顺便再把printf的东西可以改一下。
我的枪去而复返,你的生命有去无回
同时呢,想要持续输出东西的话,就需要while进行循环:

while(ture)
{
    printf("别投,我还能秀!\n");
}

此时总体的节点代码为:

#include <ros/ros.h>
int main(int argc, char *argv[])
{
    ros::init(argc, argv, "radar_node");
    printf("hello world!\n");
    while (true)
    {
        printf("别投,我还能秀!\n");
    }
    
    return 0;
}

注意修改CMakeLists:
add_executable(radar_node src/radar_node.cpp)
节点名 可执行文件

  target_link_libraries(radar_node
   ${catkin_LIBRARIES}
)

节点名改了就行
最后的结果:
请添加图片描述
ok。
总体的架构总结如下:
架构图
请添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django.db.utils.OperationalError: no such table: onlyoffice_customuser

我写了个类 Curstomuser 重新运行命令&#xff1a; >python manage.py makemigrations就报错了&#xff1a; 我以为是自己设计的类有问题&#xff0c;结果发现是因为我在其它 py 文件中进行了数据库查询。 而 Django 架构让我忽略了代码运行的前后关系。。。 先注释掉其它…

【STM32】keil MDK-Arm 5.38 功能详解

一、基本概念二、软件安装三、软件介绍3.1 Intro3.2 keil菜单栏3.21 file选项3.22 Edit 选项3.23 View选项3.24 Project选项3.25 Flash选项3.26 Debug选项3.27 Peripherals选项3.28 Tools选项3.29 SVCS选项3.2.10 Window选项3.2.11 Help选项 3.3 keil工具栏 四、设置与项目设置…

七牛云下载文件(显示在浏览器上)

最近在做关于如何将七牛云的文件下载下来&#xff0c;且在浏览器页面展示下载文件。 首先&#xff0c;我们需要注册七牛云账号 七牛云官网。 选择个人账户即可&#xff0c;若是需要企业账户&#xff0c;则可以选择企业账户。 注册成功绑定邮箱后&#xff0c;我们可以创建存储…

NIO三大组件和ByteBuffer

目录 一、NIO三大组件 1、Channel 2、Buffer 3、Selector 二、ByteBuffer 1、基本使用 2、内部结构 3、常用方法 allocate方法 读取方法 字符串与ByteBuffer互转 Scattering Reads 4、念包、半包问题 三、文件编程 1、FileChannel 2、两个Channel传输数据 3、…

解决 pyecharts 地图不显示的问题

总结 在 pyecharts 中如果修改了 online host&#xff0c;会导致绘制的地图显示不全&#xff0c;需要将 host 改回默认的 https://assets.pyecharts.org/assets/ 细节 最近需要使用 pyecharts 绘制中国地图&#xff0c;按官网的示例代码https://github.com/pyecharts/pyecha…

LLM - ChatGLM-6B (General Language Model) 的工程配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://blog.csdn.net/caroline_wendy/article/details/131104546 Paper&#xff1a;GLM: General Language Model Pretraining with Autoregressive Blank Infilling ChatGLM是通用的预训练语…

Tower 10:Mac平台Git客户端软件

Tower是一款Mac OS X系统上的Git客户端软件&#xff0c;它提供了丰富的功能和工具&#xff0c;帮助用户更加方便地管理和使用Git版本控制系统。 以下是Tower的一些特点&#xff1a; 1. 界面友好&#xff1a;Tower的界面友好&#xff0c;使用户能够轻松地掌握软件的使用方法。 …

数据库表结构设计---多表

这里写目录标题 多表设计一对多简介物理外键需求分析sql语句添加物理外键idea图形化工具设置外键 一对一多对多二级目录二级目录 多表设计 一对多 简介 一个表的某个字段&#xff0c;对应一个表 父表 子表 物理外键 需求分析 sql语句添加物理外键 设置物理外键的sql语句 为…

【强化学习】常用算法之一 “SAC”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

Ameya360:广和通发布新一代5G FWA解决方案

为满足日益增长的5G宽带连接需求&#xff0c;提升FWA部署的经济效益和技术可行性&#xff0c;广和通在MWCS 2023期间发布了基于新一代5G模组FG190&FG180的5G FWA整体解决方案&#xff0c;为FWA等移动终端提供了灵活、便捷、高效、可靠的联网方案&#xff0c;促进FWA快速迭代…

SC2161旋变数字转换器可pin对pin兼容AD2S1210

SC2161 是一款 10 位至 16 位分辨率旋变数字转换器&#xff0c;集成片上可编程正弦波振荡器&#xff0c;为旋变器提供正弦波激励。可pin对pin兼容AD2S1210。 转换器的正弦和余弦输入端允许输入 3.15 Vp−p 27%、频率为 2 kHz 至 20 kHz 范围内的信号。Type II 伺服环路用于跟踪…

基于51单片机的智能照明系统

目录 基于51单片机的智能照明系统一、原理图二、部分代码三、视频演示 基于51单片机的智能照明系统 功能&#xff1a; 1.通过LCD屏幕显示实时时间、光强和物体等 2.通过DS1302获取实时时间 3.通过按键调整灯的开关时间和手自动设置手动模式下手动开灯 4.蜂鸣器报警功能 5.上位…

“因构建 而可见”,亚马逊云科技中国峰会助力企业数字化转型升级

过去十年&#xff0c;数字化转型的浪潮携带着机遇和挑战席卷而来&#xff0c;几乎每个企业都在做数字化转型&#xff0c;开始向大数据、人工智能等新技术寻求生产力的突破。但随着数字化转型深入&#xff0c;很多企业开始感受到数字化投入的成本压力&#xff0c;加之新技术正带…

ML算法——Support Vector Machine随笔【机器学习】

文章目录 4、Support Vector Machine (SVM)4.1、理论部分4.1.1、更优的决策边界4.1.2、解决低维不可分问题 4.2、sklearn 实现4.2.1、SVM 分类&#xff08;SVC&#xff09;4.2.2、SVM回归&#xff08;SVR&#xff09;4.2.3、网格调参 4.3、案例 4、Support Vector Machine (SVM…

用Java编写Groovy脚本,然后用命令行执行该脚本

1、Groovy 语言简介 Groovy 是 Apache 旗下的一门基于 JVM 平台的动态/敏捷编程语言Groovy 可以与 Java 语言无缝对接&#xff0c;在写 Groovy 的时候如果忘记了语法可以直接按Java的语法继续写&#xff0c;也可以在 Java 中调用 Groovy 脚本&#xff0c;都可以很好的工作Groo…

Pytorch常用的函数(三)深度学习中常见的卷积操作详细总结

Pytorch常用的函数(三)深度学习中常见的卷积操作 1、标准卷积(Standard Convolution) 1.1 标准卷积的理解 我们直接来看二维卷积&#xff0c;这在实际应用中是最常见的。 上图中Conv 2D其实就是卷积核&#xff0c;也叫做滤波器。滤波器的值决定了输出的情况&#xff0c;模型…

【Java】Java核心 86:Git 教程(9)GIT远程仓库操作

文章目录 14.GIT远程仓库操作-关联、拉取、推送、克隆目标内容小结 Git提供了一系列命令来进行远程仓库的操作。 下面是一些常用的Git远程仓库操作&#xff1a; 克隆远程仓库到本地&#xff1a; git clone <远程仓库URL>查看远程仓库信息&#xff1a; git remote -v添…

功能键F4在Microsoft Excel中有什么用

的确,许多 Excel 用户发现使用键盘快捷键对他们来说更有效。事实上,键盘快捷键可能是使用鼠标的最佳选择,因为使用 Excel 时使用触摸屏可能不是视力障碍者的最佳选择。 使用功能键,如 Excel 中的 F4 以及 F2 可能是非常必要的。在这篇文章中,我们将研究功能键 F4 及其在 …

【Java】Java核心 85:Git 教程(8)GIT远程仓库介绍与码云仓库注册创建

文章目录 13.GIT远程仓库介绍与码云仓库注册创建目标小结 Git是一个分布式版本控制系统&#xff0c;它允许多个开发者协同工作并管理代码的版本。远程仓库是存放在网络上的Git仓库&#xff0c;可以用于团队成员之间的代码共享和协作。 常见的远程仓库托管服务提供商有GitHub、…

XShell、XFtp、Linux上MySQL的远程连接及使用

下载资源包&#xff0c;请于文章顶部下载即可 XShell的使用 1. 打开安装好的XShell 2. 点击左上角新建连接 3. 填写相应连接服务器信息 4. 输入需要连接到Linux操作系统哪个用户的用户名 5. 输入连接到用户的密码 6. 远程登录Linux成功 7. 此时可以正常使用Linux指令操作Linu…