- 博客(75)
- 资源 (10)
- 收藏
- 关注
原创 多传感器融合中的最小二乘
从接触SLAM开始,多传感器融合一直是该领域的核心,自己也对这块充满了好奇。导入在大学期间,第一次做平衡车开始,需要让小车保持平衡,就需要对平衡车进行倾斜角的测量,用到了常见的MEMS惯性传感器MPU6050,里面有XYZ三轴的加速度计,还有XYZ三轴的陀螺仪也就是角速度计,按照常理而言,直接对各个轴的角速度进行积分可以计算出倾角,但是由于设备低廉,你不能保证它静止的时候角速度测量值真的为0度/s,直接积分容易出问题。转机。
2024-07-21 15:47:13
1154
2
原创 IMU的加速度补偿、祛除向心力
一般,我们期望用IMU测量某个Target坐标系的加速度、角速度信息,然而IMU的坐标系与Target 坐标系一般存在位姿关系,此时IMU测量的加速度不能直接代表Target左坐标系的加速度。比如Target 坐标系绕Z轴自转动,Target的XY轴的加速度应该为0;然而IMU的加速度,包含了向心力,XY的加速度发生变化,不能直接用于Target坐标系。基于上述问题,如果需要Target坐标系的加速度,需要对IMU的加速度进行向心力的补偿。CSND-浅谈加速度计旋转补偿【3D个人觉得不合理】
2024-07-12 14:04:46
1139
原创 RTK_ROS_导航(4):接入move_base
现在我们要将之前的数据接入到Move_base中,使得机器人能够根据Map上的终点进行导航,并且实现避障效果如下图。
2024-07-09 20:07:00
1361
原创 RTK_ROS_导航(4):GNSS里程计、地图加载、点云Scan整理
通过启动之前的文件,并添加静态TF树得到的TF树如下,查看TF树的指令为得到的RVIZ显示如下,此时就可以设置为
2024-07-09 19:35:18
957
2
原创 RTK_ROS_导航(4):ROS中空地图的生成与加载
构建地图的描述文件,如果你没有修改上面代码中参数,那么你可以直接复制下面内容。一般你在什么地方运行该代码,这个文件就生成在什么地方。文件中,添加如下代码,此时就可以在rviz中订阅。,这里就不写代码了,需要将里面的参数更新。需要自己手动创建该文件,文件名为。在ROS中加载该地图,随便一个。
2024-07-09 19:16:35
691
原创 RTK_ROS_导航(3):点云的压缩,PointCloud转scan
保持一致,启动rviz,添加话题可视化得到如下。需要注意的是,转换后的坐标系与点云的。
2024-07-09 18:59:43
722
原创 RTK_ROS_导航(2):卫星图查看
最终结果如下,警告信息可以不用管,加载可能需要一点时间。播放一个具有GPS数据的bag包。在mapviz中,把刚刚的。,用于自动设置原点,如下。启动完成后,add组建,应用类型选择服务器端。在第二步刚刚add的。
2024-07-09 10:38:48
1082
原创 RTK_ROS_导航(1): GNSS里程计
1. RTK 配置4G CORS + 4G 网络 + 户外有信号,不能实现RTK,就恢复出厂设置输出信息包含(一般需要三个同时打开):GAPPA:包含位置信息GPVTG:包含速度信息GPHDT:包含定向的朝向信息2. ROS驱动驱动安装sudo apt install ros-noetic-nmea-navsat-driver运行,需要修改该功能包的启动端口,会自动解析上面的3个RTK语句信息roslaunch nmea_navsat_driver nmea_serial_d
2024-07-07 12:39:10
3110
12
原创 RS-Lidar-32 的ROS1使用说明
下载 rslidar_sdk.tar.gz 压缩包,并解压。返回工作空间目录,执行以下命令即可编译&运行。新建一个文件夹作为工作空间, 将。,将lidar_type改为。修改文件:修改配置文件。
2023-11-13 12:35:54
128
原创 Python 代码加密并打包为模块
并修改其文件名,起始把它视为正常的 .py 文件即可,用法一致,如下。,反编译后为源代码,毫无安全性。,设置好需要编译py文件的路径。的build文件夹内,的 pycache。
2023-06-30 18:59:35
678
原创 Ubuntu的USB相关操作
编写内容:搜索所有的USB设备,遇到对应的厂商ID+产品ID,则修改权限,并且别名该设备。新建空配置文件,文件名可自定义,扩展名必须.rules。文件生效: 执行两行命令。
2023-06-25 12:34:26
2723
原创 机器人--基础知识
(1)假设基(i, j)到基(u, v)基的变换矩阵为P, 则基(u, v)下的向量x到基(i, j)下,转化计算为Px。题目:机器人T1位置(3阶矩阵)观察到目标P1(坐标),现在机器人运动到T2位置,试问目标P1在T2位置的坐标为多少。(2)同样,已知(i, j)在基(u, v)的表示,记为Q,Q就是基(i, j)下的向量x到基(i, j)下。(2)M把基(i, j)映射成了(u, v),当前向量在基(u, v)下表示的位置,记为变换结果。(1)M把A所在的空间的基进行了变换,因此A也进行了变换。
2023-04-12 13:24:24
856
原创 目标检测--点云标注工具XTremel
=, 如果从另外一台电脑访问,则需要将localhost换位对应IP。添加Docker的官方GPG密钥,好像是为了能够防止软件被篡改。先确保在刚刚的数据集下操作,然后点击create即可。启动所有服务,首次进入可能需要下在文件。然后双击安装,不清楚为啥指令下按不好。启动成功后,可以在浏览器中==确保已经启用KVM虚拟化。下载最新安装包,并解压。安装Docker引擎。安装Docker引擎。创建数据集和标注类型。
2023-04-07 14:58:51
525
1
原创 深度学习-损失、优化器
L1的Smooth loss可以用汉书表示为,挺好的,结合了L1、L2的优点。L2的loss可以用汉书表示为,0点可导,但远处容易梯度爆炸。优化器的最终目标是最小化Loss函数,从而优化网络本身参数。又名随机梯度下降,前期算法没有增加动量,目前是一类动量法。L1的loss可以用函数表示为,挺好的,就是0点不可导。它包含了 learning rate 和 函数两部分。优化参数的过程可以表示为如下,其中。此文仅供学习使用,禁止其他用处。Momentum-动量法。
2023-03-13 13:48:48
699
原创 数值分析及其应用
参考SVD-矩阵奇异值分解 —— 原理与几何意义矩阵奇异值分解(SVD)12.3 奇异值是什么特征值分解仅适用于提取方阵特征,但在实际应用中,大部分数据对应的矩阵都不是方阵;奇异值分解是将任意形状矩阵A用更小、更简单的 3个子矩阵乘积UξVTU\xi V^TUξVT表示,如下AUξVTA=U\xi V^TAUξVTSVD分解后子矩阵的特点ξ\xiξ中的元素会按大到小排好顺序,因此代表该维度重要性越高(值越大)。它是AATAA^TAAT的特征值的根号结果。
2023-02-24 18:33:37
1389
原创 MTI运动传感器ROS配置
在刚刚工作空间下功能包xsens_ros_mti_driver的param文件夹下的xsens_mti_node.yaml内。敲回车代表接受默认安装路径:/usr/local/xsens。注意:下载最新体验版,MT软件套装Linux(x64)版本。
2022-12-23 12:04:06
762
原创 机器人之Move_Base
首先,用户指定区域之外的障碍物将从机器人的地图中清除。接下来,如果可能,机器人将执行就地旋转以清理空间。如果这也失败了,机器人将更积极地清除它的地图,移除它可以就地旋转的矩形区域之外的所有障碍物。...
2022-07-19 10:48:48
3329
4
原创 机器人之Cartographer
整体而言,LocalSLAM部分负责生成较好的子图,GlobalSLAM进行全局优化,将子图最佳match在一起。就使用cartographer需要构建至少两个文件,一个是启动的launch文件,另一个是建图时所使用的lua配置参数。..................
2022-07-16 19:28:33
1521
原创 机器人之Hector
hector_mapping是一种在没有里程计的slam方法,也可以在显示pitch/roll运动平台上使用。它利用了现代激光雷达系统的高更新率,如Hokuyo UTM-30LX,并在传感器的扫描速率下提供2D姿态估计(UTM-30LX为40Hz)。虽然该系统不提供显式闭环功能,但对于许多现实世界的场景来说,它足够准确。该系统已成功用于无人地面机器人,无人地面车辆,手持测绘设备和四旋翼无人机的记录数据。相关论文:A flexible and scalable SLAM system with full 3
2022-07-14 14:00:34
679
1
原创 机器人之Gmappinng
gmapping 是ROS开源社区中较为常用且比较成熟的SLAM算法之一,gmapping可以根据移动机器人里程计数据和激光雷达数据来绘制二维的栅格地图。运行的要求(两个TF,一个scan):odom、scan到 base_link的TF、激光雷达两个.....................
2022-07-13 19:39:36
452
原创 STM32F4的DSP库
环境配置1. CUBEMX 中勾选生成工程时添加所有库2. Keil 中宏定义:,__FPU_PRESENT=1,__TARGET_FPU_VFP,ARM_MATH_CM4,__CC_ARM3. Keil 中添加DSP库位置:../Drivers/CMSIS/DSP/Include4. 添加lib文件的lf后缀到工程的core文件夹下5. 函数使用时包含头文件:#include "arm_math.h"6. 编译工程函数使用官方介绍:地址在keil的包里面构建矩阵介绍:typedef
2022-04-13 23:48:48
2571
原创 ROS2-Foxy-配置
本文仅作为笔记使用系统安装wget http://fishros.com/install -O fishros && bash fishros安装miniconda与jupyerminicondaminconda下载地址选择Python3.8 Miniconda3 Linux 64-bit进入下载文件夹后在终端运行bash Miniconda3-py38_4.10.3-Linux-x86_64.sh 然后一路enter 和输入yesjupyer安装pip3 ins
2022-02-05 21:01:10
1659
原创 Nav2初次尝试
安装nav2sudo apt install ros-foxy-navigation2sudo apt install ros-foxy-nav2-bringupsudo apt install ros-foxy-turtlebot3*运行示例source /opt/ros/foxy/setup.bashexport TURTLEBOT3_MODEL=waffleexport GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/t
2022-02-04 19:56:40
838
原创 机器人的位姿
结构#mermaid-svg-1ORd1QK5r2k6raSJ .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-1ORd1QK5r2k6raSJ .label text{fill:#333}#mermaid-svg-1ORd1QK5r2k6raSJ .node rect,#mermaid-svg-1ORd1QK
2022-01-16 19:36:02
627
原创 ROS2的多线程
条件1、多线程执行器2、回调组执行器回调时线程产生:#mermaid-svg-3zTkDXCDkmfV4980 .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-3zTkDXCDkmfV4980 .label text{fill:#333}#mermaid-svg-3zTkDXCDkmfV4980 .nod
2022-01-15 15:04:07
2033
原创 ROS2笔记
来源为了方便各种不同型号但是同一类的器件使用,诞生了接口;通信方式 != 接口类型创建一个自己的接口包源码编译配置文件包管理文件#mermaid-svg-OAlyTtIkREXOAkXP .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-OAlyTtIkREXOAkXP .label text{
2022-01-14 14:40:33
1264
基于STM32 CUBeMx的MPU9250驱动和磁力计椭球拟合
2022-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人