自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 视频转gif

将/home/linuxbrew/.linuxbrew/bin添加到PATH中。修改文件/etc/ImageMagic-6/policy.xml。github上有一个开源的代码可以实现任何格式的视频转成gif。如果运行出现内存问题,尝试。

2023-07-19 15:41:47 148

原创 使用Kalibr标定zed mini双目相机

这篇文章介绍采用开源库Kalibr对zed mini双目相机的内外参进行标定,Kalibr在SLAM领域非常流行,因为他可以非常方便的对相机,IMU等传感器的内外参进行标定。

2023-06-30 13:59:59 1297 1

原创 从零手写VIO-IMU传感器

设定,加速度的高斯白噪声方差设定为0.019,陀螺仪的高斯白噪声方差为0.015.加速度bias的随机游走噪声方差设定为。目的:这个标定的主要目的是对传感器估计的bias和scale进行温度补偿,获取不同温度时bias和scale的值,绘制成曲线。和加速度计六面法不同的是,陀螺仪的真实值由高精度转台提供,这里的6面是指各个轴顺时针和逆时针旋转。多轴IMU传感器制作的时候,有制作工艺的问题,会使得xyz轴可能不垂直,如下图所示。使用欧拉法,即两个相邻时刻k到k+1的位姿是用第k时刻的测量值a,w来计算。

2023-03-02 14:15:53 325

原创 从零手写VIO-概述与课程介绍

VIO(Visual-Inertial Odometry):以视觉与IMU融合实现里程计IMU(Inertial Measurement Unit),惯性测量单元典型6轴IMU以较高频率(大于等于100Hz)返回被测物体的角速度与加速度受自身温度、零偏、振动等因素干扰,积分得到的平移和旋转容易漂移视觉(Visual Odometry)以图像形式记录数据,频率较低(15-60Hz居多)通过图像特征点或像素推断相机运动IMU与视觉定位方案优势与劣势对比方案IMU视觉优势快速响应。

2023-03-01 20:37:52 624

原创 Nodelet介绍

通常情况下,我们使用的ros节点都是独立的可执行文件,每个节点启动后在系统中都是以一个独立的进程存在的,即节点之间的通信就是进程间的通信,并且通信过程需要消耗网络的带宽。为了提高通信的效率和减少网络带宽的占用,ros中有一类特殊的节点-nodelet,这类节点可以在单个进程下以多个线程的形式运行,这样节点间的通信就是线程间的通信了。比如摄像头这类数据量大的传感器,可以使用nodelet方式与其他节点通信,从而大大提高传输效率。

2023-02-05 15:42:49 1028

原创 多视图几何

在视觉slam中,相机位姿估计是重要的环节,其中使用的就是多视图几何模型,本文将简要介绍各种多视图几何模型。

2022-12-27 17:10:46 1042

原创 李群和李代数

旋转矩阵内的各个元素取值收到内在约束,即旋转矩阵为正交矩阵,且行列式为1。在采用优化方法进行SLAM位姿估计时,这种内在约束让优化求解变的非常困难。因此这里需要引入李群、李代数的概念,通过李群-李代数的转换可以去除这种内在约束,简化优化求解过程

2022-12-21 16:36:00 893

原创 ORB特征

ORB(Oriented FAST and Rotated BRIEF)特征是一种常用的图像特征,其最大的优点是提取速度快,按业界的说法,ORB特征提取速度臂SURF快10倍,比SIFT快100倍。ORB特征由关键点和描述子两部分组成。他的关键点称为“Oriented FAST”,是一种改进的FAST角点。ORB提取速度快就得益于采用了FAST角点。它的描述子称为BRIEF(Binary Robust Independent Elementary Feature),是一种速度极快的二进制描述子。

2022-12-20 16:45:08 5001

原创 cv::Mat::step step1 elemSize elemSize1介绍

在看slam源码中,常见到cv::Mat类中的step,step1,elemSize和elemSize1等函数和属性,不了解这些函数和属性的含义的话,难以看懂slam源码中对图像的操作,因此本文介绍这些函数和属性的含义,并给出具体的例子。

2022-12-20 15:16:24 1207

原创 moveit perception

moveit包含感知(perception)模块,其可以将深度相机采集的点云或深度图转换成OctoMap(八叉树地图),用rviz可以显示Octomap,并且可以采用Octomap进行避障轨迹规划。感知周围环境对于机械臂来说非常重要,具有广泛的应用场景。本文简要介绍moveit中的perception模块。

2022-12-15 14:25:47 1228 4

原创 std::atomic原子操作

在多线程编程中,经常使用互斥锁锁住一段代码块,实现线程同步。原子操作可以看成是对变量的互斥锁。比如程序中一个线程读取一个变量,另一个线程修改该变量的值,那么采用原子操作可以不用添加互斥锁即可实现线程同步。

2022-12-14 10:04:18 501

原创 基于ROS的自主导航小车制作

本文介绍一种基于ros_arduino_bridge的自主导航小车的制作过程1、材料清单1、arduino nano2、10cm长母对母杜邦线若干3、TB6612FNG电机驱动模块4、2.54单排针1*405、1x15P单排母座若干6、1x8P单排母座若干7、7x9cm单面万能版8、JGA37直流减速电机,减速比1/43 (2)9、JGB37电机固定座 L型支架(2)10、六角联轴器 配套小车轮子使用6cm(2)11、机器人轮胎 68mm轮胎(2)12、2寸万向轮13、12V锂电

2020-07-29 19:59:06 3633 2

原创 树莓派通过raspi-config启动摄像头时,出错:Your firmwave appears to be out of date (no start_x.elf). Please update

树莓派通过raspi-config启动摄像头时,出错:Your firmwave appears to be out of date (no start_x.elf). Please update解决方法:1、查看boot分区所在的设备号,设备号可能是:/dev/mmcblk0p1df -h2、将该设备号挂载在/boot上mount /dev/mmcblk0p1 /boot3、完美解决...

2020-07-29 18:53:31 4158 4

原创 opencv和numpy常用函数使用说明

opencv的connectedComponentsWithStats函数使用说明基本语法代码示例基本语法nLabels, labels, stats, centroids=cv2.connectedComponentsWithStats(img,connectivity=4)nLabels:标签的数量labels:标签矩阵stats:bounding box的信息,每一行对应一个标签区...

2019-09-18 08:58:02 374

空空如也

空空如也

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

TA关注的人

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