自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双系统ubuntu引导项丢失如何修复

如图,我选择了第二个safe graphics来启动新的Ubuntu系统,这是因为我一开始用第一个选项会报错,如果不报错用第一个也可以,(中文下是试用Ubuntu),因为我们并不是想在电脑上再装一个新系统,而只是利用当前系统去修复原ubuntu的引导项而已,1.准备一个安装ubuntu系统用的系统U盘,然后疯狂按F12进入U盘启动。在Live环境中,打开终端,运行以下命令安装。进入Live环境之后连接wifi无线网络。点击确定重启电脑安静等待几分钟即可!

2024-08-25 14:45:34 282

原创 速腾32线激光雷达使用方法

速腾32线激光雷达 + 12V电源 + 实体机ubuntu22.04 + ROS2-humble。

2024-08-23 21:43:08 323

原创 Action通信 实践案例

------------运行动作服务端 测试-----------进入ws03_exercise目录下。1. 用stage仿真环境测试。2.用实体机器人测试。

2024-07-23 22:11:48 266

原创 ROS2 + 科大讯飞 初步实现机器人语音控制

在右侧终端按1进行语音识别,此时将识别到小车前进的命令并打印,在左侧终端按回车健获取result中的命令,将输出voice_command 小车前进,此时再按键ctrl+c,将输出语音控制小车前进 小车前进并且小车开始移动。将SDK压缩包解压后的文件,放入voice_ros2中,进入sample目录的iat_online_record_sample目录下,运行下面的命令。这个目录下的文件是SDK解压后的文件,其中 红框中的voice.py是也单独编写的文件。在键盘控制的代码前添加读取文件数据的代码。

2024-07-12 13:14:50 880

原创 2.2.2.1 如何在vscode 中设置ROS2的 用户代码片段

把提前准备好的代码,复制到"body"的 [ ] 中,修改"prefix": 后的名字为“ros2_node_cpp”, 再修改最后一行“description”:后的描述 为“ros2 main func”输入如下,选择ros2_node_cpp 然后即可显示出我们配置好的文件模版,选择并按下enter键即可,无需手写。在设置中选择用户代码片段后 输入python 即可,选择相应的文件 具体操作方法同方C++2) 选择用户代码片段后,会弹出选择框,如下图,输入C++,选择 cpp.json。

2024-07-06 17:20:21 554

原创 2.2.2 ROS2话题通信之原生消息(C++)

在C++功能包中,配置文件主要关注package.xml与CMakeLists.txt。当前工作空间下,启动两个终端,终端1执行发布程序,终端2执行订阅程序。最终运行结果与案例1类似。在本案例中不是必须的。

2024-07-04 21:53:19 285 1

原创 2.2.1 ROS2案例以及案例分析

编写发布方实现;编写订阅方实现;编辑配置文件;编译;执行。案例我们会采用C++和Python分别实现,二者都遵循上述实现流程。

2024-07-04 21:36:35 352

原创 2.2 ROS2话题通信

数据发布对象称为发布方,数据订阅对象称之为订阅方,发布方和订阅方通过话题相关联,发布方将消息发布在话题上,订阅方则从该话题订阅消息,消息的流向是单向的。话题通信的发布方与订阅方是一种多对多的关系,也即,同一话题下可以存在多个发布方,也可以存在多个订阅方,这意味着数据会出现交叉传输的情况,当然如果没有订阅方,数据传输也会出现丢失的情况。以此类推,像雷达、摄像头、GPS.... 等等一些传感器数据的采集,也都是使用了话题通信,话题通信适用于不断更新的数据传输相关的应用场景。

2024-07-04 21:32:56 415

原创 2.1 ROS2通信机制简介

在ROS2中通信方式虽然有多种,但是不同通信方式的组成要素都是类似的,比如:通信是双方或多方行为、通信时都需要将不同的通信对象关联、都有各自的模型、交互数据时也必然涉及到数据载体等等。本节将会介绍通信中涉及到的一些术语。

2024-07-04 21:25:24 883

原创 第2章 ROS2通信机制核心

机器人是一种高度复杂的系统性实现,一个完整的机器人应用程序可能由若干功能模块组成,每个功能模块可能又包含若干功能点,在不同功能模块、不同功能点之间需要频繁的进行数据交互。比如以导航中的路径规划模块为例:路径规划时就需要其他功能模块输入数据,并输出数据以被其他模块调用。输入的数据有地图服务提供的地图数据、定位模块提供的机器人位姿数据、人机交互模块提供的目标点数据......。输出的路径信息则被运动控制订阅或是回显在人机交互界面上。那么这些相对独立的功能模块或功能点之间是如何实现数据交互的呢?

2024-07-04 08:54:03 325

原创 1.5 ROS2体系框架

另外,开发者构建应用程序时,通信部分在工作内容中占有相当大的比重。不管是何种类型的功能包,package.xml的格式都是类似的,在该文件中包含了包名、版本、作者、依赖项的信息,package.xml可以为colcon构建工具确定功能包的编译顺序。在示例中关于文件的使用已经通过注释给出了简短说明,其实关于CMakeLists.txt的配置是比较复杂的,后续随着学习的深入,还会给出更多的补充说明。是指开发者构建的应用程序,在应用程序中是以功能包为核心的,在功能包中可以包含源码、数据定义、接口等内容。

2024-07-03 22:52:48 1146

原创 1.4 ROS2集成开发环境搭建

它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。VSCode支持插件扩展,依赖于VSCode丰富多样的插件,可以大大提高程序开发效率,为了方便ROS2程序开发,我们也需要安装一些插件。在VSCode中,cpp文件中的。

2024-07-03 22:41:29 703

原创 1.3 ROS2快速体验

编写ROS2程序,要求程序运行时,可以在终端输出文本"Helo World"。创建功能包;编辑源文件;编辑配置文件;编译;执行。下面两节我们会介绍具体的实现细节。

2024-07-03 22:34:44 564

原创 1.2 ROS2安装

查询错误提示中域名的IP地址,然后修改 /etc/hosts 文件,添加域名与IP映射。常用的启动Ubuntu universe存储库方式有两种:图形化操作与命令行操作。安装ROS2过程中,执行到步骤3也即设置软件源时,可能会抛出异常。请注意:虽然安装比较简单,但是安装过程比较耗时,需要耐心等待。失败的异常信息,解决方式请参考本节最后部分补充2内容。注意:语言环境可以不同,但必须支持UTF-8编码。查询到的ip地址可能有多个,记录任意一个地址即可。

2024-07-03 22:27:00 582

原创 1.1 ROS2简介

此背景下,官方于2017正式推出了新一代机器人操作系统——ROS2,ROS2基于全新的设计框架,保留了ROS1的优点并改进其缺陷,ROS2的目标是适应新时代的新需求。的机器人公司发布了ROS,ROS集开源、免费、高复用、低耦合、工具丰富等等诸多优势于一身,一经推出便迅速吸引了大量的开发者、科研人员、硬件供应商的加入,形成了稳定且多样的机器人生态,水到渠成的ROS也成为了机器人领域的主流软件框架并流行至今。ROS发行版的目的是让开发人员可以在一个相对稳定的代码库上工作,直到新的发行版推出。

2024-07-03 22:21:35 1004

原创 ROS2 分布式 及 ssh远程控制 和 上传下载文件或文件夹

ROS2 分布式控制

2024-07-02 21:25:54 1058 3

原创 C++ 109 之 常用算法 函数对象

【代码】C++ 109 之 函数对象。

2024-06-28 16:06:36 382

原创 C++ 108 之 map容器

【代码】C++ 108 之 map容器。

2024-06-28 16:02:00 833

原创 C++ 107 之 set容器

我们可以通过set的迭代器改变set元素的值吗?不行,因为set元素值就是其键值,关系到set元素的排序规则。set拥有和list某些相同的性质,当对容器中的元素进行插入操作或者删除操作的时候,操作之前所有的迭代器,在操作完成之后依然有效,被删除的那个元素的迭代器必然是一个例外。Set的元素不像map那样可以同时拥有实值和键值,set的元素即是键值又是实值。Set不允许两个元素有相同的键值。删除区间[beg,end)的所有元素 ,返回下一个元素的迭代器。删除pos迭代器所指的元素,返回下一个元素的迭代器。

2024-06-28 15:59:19 757

原创 C++ 106 之 list容器

【代码】C++ 106 之 list容器。

2024-06-28 15:54:12 176

原创 C++ 105 之 queue队列容器

【代码】C++ 105 之 queue队列容器。

2024-06-28 15:51:34 231

原创 C++ 104 之 stack栈容器

【代码】C++ 104 之 stack栈容器。

2024-06-28 15:47:59 195

原创 C++ 103 之 deque容器

【代码】C++ 103 之 deque容器。

2024-06-28 15:41:11 858

原创 C++ 102 之 reserve预留空间

【代码】C++ 102 之 reserve预留空间。

2024-06-28 15:34:03 124

原创 C++ 101 之 swap收缩容器

【代码】C++ 101 之 swap收缩容器。

2024-06-28 15:29:43 94

原创 C++ 100 之 容器插入和删除

迭代器指向位置pos插入count个元素ele.删除迭代器从start到end之间的元素。vector插入和删除操作。删除迭代器指向的元素。

2024-06-28 15:26:23 155

原创 C++ 99 之 容器存取

【代码】C++ 99 之 容器存取。

2024-06-28 15:23:03 255

原创 C++ 98 之 容器大小

【代码】C++ 98 之 容器大小。

2024-06-28 15:10:39 240

原创 C++ 97 之 容器赋值操作

/将[beg, end)区间中的数据拷贝赋值给本身。将n个elem拷贝赋值给本身。将vec与本身的元素互换。vector常用赋值操作。

2024-06-28 15:07:29 205

原创 C++ 96 之 容器的构造函数

【代码】C++ 96 之 容器的构造函数。

2024-06-28 15:02:02 121

原创 C++ 95 之 容器动态空间

【代码】C++ 95 之 容器动态空间。

2024-06-28 14:59:30 77

原创 C++ 94 之 大小写转换

【代码】C++ 94 之 大小写转换。

2024-06-22 19:35:45 85

原创 C++ 93 之 截取字符串

【代码】C++ 93 之 截取字符串。

2024-06-22 19:33:58 129

原创 C++ 92 之 char*转string 或 string转char*

【代码】C++ 92 之 char*转string 或 string转char*

2024-06-22 19:31:53 132

原创 C++ 91 之 string比较

【代码】C++ 91 之 string比较。

2024-06-22 19:29:38 210

原创 C++ 90 之 string替换

【代码】C++ 90 之 string替换。

2024-06-22 19:26:09 78

原创 C++ 89 之 string查找和替换

【代码】C++ 89 之 string查找和替换。

2024-06-22 19:23:54 278

原创 C++ 88 之 string拼接

【代码】C++ 88 之 string拼接。

2024-06-22 19:20:47 166

原创 C++ 87 之 string容器

【代码】C++ 87 之 string容器。

2024-06-22 19:18:35 108

原创 C++ 86 之 STL自定义类型的遍历

【代码】C++ 86 之 STL自定义类型的遍历。

2024-06-22 19:10:51 248

3D激光SLAM介绍.pdf

3D激光SLAM

2024-06-22

cartographer 数据包

ROS录包的cartographer数据包,可以回放

2024-06-22

大疆激光雷达 Livox Avia用户手册

大疆固态激光雷达具有远量程、高精度、宽视角等特点,使其广泛应用于测绘、车联网、机器人等领域。

2024-06-22

镭神智能16线激光雷达

16线激光雷达工作原理和操作方法

2024-06-22

ROS导航机器人搭建教程

ROS导航机器人搭建教程

2024-06-19

室外lego-loam算法三维数据包

基于lego-loam算法的室外三维点云数据包

2024-06-15

TurtleBot3 burger ROS平台用户使用手册

TurtleBot3 burger ROS平台用户使用手册

2024-06-15

基于Cartographer的室内SLAM系统研究与实现

本文研究了谷歌的Cartographer室内SLAM算法,为了提高其建图和定位的精确度对算法进行了改进。

2024-06-15

空空如也

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

TA关注的人

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