尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
「嵌入式->ROS2」建图导航入门知识点介绍:TF坐标变换
大家好本节我们来解释ROS2中的TF坐标变换的知识点。1.导言-嵌入式的传感器到机器人的传感器机器人需要建图和导航建图和导航就需要“感知”学过嵌入式的你知道感知我们采用传感器来实现比如红外、温度、湿度、光敏……同样的对于机器人而言也需要传感器而且通常而言的传感器包括雷达、IMU、里程计……我们在此简单地介绍一下这几个重要的部分。1.雷达雷达的分类有很多中激光雷达、毫米波雷达、超声波雷达等。重点放在激光雷达LiDAR上。激光雷达的基本原理很简单对于学习过嵌入式的同学而言红外测距传感器并不陌生模块发送红外出去在外界经过边界时反弹回来然后传感器接收到这个刚刚发出的红外或者超声波通过时间差测算得到距离这就是ToF测距法。同样的激光雷达中也有使用这种方法来扫描周围的情况。激光雷达的构造包括激光发射器、激光接收器、核心板、电机、传动装置。原理就是通过电机传动使激光收发装置高速旋转扫描周围然后通过测距方法得到结果。2.IMUIMU惯性测量单元这个模块主要由陀螺仪、加速度计组成有的时候还包括磁力计。加速度计自然是测算物体的加速度对加速度的积分可以得到速度再积分一次得到位移。陀螺仪在嵌入式中也经常见到主要功能是对于三维方向的角度进行测量可以获取当前的姿态涉及的知识点常常包含欧拉角偏航角、俯仰角、滚转角、四元数转换等。3.轮式里程计里程计本质上说就是编码器嵌入式的同学对此应该比较了解对于测算车轮速度什么的就常常使用编码器。在机器人的世界中编码器对轮子的转圈计数外加轮子的半径等其他的数据就可以得到自己大概行驶了多远尽管这是理想的画面实际中常常包含打滑等因素。2.TF坐标变换1.简介TF 是 ROS 中管理多个坐标系之间平移 旋转变换的工具库能够随时查询任意时刻两个坐标系之间的位置姿态关系实现不同传感器、机器人本体之间的数据坐标换算。在此之前各位请记住以下英文对应对于机器人的各部件一般使用link对于坐标系一般使用frame。坐标变换分为父坐标系和子坐标系所有坐标变换组成一棵有向无环树常说TF树一个子坐标系只能有唯一父坐标系不能形成环路。2.静态变换和动态变换机器人组装好了之后里程计、雷达、IMU的位置对于机器人而言都是固定的就像你行走的时候你的大脑和心脏的相对位置是不变的为相对位置不变的两个部分做坐标变换这就叫做静态变换。同样的你现在过红绿灯你走的时候你会和红绿灯的相对位置发生变化这就叫动态变化。聪明的你肯定想到了静态坐标变换的相对位置不变只需要测算一次就好了而事实也确实如此两坐标系相对位置永不改变底盘与雷达、相机时仅发布一次通过/tf_static传输。而动态变换中相对位置是实时发生变化的所以对于动态坐标变换程序持续高频发布通过/tf传输。3.常见例子详解map → odom → base_footprint → base_link → laser /imu_link首先我有必要为各位介绍一下这些分别代表着什么。1.map全局静态世界坐标系如果你玩过我的世界你知道的我的世界中有三维坐标其中有一个0,0,0坐标map就是这样一个建图世界的一个固定的作为基准的坐标系。2.odom里程计坐标系odom里程计。这个坐标系诞生于机器人开机之后的起始位置。如果类比我的世界那就是玩家的世界重生点在没有绑定床的时候玩家死亡就会回到这个世界重生点也就是你第一次开游戏的重生点。3.base_footprint:机器人位置坐标系不同于其他的坐标系该坐标系是虚拟的他是机器人底盘垂直投影于地面的一个坐标他的Z0。他的主要作用是为了和odom坐标系进行测算是导航框架约定代表机器人位置的基准。这个坐标系比较难以理解但是他的作用是计算水平的距离水平的距离不需Z轴。4.base_link机器人底盘坐标系底盘是机器人的一个部件在本章开始时强调过了link代表部件。既然是部件那么他是实际存在的和base_footprint是不同的。5.laser_link / imu_link雷达/IMU坐标系这两个同样属于部件原理相同在机器人本体上的位置也是相对不变的。6.原理过程详解map和odom之间的关系是动态变换你可能会疑问map是地图创建就固定的基准、odom里程计是开机就固定的了二者都不变不应该是静态变换吗odom里程计获取的机器人的位置和实际物理位置是有偏差的而且随着时间变化越来越大这个误差叫做漂移。为了消除误差通过其他的方法得到实际位置之后SLAM等手段代码会矫正map和odom的位置变换以消除漂移。odom和base_footprint之间的关系是动态变换odom和base_footprint之间的坐标变换可以获取机器人相对于odom坐标系的的实际位置和朝向。base_footprint和base_link之间的关系是静态变换这就像影子和你的脚底板一样光源一直在头顶base_footprint是垂直投影是虚拟的而base_link是真实的底盘这条变换只有 Z 轴偏移数值永远不变完成 “地面虚拟点” 到 “车身本体” 坐标转换。base_link和laser /imu_link之间的关系是静态变换描述传感器相对于底盘的机械安装位置与角度硬件装配完成后相对位置固定。
RELATED

相关推荐

大模型指令微调实战:从Qwen2环境搭建到生产部署

大模型指令微调实战:从Qwen2环境搭建到生产部署

1. 大模型微调技术背景解析大语言模型(LLM)的指令微调(Instruction Tuning)是当前AI领域最热门的技术方向之一。不同于传统的预训练(Pre-training)阶段,指令微调阶段通过特定格式的数据集对模型…

📅 2026/9/11 15:58:37
深度学习基础:从数学原理到工程实践

深度学习基础:从数学原理到工程实践

1. 项目概述:深度学习经典教材精读系列开篇"deeplearningbook_001-1"这个编号透露了两个关键信息:首先这是一系列系统化学习的内容,其次这是整个系列的第一部分。从命名惯例来看,极有可能是对经典教材《Deep Learning》…

📅 2026/8/22 20:33:38
20260714python暑假班第二次作业

20260714python暑假班第二次作业

列表练习题题目1(增删改指定位置操作)现有列表 score [78, 92, 65, 88, 70]1.在索引2的位置插入数字952.删除列表中数值最小的元素3.将最后一个元素修改为1004.打印处理完成后的完整列表score[78,92,65,88,70] #1. score.insert(2,95) #2 #创建临时变量 tempscore[0] #定义最小…

📅 2026/8/22 20:33:39
MORE NEWS

更多资讯

📰

增广拉格朗日算法原理与MATLAB实现:从罚函数到乘子迭代

简介:增广拉格朗日算法是求解带约束非线性优化问题的经典迭代方法,它结合拉格朗日乘子法与惩罚函数法的优点,通过引入惩罚项和增广乘子逐步逼近最优解,被广泛应用于图像处理、机器学习、信号处理等领域。这份MATLAB源码针对这类需…

📰

小波变换偏振图像融合:原理、算法与Python实现

简介:面向图像处理、遥感及医学成像等领域的算法研究者与学习者,这份资源聚焦“偏振图像小波变换”的融合技术,解决如何利用小波多分辨率分解将两个正交偏振图像有效整合、提升目标识别与图像质量的问题。压缩包内共4个文件,包含1…

📰

AI哲学写作:当机器开始思考自我与认知边界

1. 当AI开始思考"我是谁" 那天深夜调试代码时,我突然对着屏幕问自己:如果此刻的代码注释是AI生成的,那究竟算是"我"在写代码,还是某个硅基意识在通过我的手指表达?这个荒诞的念头引出了更深的困惑…

📰

堆叠自动编码器在电力系统暂态稳定评估中的应用与MATLAB实现

简介:这是一套基于堆叠自动编码器(SAE)的电力系统暂态稳定评估Matlab仿真模型,适用于本科、硕士阶段进行智能算法与电力系统交叉方向的教研学习,也适合对神经网络预测、信号处理等方向感兴趣的开发者参考。压缩包共9个…

📰

drawio-desktop 打开 vsdx,3 条命令批量导出成 PNG

drawio-desktop 打开 vsdx,3 条命令批量导出成 PNG 【免费下载链接】drawio-desktop Official electron build of draw.io 项目地址: https://gitcode.com/GitHub_Trending/dr/drawio-desktop 同事发来一张 .vsdx 格式的架构图,你的 Mac 打不开它…

📰

CBox央视影音客户端下载安装教程

概述 CBox 央视影音是央视网(中国网络电视台 CNTV)出品的官方视频客户端,提供央视及百余路卫视、地方频道的电视直播、时移回看、节目点播等功能,全部免费。本文讲清安装与核心功能使用。 一、下载与安装 从 CBox央视影音下载中…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬