ardupilot开发 --- 视觉伺服 篇

风驰电掣云端飘,相机无法对上焦

  • 视觉伺服分类
  • 视觉伺服中的坐标系
  • 成像模型推导
  • IBVS推导
  • 参考文献

视觉伺服分类

控制量是在图像空间中推导得到还是在欧式空间中推导得到,视觉伺服又可以分类为基于位置(PBVS)和基于图像的(IBVS)视觉伺服。
在这里插入图片描述

视觉伺服中的坐标系

  • 概述
    世界坐标系W:用于测量(估计)飞机、机器人的位姿(位置和姿态)。
    飞机机体坐标系B:最终运动控制量应转换到这个坐标系。
    目标机体坐标系O:用于描述目标物体与相机间的位姿,用于描述相机坐标系和目标机体坐标系之间的位姿关系。
    相机坐标系C:是推导IBVS最重要的坐标系。
    图像坐标系I:是描述特征点运动状态的坐标系。
    像素坐标系P:最终的图像数据最终以该坐标系的形式存储信息。
  • 表示
    W 即 world,表示世界坐标系,E即 end,表示末端坐标系,类似还有I表示 image,O表示 object,C 表示 Camera等。而各种坐标系齐次变换矩阵T的左上标表示转换后的坐标系,右下标表示转换前的坐标系。如 w T c ^{w}T_c wTc表示从末端坐标系E到世界坐标系E的齐次变换矩阵(齐次变换矩阵即旋转变换和位移变换融合到了一个矩阵当中)。
    在这里插入图片描述

成像模型推导

  • 相关概念:透视投影模型。

  • 这篇文章讲的很好: 深蓝AI:经典干货|相机模型与张氏标定。参考了这篇文章。

  • 小孔成像模型
    光心位于成像平面的前方,成倒立的像,这样不方便IBVS的推导。
    在这里插入图片描述

  • 透视投影模型
    光心位于成像平面的后方,成正立的实像,更符合实际成像过程,方便IBVS的推导。
    在这里插入图片描述

  • 世界系、相机系、图像系、像素系的轴向、原点位置示意图
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    相机系记作O-XcYcZc
    图像系记作o-xy
    像素系记作o-uv
    相机坐标系的原点在光心,Xc水平向右,Yc轴竖直向下,Zc轴水平向前。
    图像坐标系的原点在Zc轴与成像平面的交点处,x、y轴分别与Xc、Yc轴同向。
    像素坐标系的原点在成像平面的左上角,u、v轴分别于x、y轴同向。
    图像系原点在像素系中的坐标为【u0,v0】,也被称为主点坐标。
    相机系原点到成像平面的距离为f,即焦距。

  • 像素系坐标与图像系坐标间的关系,(式1)
    在这里插入图片描述
    其中【u0,v0】是图像系原点在像素系中的坐标。px,py是图像系中 xy 轴的单位长度对应的像素个数。

  • 图像系坐标与相机系坐标间的关系,(式2)
    在这里插入图片描述
    其中,f 是相机焦距,Zc 是目标点(被拍摄的点)在相机系中的Z轴坐标值。

  • 相机内参
    上述提到的参数 u0,v0,px,py 被称为相机的内参,通过相机标定得到。

IBVS推导

在这里插入图片描述
世界3维空间中的一点P,
在相机系中的坐标表记作【X,Y,Z】;
在图像系中的坐标记作【x,y】;
在像素系中的坐标记作【u,v】;
记相机的6自由度运动状态(相机坐标系的运动)为:
V c = [ v x , v y , v z , w x , w y , w z ] T V_c=[v_x,v_y,v_z,w_x,w_y,w_z]^T Vc=[vx,vy,vz,wx,wy,wz]T
根据物体的旋转运动和直线运动的经典公式,可得到下面 (式3)
在这里插入图片描述
将(式2)对时间求导可得 (式4)
在这里插入图片描述
将(式2)和(式3)代入(式4)可得 (式5)
在这里插入图片描述
写成矩阵形式 (式6)
在这里插入图片描述
其中Ls被称为图像雅可比矩阵或相互作用矩阵,s被称为视觉特征 (式7)
在这里插入图片描述
记视觉特征s的期望值为sd,则视觉特征误差为 (式8):
s e = s − s d s_e=s-s_d se=ssd
因为sd是常量因此有 (式9)
s ˙ d = 0 \.s_d=0 s˙d=0
将(式8)对时间求导,得到误差系统的状态空间方程 (式10)
s ˙ e = s ˙ − s ˙ d = L s V c \.s_e=\.s-\.s_d=L_sV_c s˙e=s˙s˙d=LsVc
设计一个控制律Vc使得(式10)表示的误差系统的全部状态可以随着时间呈指数衰减到0,即控制律使得最终的误差系统变成如下形式 (式11)
s ˙ e = − λ s e \.s_e=-\lambda s_e s˙e=λse
那么可以反推出控制律要满足 (式12)
V c = − λ L s + s e V_c=-\lambda L_s^+ s_e Vc=λLs+se
其中 L s + L_s^+ Ls+ L s L_s Ls的广义逆矩阵, λ \lambda λ是一个常量。

待续…

参考文献

https://zhuanlan.zhihu.com/p/422634446
https://zhuanlan.zhihu.com/p/389903710
深蓝AI:经典干货|相机模型与张氏标定
论文-基于无标定视觉伺服的定位研究

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法设计与分析:并查集法求图论桥问题

目录 一、实验目的 二、问题描述 三、实验要求 四、算法思想 1. 基准算法 1.1 算法思想 1.2 代码 1.3 时间复杂度 2. 使用并查集的高效算法 2.1 算法思想 2.2 代码: 2.3 时间复杂度: 五、实验结果 一、实验目的 1. 掌握图的连通性。 2. 掌…

MySQL数据库初体验+数据库管理(其一)

【1】 操作系统介绍: Linux操作系统有 RedHat CentOS Debian Ubuntu OpenSUSE 信创标准 国产系统 : 华为(欧拉) 阿里(龙蜥) 腾讯 (tencentOS) 麒麟&#xf…

cefsharp 修改请求头request.Headers,以实现某种请求验证(v100+已测试)含主要源码和注释

(一)目的:cefsharp实现修改请求头 Tip:网上搜的很多代码都无法实现(要么版本较低,方法有变,要么就行不通),较多的错误是:集合属性只读。其中一个bili网友的测试方法注解一张图,但没有具体代码。参考一下。 (二)实现方法 2.1 创建对象 ChromiumWebBrowser home…

台式扫描电镜低真空和高真空区别

台式扫描电镜的低真空和高真空模式主要有以下区别: 1. 真空条件:在高真空模式下,扫描电镜工作在高度真空的环境中,通常要求真空度优于\(10^{-3}\) Pa。而低真空模式则允许样品室的真空度相对较低,通常在1~…

08.QT控件:QWidget

一、Widget 简介 Widget 是 Qt 中的核⼼概念.。英⽂原意是 "小部件",我们此处也把它翻译为 "控件"。控件是构成⼀个图形化界⾯的基本要素。 Qt 作为⼀个成熟的 GUI 开发框架, 内置了⼤量的常⽤控件。并且 Qt 也提供了 "⾃定义控件" 的…

Mysql简述

Java - sql语句学习 sql分类 sql语句 sql数据类型

2024考古之还在用原始JDBC开发 手搓 案例 实现一个模块的增删改

JDBC案例 将来如果完成的话 就代表对JDBC里面的知识点全部融会贯通了 其实就是对数据的增删改查 我们入门做不出来前端的内容 很正常 准备环境 建表 use mybatis;create table tbl_brand (id int primary key auto_increment,brand_name varchar(20),company_name varcha…

java数据结构-链表经典习题

前言 上一篇讲解了链表的基本操作详解,接下来练习一下链表的应用。 目录 1.删除链表中等于给定值 val 的所有节点。 题解思路 2.反转一个单链表 思路分析 画图分析 代码实现 3.链表的中间结点 思路分析 画图分析 代码实现 4.链表中倒数最后k个结点 第一解决…

RS-485和RS-422通信的3.3V低功耗收发器MAX3483

描述 多数公司的MAX3483速率为:250kbps; Analog Devices公司的MAX3483速率为10Mbps。 国产MAX3485外观和丝印 该MAX3483ESA为15kV ESD保护、3.3V、低功耗收发器,用于RS-485和RS-422通信。 每个设备包含一个驱动器和一个接收器。 该MAX3483E…

Open3D通过索引提取点云

目录 一、概述 二、代码实现 2.1关键函数 2.2 完整代码 三、实现效果 3.1原始点云 3.2提取后点云 一、概述 在 Open3D 中,通过索引提取点云是一种常见且有效的操作,特别适用于需要处理点云子集的场景,例如提取特定区域的点、降采样、或…

CPsyCoun:心理咨询多轮对话自动构建及评估方法

CPsyCoun: A Report-based Multi-turn Dialogue Reconstruction and Evaluation Framework for Chinese Psychological Counseling 在大模型应用于心理咨询领域,目前开源的项目有: https://github.com/SmartFlowAI/EmoLLM (集合,…

query2doc:用大模型做query检索拓展

原文: 前沿重器[38] | 微软新文query2doc:用大模型做query检索拓展 比较主流的检索方案: 字面检索(sparse,稀疏)向量检索(dense,稠密) query对文档文段的召回&#xff…

如何在Ubuntu上安装WordPress

如何在Ubuntu上安装WordPress 执行系统更新 apt update && apt upgrade第一步 安装 Apache apt install apache2确认 Apache 安装是否成功. systemctl status apache2安装成功后 打开浏览器输入 http://server-ip-address 第二步 安装 MySQL apt install mariad…

大模型揭秘:AI与CatGPT在实体识别中的创新应用

摘要 尽管大规模语言模型 (LLM) 在各种 NLP 任务上已经取得了 SOTA 性能,但它在 NER 上的性能仍然明显低于监督基线。这是由于 NER 和 LLMs 这两个任务之间的差距:前者本质上是序列标记任务,而后者是文本生成模型。在本文中,我们…

劳易测应用案例:包装机械设备风险评估

提起机器风险评估,客户经常会问 “机器存在哪些风险?”、“如何识别并防止风险?”、“如何依据安全标准对机器进行改造与升级?”以及“如何确保机器符合安全要求?等等。 机器风险评估是什么? 机器风险评估是…

鸿蒙HarmonyOS服务卡片实战

引言 在现代开发中,服务卡片是不可或缺的一部分,比如音乐,天气类等应用,官网的介绍中写道:卡片让您便捷地预览服务信息,例如查看天气或日历日程等内容。您可将卡片添加到屏幕上,让这类信息触手…

【大数据】Hadoop学习笔记

基本概念 Hadoop组成 HDFS: Hadoop分布式文件存储系统, 在Haddop中处于底层/核心地位YARN: 分布式通用的集群资源管理系统和任务调度平台, 支撑各种计算引擎执行MapReduce: 第一代分布式计算引擎, 但因为部分原因, 许多企业都不直接使用MapReduce, 但许多底层软件仍然在使用Ma…

SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SET

文章目录 SQL Server - ROLLUP、GROUPING、CUBE、GROUPING SETROLLUP函数GROUPING函数GROUPING SET函数CUBE函数网上例子 写在前面:如果我们想要对分组之后的数据进行类似小计的计算,那么就需要使用到下面的函数 SQL Server - ROLLUP、GROUPING、CUBE、G…

PR模板 | RGB特效视频标题模板Titles | MOGRT

RGB特效视频标题模板mogrt免费下载 4K分辨率(38402160) 支持任何语言 友好的界面 输入和输出动画 快速渲染 视频教程 免费下载:https://prmuban.com/39055.html 更多pr模板视频素材下载地址:https://prmuban.com

【网络协议】精讲TCP通信原理!图解超赞超详细!!!

亲爱的用户,打开微信,搜索公众号:“风云说通信”,即可免费阅读该文章~~ 目录 1. 建立连接 2. 数据传输 3. 断开连接 4. 抓包分析 前言 TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种端…