Voice-Controlled Grasping Arm (reBot B601-DM) - 1
Voice-Controlled Grasping Arm (reBot B601-DM) - 2

Voice-Controlled Grasping Arm (reBot B601-DM)

Say "Hey Jarvis, grab the water bottle" and a reBot B601-DM arm finds the object with an RGB-D wrist camera and picks it up in ~11 s. Grasps boxes, bottles, bananas, cups and oranges via an open-vocabulary detector (YOLOE on TensorRT GPU) + 3D shape-descriptor grasp planner. Fully on-device voice stack — Qwen3 streaming ASR + MOSS-TTS-Nano speech synthesis + Qwen3.5-4B-AWQ with MTP speculative decoding on TensorRT-Edge-LLM — on Jetson Orin NX.

上級60min音声 AI
音声robotgraspingrebotJetsonorbbecrgbdyoloelocal-llmqwen3edge-llmasrttsmossoffline

Voice-Controlled Grasping Arm

Say "Hey Jarvis, grab the water bottle" — the arm looks at the table through its wrist-mounted RGB-D camera, finds the bottle, plans a grasp and picks it up, then tells you what it did. Everything runs on the Jetson: wake word, speech recognition, the LLM that parses your intent, object detection, grasp planning and speech synthesis. No cloud, no online API.

What it can grasp

ObjectStrategyStatus
Cardboard boxesside-face geometric grasp (multi-frame median, force 1.0 N·m)verified
Cups (opaque, short)side-face grasp, adaptive forceverified
Standing bottles (opaque)cylinder route: level side approach, mid-body grip, fixed 0.8 N·mverified
Bananaselongated route (grip across the long axis)verified
Orangesround route: level approach, equator-height gripverified
Transparent bottlesnot possible: stereo depth cannot see clear plastic + water

Objects too wide for the 0.100 m jaw get a spoken decline ("The box is too big for me to grip"). Detection runs on the GPU through a prebuilt native TensorRT engine: scene capture takes 0.6–1.6 s and a full voice-to-carry grasp cycle about 11 s.

How it works

reSpeaker mic ─▶ wake word ─▶ streaming ASR ─▶ Qwen3.5-4B (TensorRT-Edge-LLM)
                                                    │  grasp_object("water bottle")
                                                    ▼
                            Orbbec Gemini2 ─▶ YOLOE open-vocab detector (10 classes)
                                                    │  instance mask
                                                    ▼
                              depth cloud ─▶ PCA shape descriptor (elongation /
                              planarity / spine-bend) ─▶ route: box faces |
                              cylinder | elongated | round ─▶ 6-DoF grasp pose
                                                    │
                                                    ▼
                              reBot B601-DM: approach ─ grip (force-controlled)
                              ─ lift ─ carry home ─▶ TTS confirmation

Three containers, one compose file:

  • rebot-arm — the agent: wake word, camera, detection, grasp pipeline, arm control, dashboard (:8776) and observation API (:8775)
  • seeed-voice — streaming Qwen3 ASR + MOSS-TTS-Nano speech synthesis (:8621)
  • edge-llm — Qwen3.5-4B-AWQ on TensorRT-Edge-LLM with MTP speculative decoding, ~45 tok/s (:8000)

The detector takes its class vocabulary as a runtime input rather than baking it into the weights, so extending the recognizable object list is a config edit — no model re-export, no retraining.

The one manual step

Hand-eye calibration (one-time, ~30 min): grasping needs millimeter-accurate camera-to-arm geometry, which is physically unique to each unit. The guide walks through collecting ~16 poses of a printed ArUco board and solving for the transform. Until it's done, voice chat, detection and the dashboard all work — only grasping waits.

Requirements

  • reComputer J4012 / Jetson Orin NX 16 GB (JetPack 6) — the compose file mounts host CUDA/TensorRT
  • reBot B601-DM arm (USB serial) + Orbbec Gemini 2 on the wrist (USB 3.0)
  • reSpeaker USB mic + any speaker
  • ~8.5 GB of model downloads on first boot (LLM engine, speech engines, detector), plus ~1.4 GB of container images

連携インターフェース

http

Arm + grasp pipeline state (pose, gripper, last grasp result)

/api/state · Port: 8776 · Method: GET
{"x":0.27,"y":0.0,"z":0.24,"gripper":-4.77,"gripper_holding":false}
http

Latest wrist-camera color frame (JPEG)

/api/frame.jpg · Port: 8776 · Method: GET
http

Cartesian arm observation (x/y/z + gripper state) for integrations

/observation · Port: 8775 · Method: GET
{"x":0.27,"y":0.0,"z":0.24,"gripper":-4.77,"gripper_holding":false}

ご利用要件

audio

reSpeaker USB microphone array for wake word + voice commands

audio

Speaker for TTS voice feedback

usb

reBot B601-DM arm via USB serial (typically /dev/ttyACM0) and Orbbec Gemini2 RGB-D camera mounted on the wrist via USB 3.0

network

Internet on first boot to pull container images and download models (LLM engine, speech models, grasp detector — ~4 GB total). Runtime inference is fully local, no online API.

デプロイ構成

arm
rebot_arm_b601
microphone
respeaker_flex
rebot_stack
recomputer_j40
お問い合わせ
ハードウェアパートナーとしてうれしいです!
次へ
Voice-Controlled Grasping Arm (reBot B601-DM)