Self balancing with reaction wheels (open source)

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

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

  • @sharpiestealer
    @sharpiestealer Год назад +3

    i love your videos! i'm going to build a large autonomous unicycle with a reaction wheel as an independent research project at uni and i'm always excited when a video of yours pops up in my recommended!

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

      I have an application for a "reaction wheel" style robot. Maybe we can chat?

  • @liemph
    @liemph 2 года назад +2

    Thank you for sharing. Maybe these are the simplest and cheapest configuration I ever found for these self-balancing platforms. You are right, NIDEC motors with encoders are still the best.

  • @cqllysto
    @cqllysto 2 года назад +3

    Awesome video bro! Thank you!
    Im currently trying to get mine to work and its been a struggle lol

  • @B.Malagon
    @B.Malagon 2 года назад +2

    Congrats, very simple explanation and great video!

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

    Awesome project, thanks for sharing

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

    This is so cool, great work

  • @lin-br3gb
    @lin-br3gb Год назад +1

    Hello blogger, your videos are really interesting. I have seen many of your videos and am now very interested in these things. I have also tried to reference your videos and code to create a "One Axis Self Balancing Tick DC", but I was not successful. I have encountered a problem and would like to ask you for advice!After completing the assembly according to your video, I will stand the model with the motor rotating and not rotating, and I cannot confirm if my AS5600 is working properly. Sometimes, although he may rotate, he may not be able to stand upright. Your video is very interesting, but there are some areas where it feels technically difficult. Could you please provide a more detailed tutorial? like you

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

      You need to print values of sensors. It would be seen if the values ​​are correct. You may have placed the magnets incorrectly.

  • @GUILLERMO.NESPOlO
    @GUILLERMO.NESPOlO 2 года назад +2

    Love your videos !!! I’m starting with arduino and I want to add a reaction well to my steadicam. ….your advice can be of great help

  • @geoffhall9568
    @geoffhall9568 9 месяцев назад

    I've printed out the frame, the stand and the wheel. Unfortunely I couldn't get nuts and bolts small enough for this wheel. I'm learning Microsoft 3D Builder to be able to modify it to handle M6 bolts. Lots of fun!
    One question I have, I noticed the wheel is not perfectly round, it is made up of 36 trapazoids. Is there a reason for this? Does it make the file size smaller? Is it easier for the 3D printer to print? Or did it just happen to be like this.
    Thanks again for all your help. I'm doing this for our High School Robotics Club. Will send you pictures when complete.

    • @ReMRC
      @ReMRC  9 месяцев назад +1

      Very strange that there are no M4 bolts. 36 trapezoids are enough for an M4 hole. There is no point in using more. Yes, it has an effect on the calculation speed of the 3D object.

    • @geoffhall9568
      @geoffhall9568 9 месяцев назад

      @@ReMRC Thanks. They just didn't have any at the local hardware store. Today I was able to get 8-32 by 3/8 set screws which can be screwed into the holes easily and hold. I then just put 8-32 bolts on each side.
      Now onto the coding. :)

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

    Amazing work, what modifications did you make to the program for it to work without the sensor?

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

      Do not do without a sensor, it works badly. Also these motors are not very suitable for that.

  • @AbhishekKumar-sg5uv
    @AbhishekKumar-sg5uv 3 месяца назад

    How you are receiving variable 'pwm' values, without magnetic encoder for motor direction control function? is the motor_speed values are fixed in that case?

    • @ReMRC
      @ReMRC  3 месяца назад

      I use encoder. It works very poorly without it. Don't do that.

  • @geoffhall9568
    @geoffhall9568 10 месяцев назад

    I'm starting to build this. Thanks for all the work you put into it. I have one question, do you have any links to the magnet you are using? Thanks again.

    • @ReMRC
      @ReMRC  10 месяцев назад +1

      It can be any small magnet. I took them out of the CDROM optical control. But it is better to use round magnets, but only for this purpose ("diametrically neodymium magnet" - ask google or aliexpress for this).

  • @samarthraj853
    @samarthraj853 6 месяцев назад +1

    How should I start the tuning process after building the hardware part?

    • @ReMRC
      @ReMRC  6 месяцев назад

      No tuning required. Just set the balancing point.

    • @samarthraj853
      @samarthraj853 6 месяцев назад +1

      @@ReMRC so i have to just start the system and type c+ the wait for some time while trying to balance the stick then type c- and if calibration successful and it should balance itself if not then I should change the gains values? Is this correct or am I missing something important?

    • @ReMRC
      @ReMRC  6 месяцев назад

      @@samarthraj853 Yes. But these motors are the worst choice for such a thing. Also, they are not all the same. There are different rotation speeds. I don't know what I have.

    • @samarthraj853
      @samarthraj853 6 месяцев назад

      @@ReMRC so if I try for many gain values I should be able to balance this a lit bit na it might oscillate but it will not fall?

    • @ReMRC
      @ReMRC  6 месяцев назад

      @@samarthraj853 Try this.

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

    Thanks for great explanation.

  • @cholan2100
    @cholan2100 5 месяцев назад

    I have the wheel running, not on same stick as yours, but a modified stick mounted like a frame on table, as I only got Arduino Uno and old motor driver.
    MPU works, I use optical incremental encoder with code to produce rad/sec with direction.
    PID works, can see the right flow when plotted, also swings to other side when I push it. So far so good.
    But, doesn't hold the balance :(. It tries to aggressively balance. Keeps trying forever if i force stick to stay within 6 degree threshold with supports on side. But if I let go of supports, the stick falls to ground.
    Center of gravity issue? Any clues.?

    • @ReMRC
      @ReMRC  5 месяцев назад

      You must understand that it is difficult for me to give advice. I don't know how you did it. There can be many reasons why it doesn't work. If you were doing exactly the same as me with the same code, I might wonder what's wrong.

    • @cholan2100
      @cholan2100 5 месяцев назад

      @@ReMRC yeah I understand, cant shoot blind. I guess I have to first do a Nidec motor version to get a stable version, to eliminate noise involved, and then do a Brushed motor version.
      Sad I can't get Nidec around where o live. Have to find equivalents if at all available.

    • @ReMRC
      @ReMRC  5 месяцев назад

      @@cholan2100 Ebay.

    • @cholan2100
      @cholan2100 5 месяцев назад

      @@ReMRC got any place/mail where i can share snapshots of angle/pwm/rpm graph to see if it makes sense?

    • @ReMRC
      @ReMRC  5 месяцев назад

      @@cholan2100 Yes, the email is in channel "About".

  • @geoffhall9568
    @geoffhall9568 9 месяцев назад

    I've built the one axis balancing stick, the motor is working and so is the accelerometer but it is not balancing. I set X2 and X3 to zero and it behaves a bit better . Do you happen to have the X1, X2 and X3 values you used for the DC motor? Or any tips you have on finding the values that work?
    Thanks again for all the work you have done.

    • @geoffhall9568
      @geoffhall9568 9 месяцев назад

      I found your "Reaction wheels for beginners" video so I'm watching that now.

    • @ReMRC
      @ReMRC  9 месяцев назад

      @@geoffhall9568 This is the right way...

  • @miguelrod_qui
    @miguelrod_qui 7 месяцев назад

    Sorry, I did not undertand the usage of encoders on the motors. Why are they so important?

    • @ReMRC
      @ReMRC  7 месяцев назад

      Encoders are needed to know the rotation speed of motors.

    • @miguelrod_qui
      @miguelrod_qui 7 месяцев назад

      @@ReMRC is it so that you can accurately set an rpm?

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

    Hey just wondering if i could make this with a adafruit v1 motor shield and an Arduino Uno instead

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

    Great work! I intend to try to machine many of these parts (don't have a 3D printer). Github has only STL files. I could always estimate but are there dimensioned drawings available?
    Also, is there a criteria for the added mass around the wheel perimeter ?
    thanks 1

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

      Dimensions are not that important (of course there are limits). The distribution of mass around the wheel perimeter is not important.

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

      Hi. I read your comment and I have the same issue (I got CNC but not and printer). did you get the files for machining?

  • @raffyturc
    @raffyturc 7 месяцев назад

    very nice project. thanks. 😊

  • @steve5nash
    @steve5nash 10 месяцев назад

    Do you need the RioRand-LM2596-Converter ?

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

    sir this project also good.🥰🥰

  • @steve5nash
    @steve5nash 10 месяцев назад

    What is the name of the green PCB board at the bottom?

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

    I have been fascinated with your project. I'm trying to implement one myself too, with the same dc motors and using MPU6050 as accelerometer. But i2C freezes when the motor is on. I read in your video that you fix that using 150 ohms, but how did you wire them? My i2C is truly making me frustrated, i tried using Arduino UNO board and also ESP32, but the i2c freezes.
    Thanks in advance.

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

      It's really quite a problem with brush motors. Shorten the wires to the mpu6050 as much as possible. And add resistors to data lines.

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

      @@ReMRC thank you so much, that really worked. I also twisted the data cables together. Your channel awesome!

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

      @@ReMRC Can you link to the motor that you recommend?

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

      @@steve5nash Something like this down-ph.img.susercontent.com/file/7cd49c888810b48926e9ad3215be5e39 But I bought it a long time ago.

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

      @@ReMRC Thank you!

  • @natthaphobnimpitiwan7935
    @natthaphobnimpitiwan7935 10 месяцев назад

    I just build as your design. But still have trouble in tuning the gain. Unable to balance,It keeps oscillate. Any suggestion on how to tune the gains?

    • @ReMRC
      @ReMRC  10 месяцев назад

      No need to change gain values! Which one did you do? One axis or two axis? Send me a video of how it works, then I can give you some advice.

    • @natthaphobnimpitiwan7935
      @natthaphobnimpitiwan7935 9 месяцев назад +1

      Thank you so much!! I got it works after carefully listen to one of your q&a clip. I just wire dc motors with wrong polarity.

    • @nafisfuadjim4817
      @nafisfuadjim4817 7 месяцев назад

      @@natthaphobnimpitiwan7935 how did you tuned the parameters of the 2 axis stick? can you please tell

  • @steve5nash
    @steve5nash 10 месяцев назад

    What is a motor plastic reducer and where can I get them?

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

    I've commented before and it is still one of my favourite projects to try at home. Did you use LQR to control the system? Because of your video it inspired me to study control systems.

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

      Yes. Learning is always good.

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

      @@ReMRC thanks again, huge fan. Sorry to bother but did you took into account the yellow dc motor torque constants and the moment of inertia from the entire robot or maybe the LQR tunning was arbitrary? I'm really struggling with the moment of inertia, i'm considering measuring it using CAD. Cheers

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

      @@mathmaker6946I don't know the torque of the yellow DC motor. Tuning is just my experience.

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

    Your genius brother❤
    If you don't mind then let me tell you one thing. I want to program the code of this project in Arduino ide on android phone😅 but it's not happening. Because there are many errors here. So please let me know what I should do😅
    Please reply me🥰

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

      I've never used the Arduino IDE on a phone. So, I can't really say anything.

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

      @@ReMRC Then it is possible to program correctly using computer or Android phone? And which application will be used to program the microcontroller?

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

      @@mdabdullah6868 Of course. Arduino IDE on PC is the simplest way.

  • @cholan2100
    @cholan2100 5 месяцев назад

    Did you modify the motor? For 200 rpm geared motor RPM appears high.

    • @ReMRC
      @ReMRC  5 месяцев назад

      No, I didn't change anything.

    • @cholan2100
      @cholan2100 5 месяцев назад

      @@ReMRC wonder what kind of RPM you get out of it. Mine gets around 650-800 on 11V.
      I assume with this motor it's limited to 0.3-6 degree tilt that it can manage to balance, anything beyond gravity wins?
      I am still working to get it balance, with Frame on harness form factor and optical IR encoder mounted behind the motor. Using code written from scratch based on yours. Gotta figure out why reaction latency is high.

  • @steve5nash
    @steve5nash 11 месяцев назад

    is there a way to do this without soldering?

  • @steve5nash
    @steve5nash 11 месяцев назад

    What kind of wiring do you use?

    • @ReMRC
      @ReMRC  11 месяцев назад

      Heat resistant.

  • @geoffhall9568
    @geoffhall9568 9 месяцев назад

    Another question, I don't see in your code nor schematic on github how the AS5600 position sensor is connected or used. So how is it connected and how is it used in the balancing? Thanks.

    • @ReMRC
      @ReMRC  9 месяцев назад

      Can not be. It is both in the schematic and in the code.

    • @geoffhall9568
      @geoffhall9568 9 месяцев назад

      I've sent you an email showing the schematic I am seeing from your github.

    • @ReMRC
      @ReMRC  9 месяцев назад +1

      @@geoffhall9568 github.com/remrc/One-Axis-Self-Balancing-Stick-DC

    • @geoffhall9568
      @geoffhall9568 9 месяцев назад

      Yes, This is what I was looking for! Thanks so much again!

  • @rascreations6706
    @rascreations6706 8 месяцев назад

    Can this balance itself on incline surfaces?

    • @ReMRC
      @ReMRC  8 месяцев назад

      Of course yes.

  • @steve5nash
    @steve5nash 10 месяцев назад +1

    damn it I bought the wrong motor

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

    what changes do we need to put in the program if we aren't using encoders?

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

      Don't do that, it works badly.

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

      @@ReMRC by changing the target point how does it get controlled? can you please tell me the control logic behind it.

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

      ​@@HasybDar With Nidec motors I don't use encoders. You can see source codes.

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

    why do you need a magnetic sensor ?

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

      I don't need a magnetic sensor. But I need an encoder.

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

    Sir if you don't mind how can i contact you.🥰I had something to talk to you about🥰❤️❤️

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

      email can be found in the "About".

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

      @@ReMRC where your email i found it Please tell me🥰

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

    amazing sir

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

    Q-learning?

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

    is the CAD files in mm or inches?

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

    what controller is implemented?

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

      State-space (LQR). But I was not interested about it in theory. I hope at least the title is correct. :)

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

    Excellent👍👍👍👍👍👍

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

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

    😀😀😁😁😍😍👍👍What do you want?

  • @1_and_only_Crjase
    @1_and_only_Crjase 2 года назад

    Would you call yourself an engineer?

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

      :) No, it's just a hobby...

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

    ᵖʳᵒᵐᵒˢᵐ 🤔

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

    :(