惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
D
Docker
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
The Cloudflare Blog
雷峰网
雷峰网
A
About on SuperTechFans
小众软件
小众软件
博客园 - Franky
博客园 - 聂微东
F
Full Disclosure
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
MongoDB | Blog
MongoDB | Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
V
V2EX
Engineering at Meta
Engineering at Meta
宝玉的分享
宝玉的分享
aimingoo的专栏
aimingoo的专栏
量子位
P
Proofpoint News Feed
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
罗磊的独立博客
Martin Fowler
Martin Fowler
D
DataBreaches.Net
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Secure Thoughts
Project Zero
Project Zero
L
LangChain Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
S
Schneier on Security
Blog — PlanetScale
Blog — PlanetScale
The Hacker News
The Hacker News
Spread Privacy
Spread Privacy
Security Latest
Security Latest
NISL@THU
NISL@THU
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
J
Java Code Geeks

博客园 - Fitz

测绘中2个角度相减对于跨360问题的算法总结 windows server2012 安装IIS6服务,编译器错误消息: CS0016: 未能写入输出文件“c:\*\App_Code.*.dll”--“拒绝访问。 ” - Fitz ollama 安装好之后,是不是还需要关闭一些配置? 赫尔默特变化 A=0的情况 libaom 在ubuntu 上用鸿蒙OHOS编译 如何将带有线网卡和无线网卡的台式机作为网关/路由器 相机标定 像元大小(例如 1.4 µm × 1.4 µm)具体的含义和用途 物理焦距、像素焦距、像元与相机内参(fx, fy)的意义与作用 如何使用像素坐标和相机内参来计算夹角 HarmonyOS Next Native C++ 开发入门 Ubuntu中用HarmonyOS Next的SDK编译libsodium,并在DevEco Studio中加载运行.a库 windows 编译rustdesk The authenticity of host '[ssh.github.com]:443([*]:443)' can't be established. ED25519 key fingerprint is matlab 无深度方向估计 Ubuntu 安装conda 拍摄目标:采集 1000 张多样化的图片,覆盖目标的各种环境、角度、光照、尺寸和位置,提高模型的泛化能力。 android APK的MD5值获取有效办法 3D 汽车模拟器 Three.js
云台控制 根据图像中目标位置,控制望远镜/摄像头转向目标方向
Fitz · 2025-06-18 · via 博客园 - Fitz

非常好!你现在已经具备了图像坐标 → 望远镜方向角度的计算能力,接下来要做的“云台控制”逻辑,可以直接基于你计算出来的水平夹角垂直夹角进行控制。


✅ 总体控制流程

🎯 目标:

根据图像中的目标像素位置 (u, v),控制云台电机朝向目标,使其出现在图像中心。


✅ 流程步骤图解:

目标点(u, v)
    ↓
相机内参 fx, fy, cx, cy
    ↓
反投影为单位向量 dir (x, y, z=1)
    ↓
结合望远镜偏移 (水平118mm,垂直55.5mm)
    ↓
计算方向向量在望远镜坐标系下的夹角 (Δyaw, Δpitch)
    ↓
当前云台角度 + Δyaw/Δpitch → 新目标角度
    ↓
发送角度控制命令给云台

✅ 示例代码:从像素控制云台转向

以下是结合之前函数 + 云台控制伪代码的完整结构:

// 计算像素点偏移角度
std::pair<double, double> pixelToDeltaAngle(...) {
    // 同之前的 pixelToTelescopeAngle 函数
    return {deltaYaw, deltaPitch};
}

void moveGimbalToTarget(
    double u, double v,
    double fx, double fy, double cx, double cy,
    double offsetX, double offsetY,
    double currentYaw, double currentPitch
) {
    auto [deltaYaw, deltaPitch] = pixelToDeltaAngle(u, v, fx, fy, cx, cy, offsetX, offsetY);

    double newYaw   = currentYaw   + deltaYaw;
    double newPitch = currentPitch + deltaPitch;

    // 限制角度范围
    newYaw   = std::clamp(newYaw,   -180.0, 180.0);
    newPitch = std::clamp(newPitch, -90.0, 90.0);

    // 发送指令给云台(伪代码)
    sendYawPitchToGimbal(newYaw, newPitch);
}

✅ 云台控制注意事项

问题建议
云台是否支持角度控制? 通常需要支持绝对角度或增量控制接口
控制频率 实时跟踪建议 10~30Hz
有无延迟? 实时反馈云台角度,避免过冲
图像抖动 建议使用滤波器(如卡尔曼、指数平滑)
目标丢失 超时保持/复位角度

✅ 效果图示意

   ↑ 相机画面中心
   ┌──────────────┐
   │              │
   │     ◉        │ ← 目标
   │              │
   └──────────────┘
      ↓
计算出该点比画面中心:
   → 偏左 12°,偏上 3°
      ↓
发送指令:
   → 云台左转 12°,上抬 3°

✅ 下一步(可选)

如果你想:

  1. 自动持续追踪目标(跟踪算法 + 云台联动)

  2. 在嵌入式平台上运行(如 RK、树莓派、STM32 控制云台)

  3. 使用 OpenCV 自动检测目标并闭环控制

我可以给你提供完整的系统方案或代码模板。

是否希望我接下来帮你写:

  • 📌 sendYawPitchToGimbal 云台控制接口模板?

  • 📌 加上 OpenCV 自动目标检测并驱动云台的完整代码?