Это видео недоступно.
Сожалеем об этом.
Robot Controllers Part 1: PID (with Dr. Christian Hubicki)
HTML-код
- Опубликовано: 17 авг 2024
- In this live stream, @chubicki and I are teaming up to build a PID Controller, first in python and then in p5.js!
Base Python code: tinyurl.com/ca...
Final Python code: tinyurl.com/ca...
p5.js sketch: editor.p5js.or...
GitHub Repo: github.com/Cod...
Demo: codingtrain.gi...
Dr. Christian Hubicki is an Assistant Professor of Mechanical Engineering at Florida State University and the FAMU-FSU College of Engineering. As Director of the Optimal Robotics Laboratory, his research specializes in bipedal locomotion, specifically optimization methods that apply to both legged robotics and biomechanics.
Follow Christian!
🐦 / chubicki
🖼 / chubicki
▶️ / @chubicki
🔴 / chubicki
0:00 Waiting to Start
4:38 Welcome!
7:30 Introducing Dr. Christian Hubicki
9:49 Christian's Introductory Presentation
14:48 How to Follow Along
16:22 PID Controller Lecture
44:09 Coding in Python!
1:23:58 Introducing p5.js and matter.js
1:37:18 Coding in p5.js!
2:48:30 It works!
2:49:19 Wrapping up and next steps
🚂 Website: thecodingtrain....
💬Discord: / discord
💖 Membership: ruclips.net/user/the...
🛒 Store: standard.tv/co...
📚 Books: www.amazon.com...
🎥 Coding Challenges: • Coding Challenges
🎥 Intro to Programming: • Start learning here!
🔗 p5.js: p5js.org
🔗 Processing: processing.org
This is one of, if not the best explanation I have seen for the PID controller. Kudos to the doctor for breaking this down and building it back up from first principles. Great job!
Watched the PID lecture, then sped the video till I reached the result in p5.js and I was so impressed and amazed that I honestly smiled because of how great the video is, also I was going to use it in few days because I was doing a drone from scratch, now just setting up the MCU for communicating with the IMU, cheers!
I'm an automation engineer and part of my job is to write code to control the air flow and air temperature of HVAC units with PID controllers (mostly just PI, actually). I have also practiced JavaScript for 3 years. I got started with JS programming through p5.js, inspired by this RUclips channel. If I can somehow use my skill set to help the Coding Train community, I'd be happy to help.
I probably won’t get to setting it up until tomorrow but would welcome contributions to the GitHub repo for this stream!
I used to be a regular viewer of this channel. I'm still subscribed, but I have to admit my viewership has really fallen off for a couple years. But I decided to watch this one; and kudos to everyone involved; the guest speaker really Perfectly meshed into the whole vibe of the channel. Overall an A+ entry in the catalog.
Great video! I was always scared by the calculus in PID controller and never attempted to code it up, but seeing how simple it really is is amazing! You're both great teachers.
Survivor!!!!!!! Whaaaaaat!! this is Awesome!!!!
i found Christian a super insteresting, very smart guy! this lecture was very interesting and fun to watch, i would love to see more crossovers like this Daniel! thanks for this!
👏🙏
I hope this video be available in the future when I need to watch it again ..
Hahaha
Very Awesome - thank you so much!
Nothing better than watching a video and then needing to get out your favorite editor right away and start playing :)
Hey Dan and Christian, very cool video! I am now writing my bachelors thesis on controlling a triple linked pendulum so this is coming just at the right time for me! Please more collabs like this :)
I would love to see this thesis. I am intrigued by this topic.
We use PID to tune drones. This is very informative. Thanks
I will repeatedly watch this video until i understand it. Thanks for sharing. I am enjoying it a lot.
This is so awesome! Thanks for providing your expertise, each of you. I learned a lot!
I really admire this guy
What about the PI control? this one is a great one when having to control continuous flow, speed, pressure, etc!.
Great stream!, looking forward for more of these! Thanks Daniel and Christian!
Definately, for jerky movements that go back and forth, you want more of a PD controller, but when the motion is continuous, like the speed of a motor in a CNC lathe, the disturbance being the force imprinted by the material over the working tool, so the controller has to compensate in the same direction, has to settle fast, with no overshoot, then the PI controller is best for this! Dr. Christian is Spot on in every aspect of motion control! really nice!
This was a very interesting stream, I hope to see you doing more collaborations like this
i Just Noticed that @1:15:44 when the integral term is added, it looks a lot like a Zero Order Hold, which is a little buffer in digital systems that keeps track of the sampled signal in the digital Domain, very interesting!
that noisy wind would be nice to watch
true, good idea hahaha
Christian Hubicki??? From SURVIVOR?????
Yes
That’s right!
Thank you for putting so much effort in editing this videos.
AWESOME!!! love you guys.
Great stream!
Brilliant as always!
Kp, Ki, Kd are all MAGNITUDES; thus are always positive constants/factors.
All that really matters is that the gains are the same sign.
I believe the reason you had to invert the gains is the assumption of the positive direction of the angle. In the mathematical formulation it is assumed that counter-clockwise is the positive direction, while in p5.js it is positive in the clockwise direction.
Waiting for part 2
I was taught some control system theory in college and I don't think I got or was even told why the I term was there. I think all I saw was equations. But this was completely clear and made perfect sense.
Absolutely brilliant
As a survivor fan too, this crossover is tripping me out - I vaguely remember seeing daniel in a RHAP meetup video once, what are the odds of daniel playing a game of survivor? 🤔😆
Same
My dream is a RAANAP + Coding Train crossover! 🎡
This is the best college class I’ve had
lol me too, it was fun as well!
X3
You can run into problems with that error integral. If the actuator output runs to the limit it can cause windup to the integral. There are some fairly complex anti-windup algorithms but the simpliest solution is my favorite: Just add the first-order filtered controller output to the sum. I learnt this from one of Åhström’s books
Daniel, please play survivor, i think you'll be awesome!!!
It would be great if you could look into Kalman filters for predicting and smoothing inputs.
I would love to see that!
I made one of these inverted pendulums in Lego with an AVR controller 14 years ago.
In conclusion: Dr. Hubicki ate all the pi.
Thanks!
Thank you for the generous support!
NICE
How I understand PID
P controller -> Gets you to your desired state
D controller -> Stops you at that desired state
I controller -> if something stops you from achieving that desired state then it gives you just enough force to get you there
(Please corret me if im wrong or tell me about how you understand it)
You're generally right, but you should avoid using derivative terms when possible since a pure derivative term cannot be implemented because it needs future information to operate right. Research the concept of feedback and you'll get a much better idea about what the derivative term does. You have a good simple explanation that's 90% of the way there!
I still believe that it is the same guy filmed twice...:-)
Omg YOURE BACK 😭😭
maybe if we change desired angle little bit based on the PID of (error of centering the rectangle) it would work. Great Video btw
Dear God is that the comptroller of slam town?
Indeed!
Molto interessante! 👍
Iscritta 😊 Buon pomeriggio 🌈
I hear you fine
Cool I just wrote one of those in unity!
I think mr special guest is quite used to having a class of people to do lectures to hehe
I don't think they were hiding that. He's a professor.
Could you please add the topic of windup in the I part of the PID? And about methods to get rid of it.
If you combine PID controller with AI , can we make a PID controller that tunes itself to optimal?
They talked a bit about using evolutionary algorithms to tune controllers, which is close to what you're describing. Neural nets are sort of evolved
then just get rid of the PID, and let the AI do all the job
sir how do you get ridd of the text like :- // noStroke();
I can't find how to make the processing editor text bigger
WOW HEY DAN
the stream auto plays after another video.. "goodbye everybody" stream ends. thank you youtube.
2:06:37 Christian's reaction 😂😂😂
Hi, I am new to nature of code and it is mind blowing🤯🤯🤯!!! I like to start learn nature of code. Please guide me, where I have to start?
The answer is kind of an "it depends""! Do you know coding already? If not start here: ruclips.net/p/PLRqwX-V7Uu6Zy51Q-x9tMWIv9cueOFTFA If you do already know programming then you can jump right to here: ruclips.net/p/PLRqwX-V7Uu6ZV4yEcW3uDwOgGXKUUsPOM
why not using Fuzzy Controllers? Much simpler
What about bob?
Py Dan is almost as funny than Js Dan.
When do you do a new video of the Nature of Code 2?
I hope soon!!
Hey The Coding Train i have one big challenge for you can you create image which should be clickable, what i mean is we just sharing them across social media but if user open image and tap somewhere inside image then it should be clickable, And I think we might can achive this by manipulating image bytecode hope to see you thoughts on this challenge.
I don't understand what you mean
@@RedHair651 as we have actionable pdf where we can set clicks in element, is it possible same for images?
Hi I got captures by copium addicts.
What is the use of learning p5.js. It does not make any money to me and, makes money to you.
What's Dan's instagram?
I don't really use instagram but there is a CT one here: instagram.com/the.coding.train