Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beam Stabilizer Live Control

实时光束稳定控制台。程序用本地 HTTP 服务承载浏览器界面,连接两台迈德威视相机和一台 Thorlabs KIM101/PIAK10 四轴执行器,实现:

  • 显示两路真实相机画面和实时中心位置曲线
  • 切换深色、浅色、石墨和高对比主题
  • 自定义显示项,隐藏不需要的指标、相机、曲线或控制面板
  • 使用可收起侧边栏按总览、相机、曲线、控制、设置分类
  • 自动 PID 闭环稳定
  • 手动模式下逐轴调节两面可调反射镜角度
  • 保存多个镜架位置,并一键切换到目标位置
  • 可调采样周期
  • 可选记录中心位置 CSV 和压缩 JPEG 相机画面

v1.0.1 一键安装版

从 GitHub Releases 下载对应系统的安装包:

  • Windows x64:BeamStabilizerLiveControl-v1.0.1-windows-x64-setup.exe
  • macOS Intel:BeamStabilizerLiveControl-v1.0.1-macos-intel-installer.pkg
  • macOS Apple Silicon:BeamStabilizerLiveControl-v1.0.1-macos-apple-silicon-installer.pkg

安装完成后从开始菜单或 Applications 启动。程序会启动本地 HTTP 服务并自动打开浏览器控制台。

默认地址:

http://127.0.0.1:8770/

安装包没有代码签名时,系统可能会显示安全提示。Windows 可选择“更多信息 -> 仍要运行”;macOS 可右键安装包选择打开,或在终端执行:

xattr -dr com.apple.quarantine <下载的pkg文件>

如果需要免安装便携版,同一 release 里也保留 ZIP 包。

运行

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python live_control.py

默认打开:

http://127.0.0.1:8770/

如果不想自动打开浏览器:

python live_control.py --no-browser

指定端口:

python live_control.py --port 8772

硬件要求

  • MindVision/迈德威视 SDK,默认 DLL 路径: C:\Program Files (x86)\MindVision\SDK\X64\MVCAMSDK_X64.dll
  • Thorlabs Kinesis,默认路径: C:\Program Files\Thorlabs\Kinesis
  • Python 包:见 requirements.txt

网页连接面板里可以修改 KIM101 序列号、两台相机匹配字符串、镜架杠杆臂、PIAK10 单步位移和 SDK DLL 路径。

使用方式

  1. 启动 python live_control.py
  2. 在浏览器连接面板填写硬件参数并点击连接。
  3. 确认两台相机画面和 center position 曲线正常刷新。
  4. 用左侧侧边栏在总览、相机、曲线、控制、设置之间切换。
  5. 在设置页按需要选择主题,并勾选要显示的指标、相机、曲线和控制面板。
  6. 用手动模式按钮进入手动调节,按轴微调镜架角度。
  7. 调到目标位置后输入名称并保存位置,之后可从下拉框一键切换。
  8. 开启闭环后,PID 会基于两相机中心偏移驱动镜架稳定光束。

主题和显示项保存在浏览器 localStorage 中,只影响当前浏览器界面,不改变硬件控制参数。

数据保存

保存功能默认只记录中心位置,空间开销很小:

live_records/record_YYYYMMDD_HHMMSS/centers.csv

勾选“同时保存相机图”后,会额外保存两路灰度 JPEG:

live_records/record_YYYYMMDD_HHMMSS/cam800/*.jpg
live_records/record_YYYYMMDD_HHMMSS/cam590/*.jpg

可以用保存间隔控制图像抽样,例如每 10 帧保存 1 帧,避免长时间实验占用过多磁盘空间。

文件说明

  • live_control.py:浏览器控制台和 HTTP API
  • stabilizer_loop.py:后台取流、质心、PID、执行器驱动和记录
  • optics_geometry.py:3D 光路响应矩阵
  • beam_analysis.py:亮心质心算法
  • hardware/:MindVision 相机和 Thorlabs KIM101 驱动

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages