SLAM中提到的相机位姿到底指什么?

不小心又绕进去了,所以掰一下。

以我个人最直观的理解,假设无旋转,相机在世界坐标系的(5,0,0)^T的位置上,所谓“位姿”,应该反映相机的位置,所以相机位姿应该如下:

    Eigen::Matrix4d T = Eigen::Matrix4d::Identity(); // 假设T是一个4x4的矩阵,初始化为单位矩阵T(0, 3) = 5.0;

但是根据我对位姿的这个理解,再结合高翔博士的《十四讲》第五章,第二版P99,世界坐标系的点变换到相机坐标系,是直接“左乘”“相机位姿”,Pc=T*Pw,那么这就出现了一些小问题

问题点:相机坐标是(5,0,0)^T,世界坐标点位置是(100,0,0)^T,相机坐标系下,这个点肯定是100-5,是(95,0,0)^T,但是又因为相机“位姿”是(5,0,0)^T,直接左乘相机“位姿”就得到了第一个结果"Pc=105 0 0",这明显和预期不一样,按照这种T的声明与定义,需要左乘T的逆才能得到预期的结果“Pc3 = 95 0 0 1”(齐次)

所以高翔博士提到的位姿是可以直接左乘的,和我认为的位姿是逆的关系。

根据习惯定义,想把Pw转换为Pc,应该是Pc=Tcw*Pw,高翔博士称为位姿的是Tcw。

根据主观习惯,相机在世界坐标系的位姿应该是Twc。想获得Pc应该是Pc=Twc^(-1)*Pw。

所以,我们产生了两种位姿描述。哪一种是正确的呢?很遗憾,我目前没有答案,网上搜到的一些关于位姿的解释则更加“和稀泥”,Tcw和Twc两种都可以叫位姿。根据有限的学识,我只能说我们清楚什么变换能干什么,能通过调整用法获得自己想要的结果就好,个别说法不能较真。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/149958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux gdb调试的时候没有对应的c调试信息库怎么办?

gdb 调试报错:Missing separate debuginfos, use: debuginfo-install glibc-2.17-260.el7_6.6.x86_64 在centos7上面gdb调试程序时候,报错信息是: Missing separate debuginfos, use: debuginfo-install glibc-2.17-157.el7_3.5.x86_64 解决…

Redis学习笔记14:基于spring data redis及lua脚本ZSET有序集合实现环形结构案例及lua脚本如何发送到redis服务器

案例实现目标,一、实现一个环形结构,环形结构上节点有一个阀值threshold,超过阀值则移除分数score最低的成员,不足则将当前成员添加进环中,且确保成员不可重复;二、每次访问环中的数据都需要刷新key的过期时间&#xf…

亚马逊云科技AI创新应用下的托管在AWS上的数据可视化工具—— Amazon QuickSight

目录 Amazon QuickSight简介 Amazon QuickSight的独特之处 Amazon QuickSight注册 Amazon QuickSight使用 Redshift和Amazon QuickSightt平台构建数据可视化应用程序 构建数据仓库 数据可视化 Amazon QuickSight简介 亚马逊QuickSight是一项可用于交付的云级商业智能 (BI…

基于circle group的Reed-Solomon codes

1. 引言 Polygon团队Ulrich Habock等人2023年论文 Reed-Solomon codes over the circle group。 前序博客有: Plonky3 Mersenne素数域的Reed-Solomon codes设计 STARKs支持任意size的域,而不要求是椭圆曲线。STARKs中在选择域size时,越小…

Unity中 Start和Awake的区别

Awake和Start在Unity中都是MonoBehaviour脚本中的生命周期函数 Awake函数在游戏对象首次被加载时调用,在游戏对象初始化之前调用。 start函数在游戏对象初始化完成后调用,在update第一次执行前调用。 这两个函数在其生命周期内都只会调用一次&#xf…

替换sql,某个字段特定容

要替换wp_posts表中的wp_posts.post_content字段中的特定文本,可以使用MySQL的UPDATE语句和字符串替换函数来实现。 sql:语句 UPDATE 表名 SET 字段名 REPLACE(字段名, 原本内容, 替换内容);请注意,执行这样的操作可能会对数据库产生较大的…

verilog语言中条件编译ifdef的使用和例子

1条件编译ifdef 如果ifdef后面的参数被编译过,则编译ifdef语句后的内容,忽略else后面的内容,如果ifdef后面的参数没有被编译过,则编译else语句后面的内容,条件编译的范围以ifdef开始,以endif结束&#xff…

Android studio访问选程https接口(.crt handshake)

如果服务器是https的,访问受限怎么办?有两种方法,一种是接受一切证书个人官方正式非正式,当然这样就牺牲了安全性,网上方法很多,我现在教大家如何去验证crt文件 首先服务器是https的,必然有几个…

js数组操作——对象数组根据某个相同的字段分组

js数组操作——对象数组根据某个相同的字段分组 可以使用JavaScript的map()方法和reduce()方法来实现将数组中包含的数组对象的某个字段整合为数组的操作。具体实现方法如下: 假设有以下数组对象arr:let arr [{name: Tom, age: 18, hobbies: [reading,…

SpringBoot的启动流程

一、SpringBoot是什么? springboot是依赖于spring的,比起spring,除了拥有spring的全部功能以外,springboot无需繁琐的xml配置,这取决于它自身强大的自动装配功能;并且自身已嵌入Tomcat、Jetty等web容器&am…

redis+python 建立免费http-ip代理池;验证+留接口

前言: 效果图: 对于网络上的一些免费代理ip,http的有效性还是不错的;但是,https的可谓是凤毛菱角; 正巧,有一个web可以用http访问,于是我就想到不如直接拿着免费的HTTP代理去做这个! 思路: 1.单页获取ipporttime (获取time主要是为了后面使用的时候,依照时效可以做文章) 2.整…

windows环境搭建Zblog博客并发布上线公网可访问

文章目录 1. 前言2. Z-blog网站搭建2.1 XAMPP环境设置2.2 Z-blog安装2.3 Z-blog网页测试2.4 Cpolar安装和注册 3. 本地网页发布3.1. Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕…

总结 CNN 模型:将焦点转移到基于注意力的架构

一、说明 在计算机视觉时代,卷积神经网络(CNN)几十年来一直是主导范式。直到 2021 年 Vision Transformers (ViTs) 出现,这个领域才开始发生变化。现在,是时候采用受 Transformer 架构启发的基于注意力的模型了&#x…

Springboot+vue的机动车号牌管理系统(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的机动车号牌管理系统(有报告)。Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的机动车号牌管理系统,采用M(model&#xff09…

项目九、无线组网

目录 1 配置AC使AP放出Wifi1.1 确保AP和AC三层互通且AP知道AC的IP1.1.1 配置管理SVI的IP1.1.2 该SVI配置DHCP下发IP给AP 1.2 AC为AP下发配置1.2.1 AC用哪个接口回复AP1.2.2 AC验证AP身份(可以不认证)1.2.3 配置ssid 文件确定Wifi名称1.2.4 配置security …

Mac开发指南

文章目录 1 前期准备1.1 brew1.2 tmux 1 前期准备 1.1 brew 用于下载软件 ubuntu用apt-get mac用brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"1.2 tmux

华纳云:租用的服务器连接超时怎么办?

服务器连接超时可能由多种原因引起,解决问题的方法取决于具体的情况。以下是一些常见的原因和相应的解决方法: 网络问题: 检查本地网络: 确保本地网络连接正常,尝试访问其他网站或服务,检查是否存在网络问题…

pnpm的安装及其使用

1、pnpm是什么 pnpm (performant npm,意思是高性能的 npm)是 Node.js 的替代包管理器。它是 npm 的直接替代品,速度更快、效率更高。为什么效率更高?当你安装一个包时,pnpm 将它保存在你机器上的一个全局存…

Java后台防止请求重复提交,拦截器+注解实现防止表单重复提交

一、前言 由于网络原因,用户操作有误(连续点击两次以上提交按钮),或者页面卡顿等原因,可能会出现请求重复提交,造成数据库保存多条重复数据。后端实现拦截器防重。 那么如何防止请求重复提交呢&#xff1f…

Apache Pulsar 技术系列 - 基于 Pulsar 的海量 DB 数据采集和分拣

导语 Apache Pulsar 是一个多租户、高性能的服务间消息传输解决方案,支持多租户、低延时、读写分离、跨地域复制、快速扩容、灵活容错等特性。本文是 Pulsar 技术系列中的一篇,主要介绍 Pulsar 在海量DB Binlog 增量数据采集、分拣场景下的应用。 前言…