- 博客(26)
- 收藏
- 关注
原创 AMCL手动初始化后如何自动定位
AMCL每次开启的时候需要手动指定初始位姿,但是初始位姿一般都给不准,也不会自动矫正,需要多次给的差不多,在运动的过程中,通过轮式里程计运动一定距离和角度后才定位比较准确!2.采用其他方法提供初始值,不需要用户给初始位姿。1.用户给个大概的初始位姿,算法更新寻找真实值。像这样做成产品当然不行啦。
2025-12-02 10:51:56
70
原创 【无标题】
本次将会采用以下文献中提到的三角函数法,利用多个激光高强度点来拟合反光柱圆心,并在圆心位置生成标记。将原来用来收集激光数据的结构体增加一栏,用于记录角度,并在代码中相应位置做相应变化。根据公式原理编写用三角函数法拟定圆心的函数将原来查找高强点函数修改为查找高强度点组作为反光柱并确定圆心的函数,主要在于替换原来用最强点确定圆心的函数,并将拟合的圆心集合输出。在处理激光信息函数中获取圆心数据集合,留作下一步开发。
2025-11-04 17:13:28
170
原创 配置Livox-Mid360激光雷达
前面讲解了Livox-aiva,这里也是差不多流程:下载SDK以及ROS包首先连接网线到电脑进行配置,设置有线网卡ip为192.168.1.50测试ping雷达,一般为192.168.1.1xx(为SN码后两位),我这里是112。
2025-10-14 10:26:43
453
原创 ubuntu20.04调试livox aiva驱动获取激光雷达数据
实验环境ubuntu20.04平台包括本地x86平台1.下载相关资料下载包括:Livox Avia 用户手册中文.pdf、Livox_Viewer_For_Linux_Ubuntu16.04_x64_0.10.0(用于显示激光雷达数据)以下链接进行下载2.配置有线网络IP地址(1)界面设置:将实验电脑的 IP 地址设置为:192.168.1.50,子网掩码设置为:255.255.255.0。通上电源连接网线后(2)命令设置ifconfig 查看有线网卡的名称。
2025-10-13 17:55:26
349
转载 利用科大讯飞语音合成模块SDK实现ROS语音交互
将科大讯飞的sdk中/samples/tts_online_sample/文件夹下的tts_online_sample.c文件复制到工作空间下/src/exhibition_nav/src/中,并改名字为tts_subscribe.cpp。unzip Linux_xtts_exp1227_iat1227_tts_online1227_1d36319c.zip -d /home/用户名/Linux_xtts_exp1227_iat1227_tts_online1227_1d36319c。
2025-09-25 18:46:22
122
原创 容器总结篇
是否需要随机访问?→ 选vectordeque(序列式)。是否需要频繁插入删除?→ 中间操作选list,两端操作选deque。是否需要栈 / 队列特性?→ 直接用stackqueue适配器。是否需要去重或键值映射?→ 有序选setmap,追求速度无序选。理解它们的底层实现(数组 / 链表 / 红黑树 / 哈希表),就能快速记住各自的优缺点和适用场景了。
2025-09-20 10:15:42
343
原创 C++ 容器类 <set>和<unordered_set>
set>是 C++ 标准库中一个非常有用的容器,特别适合需要快速查找、插入和删除操作的场景。
2025-09-17 10:32:48
610
原创 C++ 容器类 <queue>
C++ 标准库中的<queue>头文件提供了队列(Queue)数据结构的实现。队列是一种(FIFO, First In First Out)的数据结构,它允许在(称为队首)。
2025-09-17 08:26:33
140
原创 C++标准库<stack>
标准库提供了多种容器和算法来帮助开发者更高效地编写程序。<stack>是 C++ 标准模板库(STL)的一部分,它实现了一个(LIFO,Last In First Out)的。这种数据结构非常适合于需要"最后添加的元素最先被移除"的场景。<stack>容器适配器提供了一个栈的接口,它基于其他容器(如deque或vector)来实现。栈的元素是线性排列的,但只允许在一端(栈顶)进行添加和移除操作。
2025-09-16 21:01:32
291
原创 C++ 标准库 <deque>
deque>是标准模板库(STL)的一部分,它提供了双端队列(double-ended queue)的实现。双端队列是一种允许在两端进行插入和删除操作的线性数据结构。<deque>的全称是 "double-ended queue",它在C++中以模板类的形式存在,允许存储任意类型的数据。<deque>是一个动态数组,它提供了快速的随机访问能力,同时允许在两端进行高效的插入和删除操作。这使得<deque>成为处理需要频繁插入和删除元素的场景的理想选择。
2025-09-16 20:45:30
265
原创 C++ 容器 <forward_list>
C++ 标准库中的是一种容器,它提供了一种的数据结构。与双向链表(std::list)不同,。它适用于需要频繁进行前向遍历和插入、删除操作的场景。以下是对std::listoperator[]atat()std::list。
2025-09-16 20:31:15
190
原创 C++ 容器类 <list>
list>是 C++ 标准模板库(STL)中的一个,它允许在容器的。与数组或向量(<vector>)不同,<list>,并且可以。常用于存储元素集合,std::list是 C++ 标准库对 “双向链表” 这一抽象数据结构的标准化实现,而 “链表” 是更通用的概念(包含单向链表、双向链表、循环链表等多种形式)。
2025-09-16 11:46:39
857
原创 C++ 容器类 <vector>
vector>是 STL 中的一个容器类,用于存储动态大小的数组。<vector>是一个序列容器,它允许用户在容器的末尾快速地添加或删除元素。与数组相比,<vector>提供了更多的功能,如自动调整大小、随机访问等。
2025-09-16 09:57:20
772
原创 c++学习之map容器和unordered_mape
std::map是 C++ 标准库(STL)中的,用于存储,其核心特性是和(每个键在std::map中仅能出现一次)。
2025-09-11 23:02:36
260
原创 git入门使用
第一次系统初始化配置git config --global user.name "robot" #替换成自己的用户名git config --global init.defaultBranch master #master为主分支名字#初始化git init。
2025-09-10 15:15:57
195
原创 Action通信:单点导航
机器人导航到某个目标点,此过程需要一个节点A发布目标信息,然后一个节点B接收到请求并控制移动,最终响应目标达成状态信息。ROS中提供了actionlib功能包集,用于实现 action 通信。action 是一种类似于服务通信的实现,其实现模型也包含请求和响应,但是不同的是,在请求和响应的过程中,更合理的方案应该是:导航过程中,可以连续反馈当前机器人状态信息,当导航终止时,再返回最终的执行结果。或者c++版本的set_goal_node.cpp。在script下新建set_goal.py。
2025-09-09 14:56:24
806
原创 cartographer运行自己的激光雷达、里程计以及IMU进行建图
• TRAJECTORY_BUILDER_2D.use_imu_data 是否使用imu, 如果用imu, tracking_frame 一定要设置成imu的link。• provide_odom_frame 是否提供里程计, 如果bag中有里程计的坐标系, 这个就是 false, 如果没有, 就根据需要决定是否提供里程计的坐标系。• TRAJECTORY_BUILDER_2D.min_z 点云的最小z的范围, 单线点云不能设置大 于0的值(不设置), 多线点云的这个值要大于0。
2025-09-08 11:42:16
594
原创 VMware设置共享文件夹
(1)虚拟机关机情况下,创建一个共享文件夹2)ubuntu中挂载共享文件夹1、如果之前已经挂载 hgfs,先取消挂载2、重新使用以下命令挂载先用id查询uid和gid,我这里都是1000之后应该才/mnt/hgfs/下看到共享文件夹了。
2025-09-08 11:07:44
572
原创 VMware识别不到U盘
3、将usb.restrictions.defaultAllow = "FALSE"改为usb.restrictions.defaultAllow = "TRUE"后保存退出。VM下安装虚拟机,插入u盘虚拟机不显示,并且“虚拟机->可移动设备->u盘->连接(断开与主机的连接)”是灰色的,解决办法。4、重启虚拟机即可看到“虚拟机->可移动设备->u盘->连接(断开与主机的连接)””选项将不再为灰色。5、点击“连接(断开与主机连接)”,即可在Ubuntu桌面下看到U盘成功挂载。
2025-09-08 10:58:58
795
原创 numpy库
ndarray对象的属性.ndim 秩,即轴的数量和维度的数量 .shape ndarray对象的尺度,对于矩阵,n行m列 .size ndarray对象元素的个数,相当于n*m的值 .dtype ndarray对象的元素类型 .itemsize ndarray对象中元素的大小,以字节为单位 ndarray对象的元素类型dtype(‘0’)说明元素为对象类型数组的创建与判断当元组和列表个数相同,可以混合使用.....
2022-08-28 17:54:18
2583
1
原创 列表的基本操作
直接创建一个列表可以用中括号lst = ["Hello","word",98,"word"]索取列表单个元素正向索引:从0开始都N-1,例如lst[0]="Hello"反向索引:从-N开始到-1,例如lst[-1]=98print(lst[0])print(lst[-1])输出为:Hello98切片:获取列表的多个元素语法结构 列表名[start:end:step],step默认为1python的括号范围都是左闭右开的。获取列表1到2的元素..
2022-02-13 11:03:56
502
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅