Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Robotics

3D-Printed Self-Balancing Robot Brings Control Theory To Life (hackaday.com) 10

An anonymous reader quotes a report from Hackaday: Stabilizing an inverted pendulum is a classic problem in control theory, and if you've ever taken a control systems class you might remember seeing pages full of differential equations and bode diagrams just to describe its basic operation. Although this might make such a system seem terribly complicated, actually implementing all of that theory doesn't have to be difficult at all, as [Limenitis Reducta] demonstrates in his latest project. All you need is a 3D printer, some basic electronic skills and knowledge of Python. The components needed are a body, two wheels, motors to drive those wheels and some electronics. [Limenitis] demonstrates the design process in the video [here] (in Turkish, with English subtitles available) in which he draws the entire system in Fusion 360 and then proceeds to manufacture it. The body and wheels are 3D-printed, with rubber bands providing some traction to the wheels which would otherwise have difficulty on slippery surfaces.

Two stepper motors drive the wheels, controlled by a DRV8825 motor driver, while an MPU-9250 accelerometer and gyroscope unit measures the angle and acceleration of the system. The loop is closed by a Raspberry Pi Pico that implements a PID controller: another control theory classic, in which the proportional, integral and derivative parameters are tuned to adapt the control loop to the physical system in question. External inputs can be provided through a Bluetooth connection, which makes it possible to control the robot from a PC or smartphone and guide it around your living room.
All design files and software are available on Limenitis' GitHub page.
This discussion has been archived. No new comments can be posted.

3D-Printed Self-Balancing Robot Brings Control Theory To Life

Comments Filter:
  • by quantaman ( 517394 ) on Tuesday December 27, 2022 @06:31PM (#63162460)

    I built one of these [jjrobots.com] a few years ago. The hardware was a bit more modest as it only used an Arduino and it was open source (I modded the code to tweak the robot for another project).

    They're a cool company, they got a lot of projects [jjrobots.com] and AFAIK they're all open source.

  • subject (Score:4, Interesting)

    by schematix ( 533634 ) on Tuesday December 27, 2022 @08:03PM (#63162614) Homepage
    I remember doing this with MATLAB, Simulink and RTWorkshop a long time ago as a budding controls engineer in college. No bode plots or root locus plots though. It's a non-linear multi-variable state problem. Linearized differential equations generate a state matrix and then some closed loop matrix equations help solve it for you. The inverted balancing was actually pretty easy. The harder part was we made it swing up from the stable equilibrium (downward) position and catch and hold it in the unstable (inverted) equilibrium.
  • The difference was that back then you had to write the control software in assembly language without using floating point math.

"An idealist is one who, on noticing that a rose smells better than a cabbage, concludes that it will also make better soup." - H.L. Mencken

Working...