Robot Open Source

6-axis arm · open from control to training

3D digital twin, visual console, vision and voice, grasping strategies, data collection & annotation, training analysis and acceptance tests.
Source opened by four modules — Control / Data & Training / Test & Acceptance / Tools. MIT licensed.

Control · Data & Training · Test & Acceptance · Tools

Open-source modelsorganised by brand / model

Open
🤖

Ecovacs BaJie

6-axis collaborative arm + lift column + two-finger gripper; control, 3D digital twin, vision/voice, data & training, test & acceptance — fully open.

  • 6-axis
  • ROS 2
  • MIT
➕

More brands / models

More robot brands and models will be added and archived per model for easy lookup.

  • Coming soon
  • Per-model archive
🦾

Hardware

Ecovacs · BaJie: 6-axis collaborative arm + lift column (0–0.44 m) + two-finger gripper (0–0.69), head and wrist cameras.

  • 6-axis
  • Lift
  • Gripper
🧠

Control stack

Jetson → adb → chroot → ssh → ROS 2: joint trajectories, streaming jog, collision guards, auto real/local mode.

  • ROS 2
  • Safety guard
  • Auto switch
👁️

Perception & HMI

Head / wrist camera streams, object detection, voice commands and TTS, mission command entry.

  • Vision
  • Voice
  • Mission
🔁

Data loop

Collect → annotate → limits → training analysis → acceptance, with a tool and data format for each step.

  • Collect
  • Train
  • Accept

Control5 modules · operation layer

From joint execution to 3D twin, gripper, voice and missions
Open
🎛️

Main console

Live dashboard, dev console, robot app, joint execution, lift and gripper control; motion log and state monitoring.

  • Control
  • Debug
  • Joints
Sourcehost/index.html · host/joints_bridge.py
Open
🤖

3D arm

Real meshes, drag teaching, fixed-point head motion, live limit guard, wave mode; zoom and fixed camera pose.

  • 3D
  • Real robot
  • Head fix
Sourcehost/arm3d.html
Open
✊

Gripper control

Opening slider, close / full-close / open actions, live feedback; drag and one-tap motions.

  • Gripper
  • Open/close
Sourcehost/grip.html
Open
🎙️

Voice control

Voice commands, TTS announcements, microphone state; turn frequent motions into one sentence.

  • Voice
  • HMI
Sourcehost/voice.html · host/voice_server.py
Open
🕹️

Mission command

Robot command / mission entry with unified dispatch and status feedback.

  • Mission
  • Command
Sourcehost/cmd.html

Data & Training4 modules · data loop

Collect → annotate → limits → analyse; make motions reproducible
Open
📊

Training data analysis

Task filters, quality metrics, action Δp99, episode replay and HDF5 dataset browsing — see if a sample is usable.

  • Dataset
  • Analysis
  • Replay
Sourcehost/data_viewer.html
Open
🎥

Fixed-point data collection

3D preview, real/sim fixed-point head motion, live state, head & wrist cameras, episode marking and saving.

  • Collect
  • Head fix
  • Episode
Sourcehost/headfix_collect.html
Open
📐

Limit database

Critical tip angles, direction coverage, SQLite records and CSV export — quantify table/column boundaries.

  • Limits
  • Calibration
  • SQLite
Sourcehost/headfix_limits.html · host/limits_db.py
Open
🏷️

Annotation

Annotate grasp objects and placement locations with head & wrist camera views; produce a trainable dataset.

  • Annotation
  • Vision
Sourcehost/annotate.html

Test & Acceptance1 system · reliability

From “it moves” to “it is reliable”
Open
✅

Test plan

Motion / calibration / perception / data / training / reliability checklists and progress — the acceptance baseline.

  • Test
  • Acceptance
  • Progress
Sourcehost/test_plan.html · docs/test_plan.json

Tools3 tools · authoring & debug

Motion authoring and camera debug
Open
💃

Dance editor

Keyframe authoring, 3D preview, import/export and real-robot playback — turn a sequence into a reusable show.

  • Motion
  • Authoring
  • 3D
Sourcehost/dance_editor.html
Open
📷

Head camera

Head detection stream (percd, :8799) as live MJPEG for global view and target finding.

  • Camera
  • Head
Sourcehost/camfeed.py · lower/jogd/percd.py
Open
🎯

Wrist camera

Wrist / gripper detection stream (percg, :8800) as live MJPEG for fine alignment and grasp confirmation.

  • Camera
  • Wrist
Sourcehost/camfeed.py · lower/jogd/percg.py

Get control accessEcovacs BaJie robot

The control interfaces of the BaJie arm (mvp03 6-axis arm + lift column + head pitch + gripper) are available to lab-network members and authorised partners. Apply using the steps below; after approval you receive device addresses, accounts and console access.

  1. Eligibility: join the OpenHW Lab local-lab network, or own / borrow a BaJie device.
  2. Apply: email your organisation / contact / device model / use case / network environment.
  3. Review & authorise: we confirm the use case and safety conditions; access to the Jetson console, robot LAN and lower-board SSH is granted as needed.
  4. Safety briefing: read and confirm the motion safety rules (E-stop, limits, grasp rules).
  5. Docs & integration: download the API reference; we support the integration.

Request access

BaJie Robot Control API v1.0
Three access paths (HTTP API / Mission WebSocket / ROS 2), ports and command tables, safety limits, deployment checklist and troubleshooting.

Download API reference (.md · 22 KB, Chinese)

IPs and passwords in the document are placeholders and provided separately after authorisation. Interfaces have no auth by default; use only on a trusted LAN.
Document SHA-256e4b6a712ccce432279b6fdc3c95b0c986a11256db0105fd54346922ab483e1ad

Download & Quick StartMIT · source package

📦

Ecovacs BaJie robot source package

Host console + lower-board scripts + meshes + docs — 216 files.

  • host/
  • lower/
  • docs/
  • MIT
SHA-256fc360d3670869f239f4b80a0ee27a1f30d3d9048f1a902b398b3f3fb04601d5f
Three steps:
  1. Unzip and edit paths plus ROBOT_HOST / ROBOT_PW in host/serve.sh.
  2. On the host run bash host/serve.sh, open http://<jetson-ip>:8790/robot_home.html.
  3. Put lower/jogd on the lower board and start jtstream.py to connect ROS 2.
Read docs →

No robot? You can still open arm3d.html and other pages with a local static server to explore the 3D model and UI.

⚠️ Safety: the arm is a powerful real machine. Clear the workspace, keep the E-stop in hand, and validate unloaded at slow speed first. Always approach grasps from above. See docs/MOTION_RULES.md and docs/GRASP_RULES.md.

Verify & Version

Verify: Windows (PowerShell) Get-FileHash .\openhwlab-ecovacs-bajie-robot.zip -Algorithm SHA256; macOS / Linux sha256sum openhwlab-ecovacs-bajie-robot.zip. Matches the SHA-256 above → intact official package.

Changelog: 2026-10-24 · first public release (216 files / MIT): console + 3D digital twin + data collection/training analysis + ROS 2 lower-board scripts.