DimOS手机遥操作:3步用智能手机搭建机器人操控通道的完整指南
2026/9/16 19:14:39 网站建设 项目流程

DimOS手机遥操作:3步用智能手机搭建机器人操控通道的完整指南

【免费下载链接】dimosDimensional is the agentic operating system for physical space. Command humanoids, quadrupeds, drones, and other hardware platforms in natural language and build multi-agent systems that work seamlessly with physical input (cameras, lidar, actuators).项目地址: https://gitcode.com/GitHub_Trending/dimo/dimos

DimOS(Dimensional)是一个面向物理空间的大模型智能体操作系统,你可以用自然语言指挥人形机器人、四足机器狗和无人机。它的手机遥操作(Phone Teleop)功能更实用:只需一部智能手机,就能通过倾斜手势实时驾驶机器人——无需摇杆、无需额外硬件,手机浏览器就是操控台。

为什么需要手机遥操作?

拿到机器人后,第一件事往往是安全地"摸一遍"它:测试运动是否平滑、感知是否正常。这时一个低延迟、低成本的远程操控通道至关重要。

DimOS 的答案很聪明:把手机的运动传感器(加速度计 + 陀螺仪)变成摇杆——

  • 📱 不需要安装任何 App,浏览器直接打开
  • 🎮 不需要遥控器,倾斜手机即可驾驶
  • 🛡️ 松手即停,天然带安全机制

架构一览:手机到机器人的 3 跳链路

整个通道非常简洁(架构说明见 dimos/teleop/phone/README.md):

手机浏览器(传感器 + 按住按钮) ↓ WebSocket内置 HTTPS 服务器(端口 8444) ↓PhoneTeleopModule(姿态增量 → 速度指令) ↓TwistStamped 速度指令→ 机器人运动

几个值得注意的设计:

  1. HTTPS 是必须的:移动端传感器 API 仅在安全上下文下可用,所以模块内嵌了一个 FastAPI + uvicorn 服务器,并自动生成自签名证书(见 dimos/web/robot_web_interface.py)。
  2. 50Hz 控制循环:模块以 50 赫兹读取传感器状态并计算输出,保证操控手感平滑。
  3. 按住才生效:只有按住屏幕按钮时遥操作才处于激活状态,松开立刻停止发布指令。

快速上手:3 步完成手机遥操作

第 1 步:启动预接线蓝图

一条命令即可,系统会自动把遥操作模块和机器人蓝图连好(预置配置见 dimos/teleop/phone/blueprints.py):

dimos run teleop-phone-go2 # 手机 → 宇树 Go2 机器狗 dimos run teleop-phone # 手机 → 通用轮式底盘

第 2 步:手机浏览器打开遥操作页面

在手机上访问:

https://<主机IP>:8444/teleop

接受自签名证书警告 → 允许浏览器使用运动与方向传感器→ 点击 Connect。

第 3 步:按住按钮,倾斜驾驶

按住屏幕上的遥操作按钮进入激活状态,此时:

手机动作机器人响应
手机向前倾(俯仰)向前行驶
手机向右侧倾(横滚)向右横移
手机快速转动原地旋转

松开按钮,机器人立刻停止。

倾斜是如何变成速度的?

核心逻辑在 dimos/teleop/phone/phone_teleop_module.py 中:

  • 按下按钮的瞬间,系统记录当前手机姿态作为"零位"基准
  • 之后的所有计算都是相对增量——所以激活时手机朝哪边放都没关系,自然拿着即可
  • 默认增益(可在PhoneTeleopConfig中调整):
    • 线性增益:倾斜 30° ≈ 1.0 m/s
    • 角增益:30°/s 角速度 ≈ 1.0 rad/s
  • 偏航角做了 180° 回绕处理,转圈时不会"跳变"

SimplePhoneTeleop扩展(dimos/teleop/phone/phone_extensions.py)会把输出过滤到移动底盘最需要的三个轴:前后(linear.x)、横移(linear.y)、转向(angular.z),直接发布为标准cmd_vel兼容的 Twist 消息。

预置蓝图:从单狗到多机编队

blueprints.py 中开箱即用:

  • teleop-phone—— 通用地面机器人
  • teleop-phone-go2—— 宇树 Go2 单机
  • teleop-phone-go2-fleet——一部手机同时驾驶整个 Go2 编队(Twist 指令广播给所有机器人)

想接自己的机器人?PhoneTeleopModule专为继承设计,只需重写_handle_engage()(激活逻辑)或_publish_msg()(输出格式),注意重写方法里不要再加锁(控制循环已持有锁)。完整扩展指南见 dimos/teleop/README.md。

安全设计:为什么松手就停

手机遥操作最大的风险是"手机一抖机器人乱跑"。DimOS 用三层设计兜底:

  1. 按住才生效(hold-to-drive):按钮抬起的瞬间立即退出激活并停止发布
  2. 增量式控制:只响应激活之后的姿态变化,手机放稳时输出为零
  3. 增益可调:增益偏保守(30° 才到 1 m/s),新手不会一上手就油门到底

关键文件导读

文件内容
dimos/teleop/phone/phone_teleop_module.py遥操作核心模块:WebSocket 接收、姿态差计算、指令发布
dimos/teleop/phone/phone_extensions.pySimplePhoneTeleop:底盘三轴过滤
dimos/teleop/phone/blueprints.py预接线蓝图(Go2 / Go2 编队)
dimos/teleop/README.md遥操作栈总览(WebXR + 手机)
docs/capabilities/teleoperation/hosted.md托管式遥操作(跨公网 WebRTC 方案)

写在最后

如果你只是想"用手机的 WebXR 头显版本"(Meta Quest / PICO),同目录下的 dimos/teleop/webxr/ 提供了dimos run teleop-webxr-rerun一键体验。而手机方案的优势在于——它真的就在你口袋里

从一条dimos run命令到手机倾斜驾驶机器狗,中间只有 8444 端口的一次握手。这就是 DimOS 手机遥操作的完整故事。

【免费下载链接】dimosDimensional is the agentic operating system for physical space. Command humanoids, quadrupeds, drones, and other hardware platforms in natural language and build multi-agent systems that work seamlessly with physical input (cameras, lidar, actuators).项目地址: https://gitcode.com/GitHub_Trending/dimo/dimos

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询