Skip to main content
移动一台 Rotrics Dexarm 去按被测设备的按键、放置夹具,或者操作任何需要一只实体手的东西。所有坐标的单位都是毫米。

句柄

方法

类型

ArmPosition

方法参考

position() -> Result<ArmPosition>

末端执行器的当前位置,单位毫米。

move_to(x: f64, y: f64, z: f64) -> Result<ArmPosition>

绝对移动。
返回: 移动之后的位置。

move_by(dx: f64, dy: f64, dz: f64) -> Result<ArmPosition>

相对移动;返回新位置。

move_to_with_timeout(...)move_by_with_timeout(...)

同样的移动,但带一个以秒为单位的显式 Box 侧超时,供需要超过默认 15 秒的移动使用。客户端会把自己的 HTTP 预算相应放宽。

go_home() -> Result<()>

移到归位位置,X0 Y300 Z0。

enable_motor() -> Result<()>disable_motor() -> Result<()>

给步进电机通电或者释放它们。
被释放的机械臂是可以反向拖动的,并且会在自身重量下下垂。当机械臂位于工件或已贴装的电路板上方时,不要让电机停留在断开状态。

read_and_save_position() -> Result<ArmPosition>

读取当前位置并把它保存到机械臂上。

set_acceleration(acceleration: u32, travel_acceleration: u32, retract_acceleration: u32) -> Result<()>

设置加速度数值,单位 mm/s2。

示例

按一次按键,检查被测设备是否感知到了

受支持的硬件

说明

  • 坐标的单位是毫米,而且机械臂会自行强制执行它的工作空间范围。超出范围的目标会被拒绝,而不是被钳位。
  • 移动会阻塞在 Box 上,直到机械臂到达,因此不要围着一次移动做轮询。Box 侧默认的移动超时是 15 秒。
  • 非移动类动作有固定的 45 秒客户端预算,因为它们同样要访问串口,并且可能在设备锁上排在某次移动后面。
  • 机械臂是实体的,而且没有碰撞检测。在让测试无人值守运行之前,请清空它的工作空间。