9-Axis IMU LESSON 26: Understanding PID Control systems with Arduino

Поделиться
HTML-код
  • Опубликовано: 5 фев 2020
  • You guys can help me out over at Patreon, and that will help me keep my gear updated, and help me keep this quality content coming:
    / paulmcwhorter
    In this lesson we show how to do a control system where we feedback a signal to the servos which is Proportional to the error. This allows a much faster response than our earlier system which was just based on a constant feedback value:
    OK, this is the gear we are using in this lesson
    Adafruit BNO055 IMU Sensor:
    amzn.to/2lbwsnc
    I strongly suggest picking up an arduino nano, since it can plug directly into the breadboard, making a portable system more practical. You can pick one up here:
    amzn.to/2WXTC2M
    You Will Need Two of These HiTEC Servos
    amzn.to/2FfOITq
    NOTE: I am no longer recommending the MG995 four pack of servos, as I have recently gotten several bad batches, so have moved to the HiTEC linked above.
    Pan Tilt Brackets:
    amzn.to/2tigewO
    PC Board Power Supply (If you have the ELEGOO Kit, you already have this)
    amzn.to/2FdCASK
    Good Wall Wart Power Plug for the Power Supply (if you dont have one)
    amzn.to/2SM2EMH
    Bundle of Extra Cables
    amzn.to/2MLH4UZ
    [Disclosure of Material Connection: I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com. This means if you visit the link and purchase the item, I will receive an affiliate commission. Regardless, I only recommend products or services I use personally and believe will add value to my readers.]
    #BNO055
    #Arduino
    #PID
  • НаукаНаука

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

  • @dcpowered
    @dcpowered 3 года назад +22

    Please make more PID project videos!! This is the stuff that we want to see!!

  • @rbonari
    @rbonari 4 года назад +42

    Hello Paul,
    This was a great lesson on PID Control in an actual real life application !!!! Your expertise in all things algebra and calculus makes you the perfect person to teach this subject and you did a masterful job. Your mastery of arduino and math can not be beat on the internet and you explain these difficult subjects in a manner that we can all understand !!!!! Again, great job !!!!! I do hope this series continues on and maybe a self balancing robot is in the future !!!!! You are again, the very best on youtube !!!!!!!!!!! Rick

  • @carlforsell4463
    @carlforsell4463 2 года назад +11

    Greetings Paul
    Just wanted to let you know that I have watched all of the videos in this series. (Some more than once -#21).
    You are blessed with the skill of simplifying the complex. Few presenters do this as well as you.
    I have also watched most of the cad videos, oh heck... I've watched MANY of your videos. 95% of them I have watched start to finish.
    I have 30+ years IT experience, but I have learned something from every video.
    God bless you and yours.
    Carl

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

    Thanks for the thorough presentations. You requested feedback in Lesson 26 for my configuration. I used the MPU6050 with the DMP and two HITEC HS-325HB servos. The values are K1=0.4,=, k2=30 and K3=0. These values provided a reasonable response. I discovered that using a time delay of 50 ms was the fastest time for the UNO and the MPU6050. And yes, as you said, it would be nice to rapidly converge to a stable response. It took me some time. I discovered that my PITCH error function had to be subtracted (rather than added) to the servo value. This is due to to my geometry. Thanks!

  • @itsabuscus1619
    @itsabuscus1619 3 года назад +11

    It's stuff like this that has my jaw on the floor. Wonderful explanation, sir!

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

    You've taught me so much about Arduino. Thank you so much for your videos.

    • @paulmcwhorter
      @paulmcwhorter  2 года назад +5

      Wow, thank you so much! Really appreciate the support. Hey, this IMU series is probably my favorite series I have done, but pretty much not watched by most people. Glad someone did it and learned from it.

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

      @@paulmcwhorter My pleasure; I should have done it sooner. I've learned most of what I know about Arduino from you, and I appreciate the huge commitment and effort you put into your content.
      I came upon this series looking to build a stabilized platform to mount a Starlink on a friend's boat, so I'll also need to include yaw in the sketch. Wish me luck 😉

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

    This was by far THE BEST PID lecture I've seen on entire RUclips! If I were to pin point what makes Paul a GREAT TEACHER is that
    teachers should always, always build the topics, that they're teaching, "From Scratch"
    You do exactly that.

  • @automateyourhouse
    @automateyourhouse 4 года назад +3

    Absolutely amazing detail in this series Paul, BRILLIANT, and so interesting, thanks so much for creating and posting.

  • @akeemshepherd478
    @akeemshepherd478 3 года назад +1

    This is literally the best PID video I've ever watched. Very lucid from the beginning and I love that. If I could double like I would. Brilliant!

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

    It's the best series of lessons I ever learned with coding in practice, especially is your great sharing with PID ! Hope you have the lucky with your kindness. Big thanks for your teaching with intelligent experience, Professor McWhoter.

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

    Hi Paul ! I went through the 26 videos, incredible job ! My plateform works very well with the coefficent you gave. Thank you very much for sharing your expertise. Looking forward to watching new series of your tutorials. Big support from France.

  • @kevinshaver5613
    @kevinshaver5613 4 года назад +1

    Paul,
    I have really enjoyed this entire series! I actually understand most of what you have taught (quaternion numbers are hard ). I really enjoyed this long series , hopefully you'll have more .Thank you.

  • @EdwardPie
    @EdwardPie 3 года назад

    Sir, you take seemingly complex topics and you break them down in plain language such that anyone can understand. You are a gift and I appreciate your contributions to knowledge.

  • @maximem.1117
    @maximem.1117 4 года назад

    Excellent course, i never really understood what integrals were useful for in 5 years of engineering school and in 2mins you made me understand. Thanks and please continue this great series

  • @elainedunkerley9803
    @elainedunkerley9803 4 года назад

    Paul, excellent work thank you. I like the way you develop the project from first principles with the engineering and maths into a coherent application.

  • @arnoldschmucker9977
    @arnoldschmucker9977 4 года назад

    I feel that I understand PID for the first time as a result of this video. Thank you for explaining it Mr. McWhorter.

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

    Watched all 26 lessons and learnt a lot. This PID lesson has been very beneficial as drone configuration include a PID setup and I really did not understand its affects on a drone and this lesson has been very beneficial. This real world application was also very beneficial and again I want to thank you for your efforts in making these courses.

  • @BiancaDianaT
    @BiancaDianaT 4 года назад +2

    This was an awesome series

  • @user-zg2kr6ph9z
    @user-zg2kr6ph9z Год назад

    as someone studied control theory i like how the video presents the PID in a very beautiful and easy to grasp way

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

    Thanks, I this is my first time to understand PID controller practically. (I watched it all )

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

    thank you. I have watched all the 26 lessons. again, thank you for all your expertise.

  • @danbergquist5729
    @danbergquist5729 3 года назад +1

    Hello Mr. McWhorter, I really enjoyed this series of lessons and I am now off to start the Jetson NANO lessons. I can't wait to get started. Best wishes.

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

    I watched the whole video!
    I actually found written PID controller on every second arduino video, so I wanted to know what it actually is.
    I searched and found YOUR video when scrolled down a little bit, and I was relieved to see that. Thanks for your spectacular videos, hope I can learn from you as your student in future.
    Thanks again, Love from India.

  • @dorianeric
    @dorianeric 4 года назад +1

    really enjoyed the video, it's maybe a bit slow but it kinda works in its favor, you made it very understandable and you don't need to be 100% concentrated to understand the idea, thank you for helping the maker community and making excellent quality videos

  • @Sam-dv3vt
    @Sam-dv3vt 2 года назад

    I am crying out of happiness, thanks a lot Paul

  • @klaus6178
    @klaus6178 3 года назад

    These videos are great! I downloaded all 26 lesson's learning lots, your awesome!

  • @Bhanuprakash-xl6ti
    @Bhanuprakash-xl6ti 3 года назад

    Initially the concept of PID was all too complex for me to comprehend or even to start working on. Your Brilliant video gave me all the 100s of hours of understanding I can get by reading... Thanks a lot to also combine Theory with Aurdino! lot of stuff on RUclips miss practicality aspect. Your video is TERRIFIC!!! THANKS A TOONE

  • @maheshjawahar
    @maheshjawahar 4 года назад

    Boom!! Made it till the end !! Thank you so much for the wonderful series.. you are the " most excellent" teacher !! God bless you!

  • @andruwilliams841
    @andruwilliams841 3 года назад

    Great series! Followed every step, coded and built the project. This was somewhere between watching art and playing chess. Thank you!
    On lesson 26 I quickly stripped out horn and need the better metal servo gear to attach to metal horn on bracket. I lowered k1 and k2 to keep second from striping out.

  • @vahidhemmati51
    @vahidhemmati51 3 года назад

    Thanks for sharing your experience and knowledge, I personally learned a lot just by watching

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

    This IMU course really complements most of what i need to progress in my projects! Thank you Paul!

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

      Thanks! Really appreciate the kind words and the support.

  • @michaelbishton9439
    @michaelbishton9439 4 года назад

    A bunch of this is over my head, but you provided enough information for me to understand it after I hear this a couple of times. Thank you very much.
    If I understood this series, you described two sets outputs.
    1. How to use the various sensors as counter-influences to each other so that you can counter sensor drift and get much better results for staying on course or more accurately measure a chance.
    2. How to use the sensor outputs to drive and tweek the calculations that drive the servos.
    I would appreciate knowing what I missed, if this summary missed the boat.
    Thanks again

  • @Kelvincars_gh
    @Kelvincars_gh Год назад +2

    Hello Mr. Paul, this lesson is really working great. I always enjoy your channel please stay strong and provide us with you great teachings. Am Kelvin Cruickshank from Ghana. All the best sir! 👍

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

    I have gone through the whole course, and a huge respect to the teacher for providing such kind of gold for free. Just love you sir..... And one thing, I am ready with a huge mug of ice cold coffee. 😀😀

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

    Hi Paul,
    I went through the lessons on the self-levelling platform. It was informative and helped me to remember the maths that I haven't seen for years.
    I created a model vehicle (tractor) with meccano and arduino, I then used the roll correction component to ensure that it stays level whatever the terrain.
    Thank you for the video series.

  • @wayneswan3092
    @wayneswan3092 2 года назад +4

    I would love to see more on PID control! I can see how we can use this exact system to make a self balancing 2 wheel robot, and then use a PS3 controller and program Potentiometer offset to set the center of balance off to move it forward and backwards. I'm thinking I might take my Car apart from the "Intro to robotics" lessons I followed you on and building a self balancing 2 wheel robot! And set it up to run on a PS3 controller! its got everything I need including blutooth.

  • @pepper669
    @pepper669 4 года назад

    Many thanks for explaining it to me in a way I can understand!

  • @jabcek
    @jabcek 3 года назад

    I wish that this series would have continue... I was learning this in my school 13years ago, and didnt understand anything (I admit that i wasnt really also interested). Now this is my hobby... Really like your graphical explanations. Keep up the good job ;)
    Went thrue the lessions without BNO055 (just couldnt wait 1 month till it gets here). Will go thrue some of the lessions again with my BNO055, when it comes :)

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

    A most excellent PID Arduino math and programming lesson. The PID calculus is a great learning tool for real world examples. 🐬 Thank you.
    A very fascinating subject, Past, Present and Future Trends in the Implementation of PID Control Algorithms. I need to do all these 9-Axis lessons to compliment the RPi Pico lessons.

  • @rbonari
    @rbonari 4 года назад

    Hi Paul,
    Yes, I am following your great jetson nano and your new arduino series. They are absolutely the best tutorials ever as is your 9 axis imu tutorial !!!! One possible continuation lesson would be to show how to do a compensated compass showing the results using vpython to show a graphic of heading (north, east, south, west). I think this would be a popular lesson or two. You do awesome, great work and the math and the way you teach it is by far the best I have ever seen anywhere !!!! Take care and GOD bless !!!!! Rick

  • @marinehm
    @marinehm 4 года назад +1

    This was an excellent explanation of pid control.

  • @mikemccartneyable
    @mikemccartneyable 3 года назад

    That was amazingly well explained and demonstrated.

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

    Many thanks for the fantastic explanation of EXACTLY what PID actually is and does!

  • @PriyanshuPareek
    @PriyanshuPareek 3 года назад

    Loved this series, thanks a lot!

  • @vaibhavbarde2114
    @vaibhavbarde2114 3 года назад +1

    Quality education in free.

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

    Very well explained!
    Thank you very much, sir!

  • @billfield8300
    @billfield8300 4 года назад

    WOW !! I think I finally got it. The practical application of the PID is head and shoulders above any other explanations I have seen previously. Not doing the mechanical with you but i assume we will be doing something similar with our AI lessons. (Im still on ROI lesson there). I really appreciate the effort you make to help us understand some of these more complex concepts. Great Lesson! Thanks.

  • @sashamuller9743
    @sashamuller9743 4 года назад

    absolutely amazing series thank you thank you thank you!!

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

    As always amazing explanation of error correction.

  • @jnecece
    @jnecece 4 года назад +3

    Hi Mr. Paul. I always like your presentation and as always it was one of the most excellent tech video. I enjoyed watching it and I have watched it till the end.
    Also, I would like to make a suggestion that if you could add potentiometer to set constants for each PID controller, in fact it would be a good way to incorporate your lesson 10 on it.

  • @abdelhassibdad3413
    @abdelhassibdad3413 4 года назад +1

    Best teacher as always

  • @robertjohnson4089
    @robertjohnson4089 3 года назад

    Paul this was great I now understand how to program a PID in a system thank you now we need to figure out how to do it in the stm32

  • @peterwooldridge7285
    @peterwooldridge7285 4 года назад

    Nice one P....watched til the end. The post here re the Pots for adjustment is interesting....Stay well buddy and thanks

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

    great explaination sir. Respect from India!!!

  • @AliChallenger
    @AliChallenger 3 года назад

    Hello Mr. McWhorter, such another fantastic tutorial of yours. I have learned a lot from your fruitful tutorials.
    Based on my understanding, my personal experiments and as I saw in the first of this tutorial that the system need to be leveled first then you re-start it and it start to re-level/correct itself, otherwise it would lost its balance condition.
    I believe that issue is because while the MCU and hence the PID equations is running first so it is already calculating the error and the correction value which is the (rollServoVal), but the actuators are off so the error is still there and accumulating till very very large quantity in either - or + direction. Then when we turn the actuators on then the system will start misbehave due to the accumulated error correction value.
    So, I have solved this issue by adding the following simple conditions:
    if(rollServoVal< 0) rollServoVal= 0;
    else if(rollServoVal> 255) rollServoVal= 255;
    This has helped me to limit the corrections values according to the minimum and the maximum values. However, I am stand to be corrected if I miss something and many thanks again for this fantastic tutorial.

  • @user-ey9kt4fw7j
    @user-ey9kt4fw7j 3 месяца назад

    Power plants typically use PI (no D); manual tune is usually a Notch tune where P and I are increased incrementally until oscillation occurs then backed off until oscillations cease plus a little more since both P and I increase the overall loop gain. I is necessary to run with no offset from setpoint; D is usually unstable for a large/fast process upset and therefore not used. An ideal quarter-damped response to PID control is unnecessary if stability is lost.

  • @raymondmichael4987
    @raymondmichael4987 4 года назад

    I see you with all the notifications, I appreciate it and admire you work, I will join as soon as I complete my website development at moment, but today I had to this wonderful episode.
    Greetings from Tanzania 🇹🇿

    • @paulmcwhorter
      @paulmcwhorter  4 года назад +1

      Wonderful that we have a student in Tanzania. I was there one time, just just as a stop on my way to Kenya. Would love to visit again one day. It is a beautiful country with wonderful people.

    • @raymondmichael4987
      @raymondmichael4987 4 года назад

      Paul McWhorter, yes one time you said that sir, I'm your fan since I saw your old arduino Playlist, and you made me build my simple incubator using arduino.
      Please, don't hesitate to visit my country, sooo much to see here prenty of attraction.
      I reside in Bagamoyo (a historical place, if you're into history too)😉.
      Keeep the good work sir, hopefully one day I can learn Raspberry Pi from you too.
      Greetings from Tanzania 🇹🇿 🙋🏾‍♂️

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

    Thank you Sir,
    This was very informative & helpful

  • @andrewferg8737
    @andrewferg8737 3 года назад

    Great video!

  • @liridonosmani5834
    @liridonosmani5834 3 года назад

    Thank you Paul.

  • @MalcolmHelicopter
    @MalcolmHelicopter 3 года назад

    Brilliant - thank you!

  • @meshumi1
    @meshumi1 3 года назад

    Love your videos

  • @hc8714
    @hc8714 3 года назад

    hope you return this series about Integral clamping and more optimizing aspect related to operation introduced instability. Thanks!

  • @hc8714
    @hc8714 3 года назад

    just want to let you know, I do not have all these component, so I used the same concept to work on a oven instead. All good. I learned PID!

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

    You are the greatest!!!

  • @phanitsok2370
    @phanitsok2370 4 года назад

    Thanks you so much i really like this video.

  • @mohamedsaed8361
    @mohamedsaed8361 4 года назад

    best channel ever

  • @kouider76
    @kouider76 4 года назад

    Hello Paul,
    thank you so much for all the excellent tutorials you are making especially the one regarding Control implementation. if it is possible could you make a video on how to set up an LQR control using Arduino or pi

  • @zesegatto
    @zesegatto 4 месяца назад

    49:39 - Please, use "Find and Replace" on a selected code chunk, guys. It will save you a lot of time.
    Probably he knows that trick, but choose to be moore didactic.

  • @kubilayakbulut5302
    @kubilayakbulut5302 3 года назад

    beton yetmez be reyiz adamsın

  • @rashmikp612
    @rashmikp612 3 года назад +1

    Absolutely amazing!
    After learning this course I tried to implement this knowledge in building a diy cubli but I couldn't figure out a way to relate the pid values to the pwm inputs to the DC motors. It would be great if you could help me out in understanding that relation. Thank you so much for your amazing courses!

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

      Same problem I have
      Have you got anyway to deal with such motors?
      Please! Let me know because I gotta get my project done in few weeks

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

    Brilliant video and videos in general. Your the best source of information I have in terms content type, detail and teaching style. I probably owe you a strong coffee or two at this stage. Thanks. On another note.... I wonder if the cables being connected causes additional difficulty in tuning the systems parameters. I think those constants are intended to act as a substitute for a mathematical model of the platform and ancillaries plus the wires. Perhaps the wires add an element of choas i.e the system itself is constantly changing not just the error. Tracing the wires closer to the pivot point of the platform may help??

  • @pahulgogna2382
    @pahulgogna2382 4 года назад

    Thank you sir

  • @robcameron6995
    @robcameron6995 4 года назад +1

    Hi Paul. Watched to the end 😇. I don’t understand why you alter more than one parameter at a time whilst tuning the system. Nice project keep it up.

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

    Thanks!

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

      WOW, thanks so much. Really appreciate the encouragement.

  • @zmedford1
    @zmedford1 4 года назад

    Thank you for your excellent teaching. I have used your series on the BNO055 to begin to develop my own system that is somewhat different from the examples you provide. I am trying to figure out how you have gotten the information on the use of the BNO055 that you have--can you share how you have learned it? In particular, I'm trying to understand how to set the operating modes and how to save and write calibration parameters. But I'm not good enough at reading the library file to figure it out.

  • @rbonari
    @rbonari 4 года назад

    Hello Paul,
    I was curious about the temp values reported by the bno055 imu sensor. After looking at the data sheet for the sensor it appears that the temperature being reported is the gyro or accelerometer temps depending on selection of the gyros or accelerometers in the temp register. This would make sense because on this sensor you would be more concerned about the temps of the gyros and accelerometers rather than the surrounding ambient temperature. This also explains the elevated temps compared to the surrounding ambient temperature. There are many other sensors that we can get the ambient temp if we need it for whatever reason. Also one can select between degrees C and degrees F by manipulating the temp register however this is an easy conversion via software.

  • @abnerverdoquillo
    @abnerverdoquillo 3 года назад

    We call this guy a "MASTER"

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

    Sir, thank you for your tutorial. I would like to know whether you have/will make any tutorials about filtering methods for position and orientation estimation such as Extended Kalman Filter and etc.? And whether you could describe in your channel how to use the Infos provided in the specification of each IMU to correct employ such filtering methods?

  • @samirkrireche125
    @samirkrireche125 3 года назад

    Really nice, thank you,
    by the way, is there a method to calculate the best PID parameters for these, like the ziegler nichols method or somthing else ?

  • @obtron
    @obtron 4 года назад

    Amazing thnx

  • @qck57594
    @qck57594 4 года назад

    Hello Paul, was that the last video in this series? It has been great. Thank you.

    • @paulmcwhorter
      @paulmcwhorter  4 года назад

      Yes, the last one. You could always go check out the series on Artificial intelligence on the Jetson Nano.

  • @vaughanrocketry863
    @vaughanrocketry863 3 года назад

    This is great Paul! Im working on a project where I need to mount the IMU in the vertical position how does this change things?

  • @sarahgutierrez8196
    @sarahgutierrez8196 3 года назад

    Thank you so much for this video and your series. Going line by line and breaking down the thought process for each step, especially as you fix errors, is one of the most helpful things for my learning. Thank you again!!

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

      Thank you for the kind words, Sarah.

    • @pravinchavhan8890
      @pravinchavhan8890 3 года назад

      @@paulmcwhorter
      HELLO , sir i need help with MPU6050 and want to detect 360 degree rotation and to know how many times it has completed it . It would be nice if u could help me

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

    Hello Paul. Great explanation and more importantly very well explained implementation in code. Just a quick query, how to decide the sampling rate of the PID? What I mean is, how to decide if a uC is fast enough for a particular PID implemantation.

  • @Dw-ux1ez
    @Dw-ux1ez 2 года назад

    Nice

  • @ashikislam232
    @ashikislam232 28 дней назад

    Hello Paul ,
    I'm planning on making a similar system that can keep a ball centered in the presence of disturbances. Thank you for making such a detailed video on PID! The contents of this video will be really helpful for me.
    However, I'm wondering if Ziegler-Nichols method could be used here to find the K1, K2, and K3 values a bit more faster and systematically. I can't quite figure out how to (repeatedly) simulate a unit step with this system that you have.
    Is this considered digital control? Or a digital implementation of PID?

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

    Thanks

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

      WOW, Thanks! That is a huge encouragement.

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

      @@paulmcwhorter I just finished this series of lessons... The last lesson totally cleared the concept of PID control... Thanks a ton Paul

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

    Can I make that pid calculating method general for any different systems?
    Is it possible?
    All in all, appreciated.

  • @bushraamer9251
    @bushraamer9251 3 года назад

    HI Paul ,
    Thank you so much for the wonderful series. I am doing project( 6 dof self balanced platform )can I use this code and wiring to do my project? how many dof in this project?

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

    when calculating rollErrorArea, should it change as (rollErrorArea+rollErrorSlope*dt)??

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

    Hi sir, thank you for your work I'm really appreciate it, I have a question if I can use 6 DOF IMU sensor in this project or not ?

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

      No, you really are going to need the sensor I show in the lessons. Other ones will not give you the needed outputs.

  • @Jules-ki9nx
    @Jules-ki9nx 4 года назад

    What do you think of the new BNO080? Any chance you’ll try implementing it into a project? It’s supposed to be a lot better then the BNO055.

  • @robjameson7965
    @robjameson7965 3 года назад

    For the self-levelling platform, I’ve been using LFD-06 Servos (LOBOT) for this ‘most excellent’ series & found that the +/- signs for my pitchServoVal’s seem to be the other way around in Lesson 24).
    For this final lesson - the PID control doesn’t work : ( Sporadic, random movements from servos. Anyone have any idea how to fix? I’d like to learn why, before I just buy the Hi-Tec ones Paul recommends.

  • @Adi-lv9bo
    @Adi-lv9bo 4 года назад +1

    Nice project, will be more smooth and fast with brushless motor or that is arduino/sensor limit? I ask for a camera stability project.

    • @CollinBaillie
      @CollinBaillie 3 года назад

      I don't see that brushed/brushless would make a different. Paul is using servos, but maybe a stepper motor would be more suited to your purpose?

  • @adilalsubhi3962
    @adilalsubhi3962 4 года назад

    Hi Mr. Paul, Thank you very much for your excellent explanation , I really enjoy learning from your lessons you are great teacher.
    I have Two questions in this lesson if you do not mind please:
    1. You have set Integral part as accumulating value in PID so you add the old "rollErrorArea" with new " rollError*dt" . my question : As we are actually adding it every time to the out put signal (rollServoVal) , , and in the same time adding the old output signal (rollServoVal) to the new "rollServoVal " why we still need to add "rollErrorArea" to new Integral error every loop ?? (I am little confused we might duplicating the Integral!!) , so Would it be OK if We just add it only once in each loop (I mean only adding it to the output)?? so the little change will be like the below code:
    rollErrorOld=rollError;
    rollError=rollTarget-rollActual;
    rollErrorChange=rollError-rollErrorOld;
    rollErrorSlope=rollErrorChange/dt;
    rollErrorArea= rollError*dt;
    rollServoVal=rollServoVal+k1*rollError+k2*rollErrorSlope+k3*rollErrorArea;
    2. Is it OK if I just use "delay(100);" for sampling rate instead of " #define BNO055_SAMPLERATE_DELAY_MS (100)" ?? what is the different between them, or that just for us to learn how to use "define" function ?
    I hope my first Question is a bit clear to you sir.
    And Thank you very much again for the excellent and quality work you are doing, we are learning a lot from you , God Bless you .

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

    bookmark 23:53 for study purposes

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

    Thank you sir for your painstaking work.
    This PID algorithm may be utilized to control movement of a self navigating wheel robot over an area (to be specified). This is to request you to kindly elaborate. I am interested to get a feedback from you. Thanking you.

  • @j1952d
    @j1952d 3 года назад

    Pitch and roll have different mechanical properties, so should have different sets of K values.

  • @m.samaha4708
    @m.samaha4708 3 года назад

    I have some ideas. is it possible to make PID for PID. If the first PID results are not accurate as I wanted. but it gives me good results. however, I still need better results can I use PID for a second time.
    the second question, Does the leveling system work at 360 degrees?