# nuxyz **Repository Path**: osr-tech/nuxyz ## Basic Information - **Project Name**: nuxyz - **Description**: 电动三轴平台精准定位工具,用于控制三轴平台的 Python 包,支持 USB HID 通信和 JupyterLab 交互式 GUI 界面。 - **Primary Language**: Python - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-03 - **Last Updated**: 2026-02-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎯 nuxyz: OSR电动三轴平台精准定位工具 > **版权声明** > 本项目仅用于学习科研使用,如果您需要将本项目代码用于商业产品,请联系我们(sales@osr-tech.com)获取商业许可证。 > 如果本项目对您的研究和实验有帮助,可在工作中引用本工程,并推荐给其他人,我们不胜感激!

OSR电动三轴平台

用于控制OSR电动三轴平台的 Python 包,支持 USB HID 通信和 JupyterLab 交互式 GUI 界面。 ## 🌟 功能特性 - **⚡ 精确三轴控制** - 支持 X、Y、Z 三轴高精度位移控制 - **🔄 双坐标系统** - 支持绝对坐标(硬件原点)和软件坐标(用户自定义原点) - **🖥️ 交互式 GUI** - 基于 JupyterLab 的图形化控制界面 - **📐 扫描区域规划** - 通过左上角和右下角定义扫描区域,自动生成扫描点网格 - **📊 坐标可视化** - 使用 plotly 显示扫描点和记录点,支持背景图片叠加 - **🕹️ 连续移动** - 支持操纵杆式连续移动操作 - **⌨️ 键盘控制** - 支持方向键和 PageUp/PageDown 控制移动 ## 📦 安装 下载whl 安装包,使用 pip 进行安装。 ```bash pip install nuxyz-*.whl ``` ## 🚀 快速开始 ### 基本使用 ```python import nuxyz # 初始化三轴平台(自动连接第一个找到的设备) t = nuxyz.XYZGUI() # 或指定序列号连接 t = nuxyz.XYZGUI(serial_number='315B36633033') # 显示控制面板 t.pannel # 获取当前坐标 t.get_xyz() # 移动到指定坐标点 t.move_xyz(20516, -3885, 8734) ``` ### 🎮 控制面板功能 `t.pannel` 面板提供以下功能: - 📍 移动到指定坐标点 - 🔄 刷新当前坐标点 - 🎯 设置当前坐标点为相对坐标系原点 (0, 0, 0) - 🏠 自动校准,回到绝对坐标原点 控制方式: - 🖱️ 鼠标点击界面箭头图标 - ⌨️ 键盘快捷键:`↑` `↓` `←` `→` 控制 X/Y 轴,`PageUp` `PageDown` 控制 Z 轴 ### 📐 扫描工作流程 ```python # 1. 设置软件原点(可选) t.set_soft_origin() # 2. 移动到扫描区域左上角并记录 t.set_top_left_corner() # 3. 移动到扫描区域右下角并记录 t.set_bottom_right_corner() # 4. 计算扫描点列表(5行 x 5列 = 25个点) scan_points = t.compute_scan_point_list(5, 5) # 5. 查看扫描点可视化 t.view_records() # 6. 执行扫描 import time for pos in scan_points: t.move_xyz(*pos) time.sleep(0.05) # 在此执行测量操作 ``` ### 👁️ 坐标记录可视化 ```python # 显示坐标记录界面 t.view_records() ``` `view_records()` 界面支持: - 🖼️ 加载芯片表面图片作为背景 - 📍 直观查看扫描点相对于芯片的位置 - 🖱️ 点击坐标点更新 X、Y、Z 坐标值 ## 📖 使用示例 详见 examples 中的 notebook。