B-Robot
A self-balancing Arduino robot, fully 3D printed, that can be driven from a smartphone or roam autonomously while avoiding obstacles.
- Other
- Open source
- arduino
- 3D printable
Suggested by Robotheca, created by @JJulio (opens in a new tab), from github.com/JJulio/b-robot (opens in a new tab). Pinned to commit 39b6990 (opens in a new tab).
- Hardware license
- GPL-2.0-only (opens in a new tab)
- Software license
- GPL-2.0-only (opens in a new tab)
- Commercial use
- Allowed
Photo
This repository has no photo of the robot yet.
What it can do
Written by Robotheca from the project's documents.
- Self-balancing two-wheeled robot controlled from a smartphone or tablet over Wi-Fi using the OSC protocol.
- Manual mode: driven by external OSC control messages sent from a phone or tablet app such as TouchOSC.
- Autonomous mode: uses an ultrasonic sonar sensor to detect obstacles, turns until a clear path is found, then continues.
- Stability control uses a PI speed loop feeding a PD angle loop, with the output integrated into motor acceleration.
Bill of materials
This repository has no parts list Robotheca can read yet.
Build guide
The guide appears here as you scroll.
Guide by @JJulio (README.md), under GPL-2.0-only.
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Custom WITA board based on an Arduino Leonardo with an integrated RN131 Wi-Fi module.
- Two NEMA17 stepper motors.
- A4988 stepper motor drivers configured for 1/8 microstepping.
- MPU6050 inertial measurement unit using the internal DMP quaternion solution at 200 Hz.
- LV-MaxSonar-EZ3 sonar sensor for obstacle detection.
Connections
- The MPU6050 is connected to the controller over the I2C bus.