This is a mujoco-based lightweight robot imitation/reinforcement, VLA framework that integrates a gamepad bocon teleoperated robotic arm (SO100), data generation and acquisition (HDF5), multiple model training (ACT, Diffusion Policy, etc.), and real-time inference in both simulation & physical objects. (Except for the first one, the rest of the work will be open soon.)
- April 1, 2025: Bocon Project Launched
git clone https://github.com/box2ai-robotics/bocon.git
cd bocon
pip install -e .
make install- First-time Bluetooth Pairing:
- Press and hold the small circular button on the side of the Joy-Con for 3 seconds to enter pairing mode.
- On your computer, search for Bluetooth devices and select either
Joy-Con (R)orJoy-Con (L)to complete pairing.
- Connection Confirmation:
- Upon successful pairing, the controller will vibrate at a fixed frequency.
- Single-controller mode: Hold both trigger buttons (ZL + ZR) for 3 seconds.
- Dual-controller mode: After both controllers vibrate, simultaneously press:
- Left Joy-Con's upper trigger (
L) - Right Joy-Con's upper trigger (
R)
- Left Joy-Con's upper trigger (
- The system will allocate dedicated processes for connection monitoring.
-
Subsequent Connections:
- For already paired devices, simply press the upper trigger (
L/R) to auto-reconnect. - A confirmation vibration will occur within 5 seconds. Follow Step 2 to finalize.
- For already paired devices, simply press the upper trigger (
-
Testing: Refer to the Quick Start Tutorial.
- Home Position:
(0, 0, 0) - Front Direction:
X+(end-effector facing) - Right Direction:
Y+ - Up Direction:
Z+
↑: Move forward along end-effector direction↓: Move backward along end-effector direction←: Strafe left (Y-)→: Strafe right (Y+)
-
Reset (Recommend)
- Right Joy-Con
Homebutton or Left Joy-ConO(Capture button): Return to home position.
- Right Joy-Con
-
Gripper Control
- Right
ZRor LeftZL(Lower triggers): Toggle gripper state:- Open → Close (when pressed)
- Close → Open (when pressed)
- Right
-
Height Adjustment
Joystick press (click down): Lower end-effector (Z-)L/R(Upper triggers): Raise end-effector (Z+)
-
Linear Movement
- Left
D-pad ↑or RightX: Move forward (X+) - Left
D-pad ↓or RightB: Move backward (X-)
- Left
-
Data Recording
- Right
A: Stop current dataset recording (requires custom implementation) - Right
Y: Restart current dataset recording (error recovery)
- Right
- All other buttons are user-configurable.
Solution:
- Re-run the
installcommand to verify dependency installation - Briefly press the pairing button to power off
- Remove the device from your computer's Bluetooth list
- Restart your computer
- Long-press the pairing button and reconnect via Bluetooth
Solution:
- Charge the controller for 30 minutes (auto-shutdown indicates low battery)
- Restart both controller and computer
- Note: Ubuntu has known Bluetooth compatibility issues
A1: Currently no - due to kernel-level driver requirements.
Tested systems:
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
(Other systems may work but are unsupported)
- You can follow the bilibili video account
- Join the discussion on the QQ group 948755626 or discord
- Click here to buy the well-tuned version of the hardware
If this project is helpful to you, please give us a star. We greatly appreciate it! ⭐ ⭐ ⭐ ⭐ ⭐