Self Righting Balancing Robot

Поделиться
HTML-код
  • Опубликовано: 1 авг 2024
  • I bought a bunch of Dynamixel robotics servos a while back, and I have been itching to put them to good use in a couple of robotics projects that I have wanted to do for quite some time now.
    I decided to roll my own robot controller with wi-fi and bluetooth capabilities. The current firmware allows for PID calibration via an embedded web server. This allows for tuning the PID parameters via a phone or a computer.
    The robot uses bonjour/mDNS to make its presence known on the network. Scanning the QR code on the display will open a web page, where the user can tune PID parameters and select to save them to non volatile storage on the board.
    If the robot falls over, it will right itself and then attempt to rebalance itself.
    All structural parts were 3D printed on a Prusa i3 MK3. The rubber tires were sourced from AliExpress.
    The main components in the design are the ESP32-WROOM-32D from Espressif, the nRF52840 from Nordic Semiconductor and the BNO055 IMU from Bosch
    This project turned out to be a bit more challenging than anticipated, given the relatively low weight, small wheels and slow servos (I used the Dynamixel XL-320 for both wheels and arms), but I got it working in the end :)
    GitHub repository : github.com/hansj66/automaton-...
    -- Contents of this video --
    00:00 - Intro
    01:56 - PCB Assemvly
    05:54 - Reflow
    07:31 - Good news, everyone !
    07:50 - Exploded view
    08:10 - Mechanical assembly
    10:14 - Flasing firmware
    10:46 - First boot
    11:08 - Testing
    12:20 - Getting good!
    12:46 - PID tuning via iPhone
    13:25 - Blooper reel
  • НаукаНаука

Комментарии • 14

  • @evgeni_logic
    @evgeni_logic 2 года назад +6

    That's the first time I see an arm to bring robot to a vertical position, this kind of QR code usage, and mDNS. Smart features.

  • @fachini104
    @fachini104 11 месяцев назад +1

    The qr code was a great idea

  • @tomcruise6602
    @tomcruise6602 2 года назад +1

    The PCB soldering process looks great!

  • @randallyoung6715
    @randallyoung6715 3 месяца назад +1

    Sweet build!

  • @iliasantonopoulos74
    @iliasantonopoulos74 Год назад +1

    I was searching for how to use MQTT to send an image from ESP32 Cam, without using a web server. And run into your video. Excellent work and video!

  • @AtomkeySinclair
    @AtomkeySinclair 2 года назад +1

    Put it on an inclined surface with sticky wheels.

  • @0m1d
    @0m1d 2 года назад +2

    Do you have any further details about this project? Like PCB Design and the housing 3d file in cad

    • @TimeExpander
      @TimeExpander  2 года назад

      I put a link to the Github repository in the description. This contains the source code that is running in the video as well as Eagle schematics and layout.

  • @chikhanglam8409
    @chikhanglam8409 Год назад

    Hi sir, What kind of motor are you using?

    • @TimeExpander
      @TimeExpander  Год назад +1

      I'm using Dynamixel XL-320 servos in this project

    • @chikhanglam8409
      @chikhanglam8409 Год назад

      Thanks and Can you give me detailed instructions on how to load the code for the robot, in the video I see you scrolling through it too fast and what software do you use to load the code? Thank you sir

    • @TimeExpander
      @TimeExpander  Год назад

      @@chikhanglam8409 The main controller is an ESP32 and I'm using Platform IO as the development environment. There are lots of resources on the web regarding how to program the ESP32 using PIO. The source code is available on my github repo: github.com/hansj66/automaton-xl320/tree/main/firmware/esp/balance-bot

  • @akshayladdha9015
    @akshayladdha9015 Месяц назад

    How did you develop the app for PID tuning?, like did you use Android Studio or MIT App Inventor for App building, because I woudl like to develop my own app for PID tuning and I need a starting point

    • @TimeExpander
      @TimeExpander  Месяц назад

      It is not an app, only a web page hosted by the ESP32 that allows you to change the PID parameters on the robot. You can find the source code here: github.com/hansj66/automaton-xl320/tree/main/firmware/esp/balance-bot