- 博客(27)
- 收藏
- 关注
原创 远心镜头仿射模型的无主点标定法
图3-28中,\[({X_W},{Y_W},{Z_W})\]为世界坐标,\[({X_C},{Y_C},{Z_C})\]为相机坐标,$({x^u},{y^u})$为像平面的理想坐标,$(x,y)$为像平面的实际坐标, $(u,v)$为像素坐标。即\[{r_{11}}{X_W}v + {r_{12}}{Y_W}v + {t_x}v = {r_{21}}{X_W}u + {r_{22}}{Y_W}u + {t_y}u\]。根据光阑位于物镜${f_1}$和目镜${f_2}$共同点,可得远心镜头的有效倍率为。
2025-06-26 10:50:56
1896
原创 用于远心镜头仿射相机模型的校准标定方法
目前已经有一些平台库提供了仿射相机模型的标定和校准功能,例如CUVIS的CVTC(Computer Vision Telecentric Calibration)、Tielogic的TCLIB(Telecentric Calibration Libaray)等,不过一般都需要购买商业License。仿射相机模型的成像平面为无穷远平面,相机光心也位于无穷远,因此其投射矩阵的最末一行为$[0,0,0,1]$,从而将无穷远点映射到无穷远点,即投射矩阵为。仿射相机模型的一个特例是正交(平行)投影,投射矩阵为。
2025-06-25 14:48:43
512
原创 在Ubuntu 20.04实现ROS1 Noetic 与 ROS2 Foxy 多版本共存及切换
因为能桥接的前提条件(缺一不可)是:消息/服务在 ROS1 中存在、同名消息/服务在 ROS2 中存在、字段名、字段类型、顺序完全一致、在编译 ros1_bridge 时,两侧都已被 colcon / catkin 正确识别。A. 运行 bridge 时必须先启动 ROS1 的roscore、再启动 ROS2 的/opt/ros/foxy/bin/ros2 daemon start、最后启动 bridge 节点。which ros2 # 应输出 /opt/ros/foxy/bin/ros2。
2025-12-24 09:39:01
259
原创 4.2.3 分割任务
Mask R-CNN:这是最著名、影响力最大的实例分割模型,基于Faster R-CNN,在原有的两个输出(类别和边界框)之外增加一个并行分支,用于为每个候选区域预测一个二值的分割掩码。* MaskFormer/Mask2Former:基于Transformer的统一建模代表,作为一种范式转变,它摒弃了传统的语义分割分支 + 实例分割分支的思路,提出了一个统一的分割框架,被认为是目前解决全景分割问题最先进和优雅的方案之一。目标通常指可数的、具有清晰形状的物体,实例如人、车、猫,在实例分割处理。
2025-12-17 17:24:21
337
原创 4.2.2 检测任务
DETR的模型架构包括三个核心组成部分:(1)CNN骨干网络,这是一个标准的CNN例如ResNet,负责从输入图像提取二维特征图,输出特征图作为后续Transformer的输入。近年来,目标检测领域涌现出基于Transformer架构的创新模型,其中DETR(DEtection TRansformer)作为代表性工作,彻底改变了传统目标检测的设计范式。(2)输出是一个无序的集合,集合中每个元素包含一个目标的类别和边界框坐标,集合元素数量是固定的例如 100个,一般远大于图像中目标的实际数量;
2025-12-17 17:23:48
300
原创 4.2.1 分类任务
以上代表模型的核心结构特点是:(1)一系列的卷积层、池化层进行特征提取,(2)最后通过全局平均池化或者展平层连接全连接层,(3)输出层使用softmax函数输出每个类别的概率。,提出了残差学习范式,引入的快捷连接也成为现代深度网络的标配,使得网络可以达到上千层;分类模型的核心结构包括:输入à特征提取(卷积层)à 分类决策(全连接层),代表模型如下。,它们的设计哲学例如堆叠小卷积核、残差连接、分组卷积等,影响了后续所有视觉任务模型。* VGG:堆叠3×3小卷积核替代大卷积核,结构非常规整,探索增加网络深度。
2025-12-17 17:23:11
431
原创 4.2 卷积网络的三种典型应用
然而,从 ResNet 开始,特别是到了目标检测和图像分割,模型结构开始变得复杂,模型设计从层的堆叠转向模块的组装。图像分类的典型应用例如:图像人脸识别判断图像中人脸是张三还是李四、图像内容过滤判别图像的内容是色情还是暴力、动物植物种类识别,等等。目标检测模型需要理解图像中多个目标的空间关系,典型应用例如:自动驾驶需要目标检测来获取车辆、行人、交通标志的位置以便实现避障和导航。总结就是:图像分类解决图像是什么,目标检测解决图像有什么和在哪里,图像分割解决每个像素属于什么;
2025-12-17 17:21:58
418
原创 毫米波雷达的测距和测速
但是激光雷达传感器以激光的方式获得点云的深度信息,仍受到光线等外部环境的干扰,对云雾的穿透性不强,在雨天会误识别雨滴而导致传感器失效。毫米波雷达是指工作在毫米波波段探测的雷达,毫米波雷达使用的技术是毫米波(millimeterwave),通常缩写为MMW,波长为1~10毫米,频率为30~300GHz的电磁波。与相机先比,毫米波雷达和激光雷达这两种常用传感器可以获取除了物体纹理信息以外的深度、速度信息,尤其毫米波雷达在3D目标检测、深度估计、分割和点云生成等任务中的应用丰富。
2025-07-28 11:55:19
483
原创 家庭服务具身智能机器人体系架构
LLaVA(Large Language and Vision Assistant)是将大规模语言模型(LLMs)与视觉模型结合的多模态模型,旨在处理图像和文本的联合理解和生成任务,目标是让语言模型理解和处理视觉输入例如图片或视频帧。(2)大语言模型(LLM),用来实现任务分解与技能调用,候选工具有LangChain(任务编排框架)和Robotics Transformer (RT-2) (端到端生成控制),构建LLM规划器与ROS库需要2-3周。开源的多模态大模型可选LlaVA和阿里Qwen-VL。
2025-07-21 12:06:50
486
原创 MoveIt用于机械臂操作控制的二三五: 两类空间、三种规划以及五个模块
总的来说,关节空间运动更适合于描述机器人的关节运动,不考虑机械臂运动到目标过程的姿态;(1)关节空间运动:在关节空间运动中,运动通过每个关节的角度描述。适用于需要高精度控制末端执行器的运动轨迹的场景,与单点规划(setPoseTarget)不同,它不是简单地规划从起点到终点的运动,而是通过一系列连续位姿序列生成笛卡尔空间的连续路径。具体是在关节空间规划一条从当前关节状态到目标状态的路径,默认使用 OMPL 的 RRTConnect 算法规划,然后执行阶段通过关节插值(例如五次多项式)生成平滑轨迹。
2025-07-17 17:14:36
1015
原创 1.2.2 交叉熵损失函数
根据\[KLD(p\parallel q) = H(p,q) - H(p)\]有\[H(p,q) = KLD(p\parallel q) + H(p)\],可见,\[p\]和\[q\]的交叉熵\[H(p,q)\]与\[p\]和\[q\]的K-L散度\[KLD(p\parallel q)\]仅仅相差一个常数\[H(p)\],因此如果分布\[p\]固定,则交叉熵\[H(p,q)\]就可以用来衡量分布\[q\]与分布\[p\]的差异程度:交叉熵越小,分布越相似。根据定义,概率越小信息量越大,概率越大信息量越小。
2025-07-14 14:43:08
370
原创 设计机器人运动学控制器和动力学控制器的十八个步骤(控制系统框图)
其中几个模块的作用:全局定位系统,输出机器人\[\left\{ R \right\}\]在世界坐标系\[\left\{ G \right\}\]的位置和姿态\[q = \left( {\begin{array}{*{20}{c}}抗饱和控制器,根据最小转弯半径\[{R_{\min }}\],输出受控输入\[{u_{{\rm{cmd}}}} = \left( {\begin{array}{*{20}{c}}积分器,积分轮速得到位移\[\left( {\begin{array}{*{20}{c}}
2025-07-10 15:36:04
378
原创 设计机器人运动学控制器和动力学控制器的十八个步骤(8-13
基于给定参考位姿\[{q_{\rm{r}}}\]和给定输入控制\[{u_{\rm{r}}}\],给出控制向量\[{u_{\rm{d}}} = \left( {\begin{array}{*{20}{c}}\end{array}} \right)\],使跟踪误差\[{q_{\rm{e}}}\]收敛到零,即设计控制律\[{u_{\rm{d}}}\left( \cdot \right)\]。其中斜体符号\[i\]是序列时刻,整正体符号\[{\rm{R}}\]意为参考轨迹(Reference)。
2025-07-09 17:34:38
841
原创 设计机器人运动学控制器和动力学控制器的十八个步骤(1-7)
[x\]、$y$和\[\theta $为\[\left\{ R \right\}\]在\[\left\{ G \right\}\]的位置和姿态;\[{v_l}\]、\[{\omega _l}\]、\[{\varphi _l}\]和\[{\tau _l}\]为左轮的线速度、角速度、角度和扭矩,\[{v_r}\]、\[{\omega _r}\]、\[{\varphi _r}\]和\[{\tau _r}\]为右轮的线速度、角速度、角度和扭矩;\[\tau \]为输入,\[\lambda \]为拉格朗日乘子。
2025-07-09 13:30:53
1749
原创 机器人的约束以及完整性
容易发现, 如果一阶约束方程\[g = {A_i}\left( {q,t} \right)\],\[\delta {\dot q_i}\]具有可积性, 则上式左端的第一项系数必定为零,从而上式退化为 \[{A_i}\left( {q,t} \right) = 0\],用 \[d{\dot q_i}\]代替 [delta {\dot q_i}\]表示虚位移限制方程,这种在非完整约束方程上进行变分运算的问题并不是确定的。假设加上一些约束后,质点所需的变量减少为\[m\]个,则该系统的自由度数量为\[m\]。
2025-07-04 15:49:06
671
原创 一种转向受限型差速机器人的路径规划方法
1,给定目标轨迹 \( (x_{ref}(t), y_{ref}(t)) \) ,需要进行可行性检查,确保合适曲率 \( \kappa(t) \leq 1/R_{min} \)。对于转弯半径存在约束的差速机器人,也就是说只能转动较大的转弯半径,而不能转很小的转弯半径,更不能原地转弯,需要设计一款控制器,实现轨迹跟踪,具体如下。其中 \( R_{min} \) 为最小转弯半径约束,体现为角速度上限。其中 \( \kappa_{ref} \) 为参考轨迹曲率。*B. 基于Lyapunov的控制器。
2025-07-02 22:27:02
508
原创 旋转矩阵四元数表示
考虑连续旋转情况,假设:对刚体进行一次欧拉角描述的旋转,记三个欧拉角为\[\left( {{a_1},{a_2},{a_3}} \right)\];这是困难的,例如至少不能简单的将\[\left( {{a_1} + {b_1},{a_2} + {b_2},{a_3} + {b_3}} \right)\]作为要求旋转角度。这正是二维空间旋转公式:$\left( {a' + ib'} \right)$在二维复平面上就是\[\left( {a + ib} \right)\]旋转\[\theta \]角度的位置。
2025-07-01 15:23:14
666
原创 镜头与相机的分辨率匹配原则
也就说镜头与相机需要对应的,不是像素分辨率(像素数量),而是各自的空间分辨率(每毫米线对)。其实镜头与相机对应的并不是相机自身的像素分辨率(像素数),而是各自的极限空间分辨率(即传递函数MTF对应的空间截止频率)。最主要的配套原则,是镜头的极限空间分辨率必须高于相机的极限空间分辨率,才能让相机实现最佳成像性能。如果把镜头分辨率设定为3.3um, 需要1000/3.3/2=150 lp/mm的镜头。2)如果按精度8 um为准, 可得分辨率为1000/8/2=62.5lp/mm,3)可见,瓶颈在于镜头。
2025-06-30 10:36:23
528
原创 相机与镜头的分辨率、分辨力和数值孔径
再如,某个相机使用MT9P031传感器,该传感器的规格书显示其靶面尺寸为5.70mm×4.28mm,像元尺寸为2.2um×2.2um,则宽度上的像素数量为5700/2.2=2591,高度上的像素数量为1945,因此该相机的像素数量为2591×1945=5039495,即500万像素。其实镜头与相机需要对应的,并不是去对应相机自身的像素分辨率(像素数量),而是各自的极限空间分辨率,镜头中的百万像素、二百万像素、五百万像素,同样是指镜头的空间分辨率,他们计算演示过程如后。镜头的像素,这个概念并不科学。
2025-06-30 10:32:49
1212
原创 机头和相机的分辨率—光学传递函数与调制传递函数
比如,原来黑是-1,白是1,那么这个相机成像之后下来,就成了-0.65和0.65了,没有原来的斑马线那么大的反差了。光学系统在传递被摄目标信息时被传递的各空间频率的正弦波信号,其调制度和位相在成实际像时的变化都是空间频率的函数,这个函数称为光学传递函数OTF(Optical Transfer Function),该函数可以用来综合评价成像质量。光学器件或光电成像的器件的MTF越好,即MTF对应的空间截止频率(极限空间分辨率)越高,就表明器件自身的空间分辨率越高,能够看清的细节更小。
2025-06-30 10:12:07
514
原创 Realsense D435 深度相机的三个相机和五个坐标系
(1)camera_link、camera_color_frame、camera_depth_frame,这三个坐标系遵循机器人学(例如ROS系统)的习惯,即X-forward、Y-left、Z-Up,如图左所示;(2) camera_color_optical_frame、camera_depth_optical_frame,这两个带有optical字样的坐标系遵循机器视觉的光学习惯,即X-right、Y-down,、Z-forward,如图右所示。话题,其父坐标系frame_id是光学习惯的。
2025-06-27 10:49:20
1627
原创 关节机械手的两种配置形态
对于深色所示当前状态1,相机在世界的位姿为\[{}_C^W{M_1}\],探头在相机的位姿为${}_T^CM$,根据实线所示,探头在世界的位姿为\[{}_T^W{M_1} = {}_C^W{M_1}{\rm{ }}{}_T^CM\]。对于浅色所示目标状态2,相机在世界的位姿为\[{}_C^W{M_2}\],探头在相机的位姿为${}_T^CM$,根据虚线所示,探头在世界的位姿\[{}_T^W{M_2} = {}_C^W{M_2}{\rm{ }}{}_T^CM\]。图2-9 眼在手的柔性测量。
2025-06-26 11:30:34
540
原创 用于描述机器人和机械臂姿态的欧拉旋转角度
记外部坐标系为A、自身坐标系为B,则经过XYZ外旋之后坐标系A至坐标系B的变换即旋转矩阵\[{}_B^A{R_{XYZ}}\]为\[{R_{{X_A}}}\left( \gamma \right)\]、\[{R_{{Y_A}}}\left( \beta \right)\]、\[{R_{{Z_A}}}\left( \alpha \right)\]依次向左乘。为了描述这三个角度的含义,需要明确以下内容:(1)旋转时的参考坐标系,是相对于外部的静态的坐标系还是相对于自身的动态的坐标系;
2025-06-26 10:10:54
2037
原创 差速机器人形状与转向能力
具体的,前轮速度方向与轮轴的夹角$\alpha = {\tan ^{ - 1}}\frac{L}{{2R}}$,后轮是$ - a$;以A轮为例,如上图右所示,这个轮子存在纵向分量和横向分量:纵向分速度是由轮胎与支撑面的滚动摩擦产生的,横向分速度是由轮胎与地面的滑动摩擦产生的。核心原因,在于产生于差速控制的滑动转向(Skid Steering)是一个理想化的近似,即一个比较强的假设:在较小邻域内,轮子与支撑面仅有纯滚动而没有侧向滑动。一种是窄而长的,即W<L,如图右。第三章方式,是四轮舵机实现全向控制。
2025-06-26 09:54:33
371
原创 机械臂的关节空间规划与笛卡尔空间规划
对于期望状态B的末端位姿${T_{\rm{f}}}$,其对应一组关节角度$\left\{ {\theta _{\rm{f}}^{(i)}} \right\}_{i = 1}^6$。在ABC平面基于不共线三点\[{P_1},{P_2},{P_3}\]可以确定一个圆,记圆心为\[{O_r}\]、半径为\[r\]。(2)基于插补坐标系,对于二维平面${x_r}{o_r}{y_r}$,完成插补坐标\[\left( {{\xi _{i + 1}},{\eta _{i + 1}}} \right)\]。
2025-06-25 15:08:18
894
原创 用于机器视觉轮廓描述的六种度量距离
其中,\[\sum \]是多维随机变量\[x\]和\[y\]的协方差矩阵。其中,\sum\]是多维随机变量\[x\]和\[y\]的协方差矩阵。其中,$\sum $是多维随机变量$x$和$y$的协方差矩阵。
2025-06-25 14:20:12
491
原创 12.3.1 SLAM调试技巧(Tips)
如果没有使用-DCMAKE BUILD TYPE=Release,则默认是未经优化的Debug 版本,基于ROS 的SLAM 框架的地图受限于OpenCV 视觉库,地图最大尺寸为8192x8192,Navi 只运行costmap,此时通过top 指令即可查看负载水平,通过附加参数'1' 查看。可以通过系统负载确定,方法是只打开move_base 节点但是不发送导航目标,这样。定距离,则调大 wheel_diameter 参数,反之调小。大于指定角度,则调大 wheel_track 参数,反之调小。
2023-06-19 16:59:06
354
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅