自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 自动驾驶传感器篇: GNSS&IMU组合导航

全球导航卫星系统(Global Navigation Satellite System, GNSS)是指一系列在地球轨道上运行的空间星座,它们通过向地球表面及近地空间区域发射无线电信号来提供定位、导航和授时服务。GNSS技术使得各类用户在全球范围内实现高精度的三维位置、速度和时间信息的获取,广泛应用于交通运输、测绘、农业、气象预报、科学研究、军事行动等多个领域。美国全球定位系统(Global Positioning System, GPS)

2024-04-23 18:09:03 1474

原创 ROS2 学习笔记14:编写简单的发布者和订阅者 (C++)

您创建了两个节点,用于通过主题发布和订阅数据。在编译和运行它们之前,您在软件包配置文件中添加了它们的依赖项和可执行文件。

2024-04-14 20:40:31 1123

原创 ROS2 学习笔记13:创建 ROS2 包

包可以视为你的ros2代码的容器.如果你想安装你的程序或者分享给别人,你需要(把代码)有组织放到一个包里面。有了包,你可以分享ros2工作内容,别人可以方便地编译以及使用。ros2包创建使用ament作为编译系统,colcon作为编译工具。使用CMake或者python来创建一个包,这些是官方支持的,当然也存在其他构建方式。您创建了一个软件包来组织您的代码,方便他人使用。您的软件包会自动填充必要的文件,然后您使用colcon构建它,这样您就可以在本地环境中使用它的可执行文件。

2024-02-25 13:01:56 948

原创 ROS2 学习笔记12:使用 colcon 构建软件包

在使用任何已安装的可执行文件或库之前,您需要将它们添加到路径和库路径中。安装提供环境,以便为我们的工作区提供示例软件包所需的构建依赖项。一般来说,当你计划迭代少量软件包时,建议使用顶层,而不是把所有软件包都放到同一个工作区。文件,以帮助设置环境。目录是每个软件包的安装目录。默认情况下,每个软件包都将安装到一个单独的子目录中。的方式和工作区的位置,上述说明可能会有所不同,详情请参考文档。的方式和工作区的位置,上述说明可能会有所不同,详情请参考文档。文件或其他非编译资源)来更改已安装的文件,从而加快迭代速度。

2024-01-31 00:15:26 1231

原创 ROS2 学习笔记11:创建工作空间

在本教程中,sourceROS 2主发行版作为底层,并通过拉取和构建新工作区中的软件包来创建顶层。顶层会被预置到路径中,并优先于底层,就像你在修改过的turtlesim中看到的那样。建议在处理少量软件包时使用顶层构建,这样就不必把所有东西都放在同一个工作区,也不必在每次迭代时都重建一个巨大的工作区。

2024-01-30 00:48:05 1123 1

原创 ROS2 学习笔记10:使用ros2 bag进行数据录制和回放

你可以在ros2系统中,使用ros2 bag指令来录制传输到话题的数据.无论你是跟别人分享你的工作还是研究自己的实验,它都是一个很好工具。

2024-01-21 22:16:17 1594

原创 ROS2 学习笔记9:使用ROS2 Launch

你目前所做工作的意义在于,你用一条命令运行了两个海龟模拟节点。一旦你学会了编写自己的启动文件,就能以类似的方式使用 ros2 启动命令运行多个节点并设置它们的配置。有关文件的更多教程,请参阅launch文件教程主页。

2024-01-21 19:25:31 491

原创 ROS2 学习笔记8:使用rqt控制台

如果需要仔细检查系统中的日志消息,将非常有帮助。您可能希望出于多种原因检查日志消息,通常是为了找出哪里出了问题以及导致问题的一系列事件。

2024-01-21 16:10:39 1007

原创 ROS2 学习笔记7:了解ROS2 动作 action

动作就像是一种服务,可以让你执行长期运行的任务,提供定期反馈,并且可以取消。机器人系统可能会使用动作来导航。一个动作目标可以告诉机器人前往某个位置。当机器人导航到该位置时,它可以沿途发送更新(即反馈),然后在到达目的地后发送最终结果信息。Turtlesim 有一个动作服务器,动作客户端可以向服务器发送目标,以实现乌龟的旋转。在本教程中,可查看该动作的具体信息,以便更好地了解动作是什么以及它们是如何工作的。

2024-01-21 14:12:05 1037

原创 ROS2 学习笔记6:了解ROS2参数 Parameters

节点具有用于定义其默认配置值的参数。您可以从命令行获取get和set的参数值。您还可以将参数设置保存到文件中,以便在以后的会话中重新加载它们。

2024-01-20 15:41:14 866

原创 ROS2 学习笔记5:了解ROS2 服务Service

在ros2里面,节点可通过服务进行通信。不像话题那样,一个节点发布消息可以被一个或多个订阅器接收的的通信方式;服务是一种请求/响应模式,客户端节点发出请求,服务端节点处理这个请求并给出响应。通常,不会连续调用一个服务;话题,甚至动作更符合这种场景。在本教程中,你使用了命令行工具去识别,详细说明和调用服务。

2024-01-19 00:51:30 924 1

原创 ROS2 学习笔记4:了解ROS2 话题Topic

节点通过话题发布消息,其他节点可以通过订阅(话题)来获取消息.在本课程中,通过rqt_graph以及命令行工具,你学习了多个节点通过话题连接起来.现在,你应该对于ros2系统数据传输有了很好认识。

2024-01-18 23:37:35 1061 1

原创 ROS2 学习笔记3:了解ROS2 节点 Node

节点是ROS2 基本元素,在机器人系统里面负责单一模块功能作用在本课程,通过运行中执行文件和,启动turtlesim包中的节点你学会了使用来获取活动节点的名字,使用指令去深入了解某个节点.对于一个复杂真实的机器人系统,这些工具用在了解数据流显得至关重要。

2024-01-17 00:56:29 1188

原创 ROS2 学习笔记2:使用turtlesim和rqt

使用turtlesim和rqt是学习ROS 2核心概念非常好的方法。

2024-01-16 00:26:26 853 1

原创 ROS2 学习笔记1:ROS2环境配置

ROS 2 开发环境在使用前需要正确配置。有两种方法可以做到这一点:每新开一个终端文件都source一次,或者直接把source的指令放到启动脚本文件(.bashrc)中。如果在查找或使用 ROS 2 软件包时遇到任何问题,首先要做的就是检查环境变量,并确保设置的版本与你预期的版本一致。

2024-01-05 00:47:39 1308 1

原创 Linux_系统_问题解决:ubuntu 系统更新重启后,nvidia显卡驱动报错

grub.cfg为系统引导文件,笔者装了双系统,可以在grub.cfg中看到5.19.0,6.2.0两个版本的启动引导配置,及Windows启动引导。选项,还是进入6.2版本,因此需卸载高版本,或在grub.cfg中将5.19的引导设置为Ubuntu默认。笔者因为系统部分软件对Nvidia驱动版本有要求,且不确定更新驱动后能否适配新内核版本,因此采用方案2;下图中,menuentry 中 ubuntu默认引导为6.2.0内核版本,但在下方。:此图为降低内核版本后截的,更新版本后为6.2.0,此处仅作展示。

2023-09-10 13:58:23 2126 1

原创 mac 与 IP 地址字符串 转 整型 或 数组

项目中,需将设备IP及Mac地址 填充到UDP数据包中,原始数据为字符串。

2023-08-29 19:56:17 392 1

原创 Learning C++ with ChatGPT (Ref: 《C++primer》fifth editon)

变量的 定义 声明ChatGPT在编程中,变量的定义和声明是两个不同的概念,但它们通常是一起使用的。变量的声明是指在程序中告诉编译器变量的名称和类型,以便在后续的代码中使用该变量。声明并不分配内存空间或分配初始值,它只是向编译器提供有关变量的基本信息,使得编译器知道如何处理这个变量。一个常见的变量声明形式是在变量名前加上类型关键字,如int x;或double y;。变量的定义是指在声明的基础上分配实际的内存空间来存储变量的值。定义变量时,编译器会为变量分配所需的内存,并根据数据类型初始化变量的初始值。

2023-08-24 01:12:54 167 1

原创 Linux_系统_问题解决:swap分区 & 开机启动慢 Slow boot: a start job is running for /dev/disk/by-uuid (1min 30s)

本案例中,由于linux 系统文件分区较小,在安装软件较多情况下,出现空间不足的现象,所以采用了对Windows分区进行了压缩卷,又对linux系统文件分区进行了扩容;在此提供一些思路,未进行实践,操作需谨慎:可通过系统启动U盘,进入系统后,查看分区及引导文件是否正常,并对必要文件进行备份迁移,参考上述描述尝试修复,如果是硬件问题,更换硬盘。可使用GParted 工具查看是否存在Swap分区,若不存在,可通过调整其他分区空间,新建Swap分区;修改后,进行保存,重启,问题即可解决。

2023-04-16 14:36:33 780

原创 C++学习之工具篇 三:Leetcode VSCode C++调试环境配置(Ubuntu篇)

执行完上述命令后,cJSON.h 头文件会安装在 /usr/local/include/cjson 目录下。还需要将/usr/local/lib目录添加到 /etc/ld.so.conf文件中,然后执行 /sbin/ldconfig,否则程序在运行时会报 error while loading shared libraries: libcjson.so.1: cannot open shared object file: No such file or directory 错误。设置好断点,可点击下方。

2023-03-31 01:01:39 516 1

原创 C++学习之工具篇 二:VSCode C++环境配置(Ubuntu篇)

VSCode是由微软推出的一款免费、开源且跨平台的代码编辑器,并具有以下亮点:1)支持的编程语言较为丰富,如Java、Python、Go、Ruby、C#、C/C++等,只要安装相应的扩展就能很好的完成开发环境的搭建;2)支持各大主流操作系统,包括Windows、Linux和Mac OS;3)具有丰富的扩展插件,可灵活扩展想要的功能;4)相对于IDE,足够的轻量化。

2023-03-30 23:07:43 5759 1

原创 Ubuntu 安装Cmake

路径下,可以查看当前最新版本,根据操作系统架构,选择指定版本下载即可。通过源码,可以安装指定版本的cmake。若安装libssl-dev报错,可参考。输入以下指令,查看cmake版本信息。查看当前安装的Camke版本,此方式下安装版本通常非最新版。官方提供了各版本的源码包。若输出如下,表示未安装。

2023-03-30 22:34:04 3345

原创 C++学习之工具篇 一:VSCode C++环境配置(Windows篇)

Windows下 VSCode C++开发环境配置

2022-08-17 12:03:02 4155 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除