挂载和工作区转换
两种转换方式将该设备定位在应用领域中。了解 管道机制有助于您选择合适的转换方式。
坐标处理流程
| Stufe | 功能 | 设置 | 是永久的吗? |
|---|---|---|---|
| 基础 | 重新排列坐标轴(例如:Z轴在上 → Y轴在上) | session.configure.basis — 参见 教程 08 (HTTP 远程配置) | Ja |
| 蒙太奇-变形 | 设备的物理安装偏移(臂的位置、旋转、缩放) | configure.mount oder简体中文(大陆) configure.preset — 参见 教程 08 (HTTP 远程配置) | Ja |
| 工作区转换 | 在相机或场景导航时的偏移 | commands.set_transform — 参见 教程 09 (WebSocket 流媒体(按节拍)) | 是(永久保存) |
蒙太奇-变形
“安装”描述了设备在物理上的位置——其臂偏移量、 方向和缩放比例。该设置仅需设定一次(或当物理 布局发生变化时),在运行时很少更新。
预设(出厂设置)
与其自行计算装配,不如选择一个已命名的预设:
| 默认设置 | 初始位置 | 手臂的摆动方向 |
|---|---|---|
defaults | 设备基础 | 前部(手臂前侧) |
arm_front | 设备基础 | Vorne |
arm_front_centered | Workspace-Mitte | Vorne |
led_front | 设备基础 | 前部LED面板 |
led_front_centered | Workspace-Mitte | 前部LED面板 |
custom | 手动 — 自行设定安装方式 | — |
预设功能可一步完成装配、基准和工作区原点的设置。
直接设置蒙太奇
- WebSocket
- 超文本传输协定
{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
curl -X POST "http://localhost:10001/inverse3/049D/config/mount?session=:0" \
-H "Content-Type: application/json" \
-d '{"transform":{"position":{"x":0,"y":0,"z":0},"rotation":{"w":1,"x":0,"y":0,"z":0},"scale":{"x":1,"y":1,"z":1}}}'
mount und preset 相互排斥在同一条消息中同时发送这两项信息会产生歧义——该服务不支持此操作。
请选择其中一项:一个命名的 preset (由系统为您确定)或一个显式的
mount-转变。
贝姆 森登 通过一段蒙太奇,您将呈现这一转变: { "mount": { "transform": { … } } }.
贝姆 阅读 在“快照”中的一个拼贴中,它是平的: { "mount": { "position": …, "rotation": …, "scale": … } }.
这是有意为之——命令使用统一的 command_data-包装器、快照
将 core::transform direkt.
工作区转换
“工作区变换”是一种基于组装的运行时漂移。 其典型的应用场景是场景导航——在设备物理位置保持不变的情况下,对 应用程序视图进行平移、旋转或缩放。
无论是“Montage”还是“Workspace”转换,都是永久性的——该服务会记住 上次发送的值。两者的区别在于用途和性能:
- 蒙太奇的设计初衷是“设置一次,长期保持不变”——它描述了物理 结构,并针对偶尔的更新进行了优化。
- Workspace-Transformation专为高频流式传输而设计 (例如,在相机导航过程中每帧一次)——其内部处理流程已 针对该更新率进行了优化。
- WebSocket
- 超文本传输协定
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_transform": {
"transform": {
"position": { "x": 1.0, "y": 0.0, "z": 0.0 },
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
curl -X POST "http://localhost:10001/inverse3/049D/state/transform?session=:0" \
-H "Content-Type: application/json" \
-d '{"transform":{"position":{"x":1,"y":0,"z":0},"rotation":{"w":1,"x":0,"y":0,"z":0},"scale":{"x":1,"y":1,"z":1}}}'
GET 返回当前的变换; DELETE 将其重置为该恒等式。
安装或工作空间的缩放会改变设备产生的力,因为缩放会影响 穿透深度 会影响用于计算接触力的参数。例如,将比例因子调整为 2x 穿透深度约为(虚拟场景的大小是设备行程的两倍),因此产生的力约为 halb 和……一样大 1x. 反之,将 0.5x 力值大约为。
这通常是期望的行为:当从触觉场景中缩小视图时,接触力会自然变弱(因为接触点“更远”了);而放大视图时,接触力则会变强。如果这不是期望的行为——例如,当用户缩放时需要保持刚度恒定时——您可以通过使力增强值与缩放比例成反比来加以补偿。
如果您需要持续移动(气泡导航、带速度控制的漂移),
请使用 导航模块,而不是 set_transform 在每个节拍中
手动进行流式传输——它会为您处理物理模拟、触觉
反馈以及工作区限制。