PID Controlled Ping Pong Ball juggling Robot

  Рет қаралды 71,067

Electron Dust

Electron Dust

9 жыл бұрын

A wooden plate juggles (and balances, while juggling) a ping pong ball (PID controlled).
Read more here: electrondust.com/2017/10/28/t...
things used on the plate:
-4 mics (for the determination of the ballposition)
-4 Savöx servos (for the movement)
-1 Mbed LPC1768 microcontroller (for the PID controlling)
-some analog signal processing circuits (for the mics)

Пікірлер: 58
@galva1083
@galva1083 4 жыл бұрын
LOL, I jumped to 0:39 and was wondering what kind of Alien tech is going on here!
@danterusso6354
@danterusso6354 7 жыл бұрын
Well done. Trajectory and proximity calculations have always been favorite algorithms of mine. I appreciate you sharing you work with us.
@ElectronDust
@ElectronDust 7 жыл бұрын
Thanks! Truth be told, this thing doesn't even use high level calculations. It just tries to figure out where the ball is every time it hits the table and then decides how much and in what direction to tilt the plate...
@Maxisokol
@Maxisokol 6 жыл бұрын
Hahah, this is a good continuation of ball/plate systems. ;)
@kayipchan832
@kayipchan832 5 жыл бұрын
A fantastic system!
@jackc.2848
@jackc.2848 4 жыл бұрын
0:39 "you are now entering the twilight zone"
@The1wsx10
@The1wsx10 7 жыл бұрын
you should set this up to make a stop-motion of a flying ball :D
@ElectronDust
@ElectronDust 7 жыл бұрын
cool idea! ^^
@NK-fx1qs
@NK-fx1qs 3 жыл бұрын
cool. where did you go with this? did you add some high velocity impact to really elevate the ball or anything cool?
@Peter-sj6yn
@Peter-sj6yn 7 жыл бұрын
Hi Tobias I really like this. thanks for the video.
@ElectronDust
@ElectronDust 7 жыл бұрын
Hey Peter! Thanks. I really like your micro servo arm. Very cool! You inspired me to try to build a micro servo arm myself :)
@julienmorris7051
@julienmorris7051 6 жыл бұрын
That s brilliant !
@Robokong
@Robokong 7 жыл бұрын
Love this project, going to have my robotics team build one. Do you have specs for the microphones and the controller you used?
@ElectronDust
@ElectronDust 7 жыл бұрын
Hey, Thanks! I used cheap electret mics. They are connected to an analog circuit which does the following: - amplify the signal - set a FlipFlop to High when the sound signal peals above a certain voltage level the micro controller (Mbed LPC1768) reads the FlipFlop states as fast as possible and counts how much difference there was in opposing mics getting set. btw, here is the same project with a camera: kzbin.info/www/bejne/b5atdGeIasyWsJI
@peizhangzhu2656
@peizhangzhu2656 6 жыл бұрын
Could you share the sound frequency of the ping pong hitting the board? Thanks
@raheels.1068
@raheels.1068 6 жыл бұрын
Hi. Great work. Very nice project.
@ElectronDust
@ElectronDust 6 жыл бұрын
Hi. Thx!
@user-eb8mp3ju1h
@user-eb8mp3ju1h 6 жыл бұрын
I saw this video and made it similar using OpenCV. Thank you!!
@ElectronDust
@ElectronDust 6 жыл бұрын
Oh, I'd like to see it!
@user-eb8mp3ju1h
@user-eb8mp3ju1h 6 жыл бұрын
kzbin.info/www/bejne/gGevlGeDeZhlqNU here is the link
@patriotir
@patriotir 6 жыл бұрын
incredible!
@trashz8015
@trashz8015 3 жыл бұрын
That's fantastic.
@miguelangeljimenezhuerta1036
@miguelangeljimenezhuerta1036 6 жыл бұрын
Hi bro, I would like to build the project for school, it is amazing. Are the wooden bars that make the X shape fix ? Or they act like a scissor?
@ElectronDust
@ElectronDust 6 жыл бұрын
Hey Miguel! They are like scissors!
@gortnewton4765
@gortnewton4765 4 жыл бұрын
So, here we are at 2020, 6000 years after the Pyramid of Cheops was built by Egyptians that we still can't understand how it was built and we have a table that bounces a ball... our civilization has advanced. Fantastic.
@voyager5344
@voyager5344 6 жыл бұрын
Hi, thanks for sharing this awesome project. Do you think we can use STM32F103C8T6 instead of lpc 1768 on this project? Coz, this one is quite expensive comparing STM32. Thanks!
@ElectronDust
@ElectronDust 6 жыл бұрын
Microprocessor speed is an important factor since you are trying to get the time difference between the sound waves hitting the mics. looking at the datasheet of the STM32F103C8T6, it seems like it's max frequency is 72 MHz. If you do it the same way I did (processing the mic signals with a analog circuit and switch FlipFlops on as soon as the signal hits some threshold), then you can read the values (of the FlipFlops; one per mic) via digital input. So you at least do not have to worry about the speed of the ADC. But as said, speed matters. The LPC1768 runs at a max of 100 MHz. So you might argue that the difference probably isn't too big. Still, you might want to compare the datasheets carefully (and maybe take other microprocessors into consideration) before making a decision.
@voyager5344
@voyager5344 6 жыл бұрын
Electron Dust thanks for your respond, I would like to ask what was the speed of the mics you used in this Project if you remember? I found mics available in speed of 20Hz-16KHz, I am not sure they are good to go, and i assume you used d type flip flops. I will try to work with stm32 microcontroller this project and let you know results, thanks!
@ElectronDust
@ElectronDust 6 жыл бұрын
Sorry for the late response. In the case of the mic, the 20Hz-16KHz Range isn't as much of a speed, but rather the bandwidth of soundwaves the mic can pick up. But you're probably aware of that. 20Hz-16KHz will do fine! I think I used D-Type FF's. Can't remember though. I just flipped them on and reset them all at once, once all 4 of them got triggered.
@doomdjyo5997
@doomdjyo5997 3 жыл бұрын
The machine is so good the ball floats 0:42
@666PLATINO
@666PLATINO 6 жыл бұрын
Hello dust, which servos did you used? I saw in the video’s description that u used vörtex servos but wich one?
@ElectronDust
@ElectronDust 6 жыл бұрын
Hey Martin, Those were Savöx SH-0262MG! Got to tell you though that the servos got a bit weak after a while. In the end, one of them wasn't able to lift the plate anymore. The weight was probably too much. Other servos might suit the job better! Need to be at least as fast as the Savöx. Speed matters.
@666PLATINO
@666PLATINO 6 жыл бұрын
Electron Dust Thank you so much
@npoddubny
@npoddubny 6 жыл бұрын
Can you make 10 hour version please?
@adityasidham1812
@adityasidham1812 3 жыл бұрын
Get some help
@TutocarloCV
@TutocarloCV 7 жыл бұрын
nice
@marcelorodriguez2321
@marcelorodriguez2321 7 жыл бұрын
good very good project I wonder if could send information, schematics and codes
@ElectronDust
@ElectronDust 7 жыл бұрын
I think I posted a link to the code somewhere in the comments/description. There are no schematics. I just wait for a signal from the mics big enough to set some flip flop. While doing that I get the voltage levels of all the FFs (4, because there are 4 mics) and compare the time difference between opposing mics. The servos move around with PID.
@hanakang2794
@hanakang2794 3 жыл бұрын
whats the purpose of it
@marcio6498
@marcio6498 6 жыл бұрын
Please, my friend, give us this opportunity and let us know the step-by-step of the project with the measurements and parts.
@ElectronDust
@ElectronDust 6 жыл бұрын
I have no measurements. And I already destroyed the thing. All you need is a flat plate as the initial position. In this position, the servos should be approximately rotated the same amount. Here's a blog post, just in case you didn't see it: electrondust.com/2017/10/28/the-quest-to-get-a-machine-to-juggle/ The important thing is to start. Just buy some servos and get them moving. after that, you can worry about the rest.
@buzzmas8068
@buzzmas8068 5 жыл бұрын
But why?
@wastetv9
@wastetv9 4 жыл бұрын
Its dam cool
@ethanvx
@ethanvx 8 жыл бұрын
Hey that's pretty good
@ElectronDust
@ElectronDust 8 жыл бұрын
Hey Thanks! :)
@marcio6498
@marcio6498 6 жыл бұрын
Hello my friend. Could you teach me how to build this project? It's for a school project. Please.
@Mauropaz666
@Mauropaz666 6 жыл бұрын
what sensors are these?
@ElectronDust
@ElectronDust 6 жыл бұрын
Those are panasonic NaPiCa light sensors.
@jeanlebosse
@jeanlebosse 6 жыл бұрын
It s genuis
@Ryan-mg9fg
@Ryan-mg9fg 7 жыл бұрын
Hey +Tobias Kuhn I'm doing something similar to this project but instead of bouncing the ball I am trying to keep it at a stable position like the following video kzbin.info/www/bejne/oGWynomCmMSietk but do you think you can explain to me what is calculating the balls position and where the machine should be going to? I know its using a PID loop or something but still a little unclear would love some insight!
@ElectronDust
@ElectronDust 7 жыл бұрын
Hey Ryan, I wrote an article about ping pong ball juggling here: robotshop.com/letsmakerobots/node/51318 Some more explanation: The timing for the upwards motion is fixed. This works, because the upwards motion speed is slow - fast - slow (because of the construction). If the ball hits the plate earlier than usual it will hit the fast moving plate. If it hits the plate later than usual, the plate will already have slowed down, so the energy transferred from the plate to the ball on impact is smaller than usual. Hope this helps.
@ElectronDust
@ElectronDust 7 жыл бұрын
Hey Rayn, I just noticed that I didn't really answer your questions. So let my try again: The balls position is calculated by using the sound it makes when it hit's the plate. And as you are suspecting, the thing is using a PID loop to calculate the next move. If the ball is quite far right, the machine tilts the plate to the left. if the ball is quite far right, but it is less far right then last time (the ball is moving towards the middle), then the machine tilts the plate to the left, but not as extreme as before.That's how the "PD" works. I actually didn't use the "I" part I think. In the ball balancing system the P and D parts are doing this: -P: tilt the plate in the opposite direction of the balls position (the center being in the middle of the plate) & tilt it harder the further the ball is away from the center. -D: tilt the plate in the opposite direction of the ball's movement. If the ball isn't moving at all, this value is 0. If it is moving to the right, this will cause a correction to the left. In the end you just add the P and D values and use it on the servos which are controlling the tilt on the plate. You might want to use one PID controller for the x axis and another one on the y axis.
@abdenourouldturki7683
@abdenourouldturki7683 8 жыл бұрын
could share the code ;)
@ElectronDust
@ElectronDust 8 жыл бұрын
Hey Nourri, Here you go: developer.mbed.org/users/pnpako/code/LCD_XpressoBoard_3_SoundSens/ It's a mess.
@abdenourouldturki7683
@abdenourouldturki7683 8 жыл бұрын
Well thank you some much and wich u devolopping more and more ;)
@jiayuezhang4563
@jiayuezhang4563 7 жыл бұрын
666
I Built a Ball Balancing Robot
8:55
Aaed Musa
Рет қаралды 1 МЛН
PID Balance+Ball | full explanation & tuning
13:13
Electronoobs
Рет қаралды 731 М.
THEY made a RAINBOW M&M 🤩😳 LeoNata family #shorts
00:49
LeoNata Family
Рет қаралды 12 МЛН
I wish I could change THIS fast! 🤣
00:33
America's Got Talent
Рет қаралды 98 МЛН
Ball Balancing Robot pt.2
4:28
Aaed Musa
Рет қаралды 10 М.
Juggling ROBOT or NOT???
7:01
Luke Burrage
Рет қаралды 4,4 М.
The Octo-Bouncer
4:26
Electron Dust
Рет қаралды 4,8 МЛН
This Car Travels Farther Than You Push It
13:42
Tom Stanton
Рет қаралды 2,6 МЛН
Ball on plate control
4:50
TS 177
Рет қаралды 28 М.
Controlling Self Driving Cars
4:41
AerospaceControlsLab
Рет қаралды 498 М.
6 Degrees of Freedom Flight Simulator Platform
3:36
RunRabbitRunRunRun
Рет қаралды 263 М.
I 3D Printed a $1,224 Chair
23:56
Morley Kert
Рет қаралды 73 М.
Best mobile of all time💥🗿 [Troll Face]
0:24
Special SHNTY 2.0
Рет қаралды 2,2 МЛН
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1 МЛН
GamePad İle Bisiklet Yönetmek #shorts
0:26
Osman Kabadayı
Рет қаралды 364 М.
Собери ПК и Получи 10,000₽
1:00
build monsters
Рет қаралды 2,1 МЛН
ИГРОВОВЫЙ НОУТ ASUS ЗА 57 тысяч
25:33
Ремонтяш
Рет қаралды 321 М.
YOTAPHONE 2 - СПУСТЯ 10 ЛЕТ
15:13
ЗЕ МАККЕРС
Рет қаралды 163 М.