Balancing robot final year project

  Рет қаралды 219,610

József Fekete

József Fekete

11 жыл бұрын

//------------------------------------------------------------------//
You can find the Atmel studio folder of the robot's code and schemantic here:
www.dropbox.com/sh/fjjwcn1w03...
//-----------------------------------------------------------------//
//-----------------------------------------------------------------//
Usefull informations:
PID controller:
www.cds.caltech.edu/~murray/co...
Complementary filter:
d1.amobbs.com/bbs_upload782111...
//-----------------------------------------------------------------//
Components:
Microcontroller: ATmega32
Gyroscope: mpu-6050 (in the video I used a LISY300)
Accelerometer mpu-6050 (in the video I used a BMA180)
Encoder: Ball mouse
Motor Controller: Pololu TB6612FNG
Motors: Old DC motors madi in Japan :) SM - E048
- 12500 RPM without load.
- Current: 0.1 A Without load 1.5 A When the wheels are changing the direction of rotation, or when going uphill.
Battery: Electric drill 9.6V NiMH
Wheels: Toy tractor
Geer ratio: 1:8
Bluetooth-SerialPort converter: hc - 05
Complementary filter (For the angular velocity I used only the Gyro)
With the use of euler angles balancing end turning in inclined surface is more easier
Remote Controller:
ATmega328P
PS2 Analoge Stick
Bluetooth-SerialPort converter: hc - 05
//-----------------------------------------------------------------//
The requested velocity when the robot is standing still is:
ReqVelocity = RobotPosition(mm) * positionKP
poitionKP = 0.008
The requested angle is calculated by a PI controller. The setpoint for this controller is ReqVelocity. The measured velocity is filtered by a Low pass filter. the output of the controller is the ReqAngle
velocityKP = 2
velocityKI = 1.64
PIDoutput is constrained between = -20,20 this is the maximum angle that the robot would try to reach when accelerating.
The maximum value whereby the ‘I’ can change is 6.6. So when calculating the integrator value then error can constrained between +-maxIchange/velocityKI
The requested PWM for the motors is calculated by a PD controller. The setpoint for this controller is ReqAngle. To eliminate the derivative spikes D is calculated from the measured angle change, not from the error.
angleKP = 40
angleKD = -4.5 (this is minus because it isn’t calculated from the error)
PIDoutput is constrained between -255, 255
The output of this controller is also filtered with a Low pass filter
To keep the robot’s orientation another PWM value is calculated and then added to one of the motors and subtracted from the other.
orientationKP = 5
orientationKD = 0.1
the whole program runs in a loop 100 times in a second.
If the value of the filters would changed, than the PID’s value would also need to be changed.
The low pass filter’s code with fixed timing is:
filteredARRAY[0] = rawDATA*LPFgain + filteredARRAY[1]*(1-LPFgain);
filteredARRAY[1] = filteredARRAY[0];
velocity LPFgain = 0.35 //0.45
PWM LPFgain = 0.2 //0.45
reqeustedVelocity LPFgain = 0.05 (this is to smooth the setpoint changes)

Пікірлер: 216
@fl4650
@fl4650 9 жыл бұрын
The best one yet! Very thorough video showing the details of operation. I loved it and was mesmerized by the end. Must have taken a LOT of hard work.
@jiffylib50
@jiffylib50 6 жыл бұрын
Wow that thing is calibrated so goddamn well. Truly awesome job man :)
@user-fw5vf4bn5q
@user-fw5vf4bn5q 7 жыл бұрын
Through your project, I began to build like a robot! Thank you for the hidden ideas that are viewed on a video.
@ranulfo102
@ranulfo102 8 жыл бұрын
CARA VOCÊ ESTAR DE PARABENS, SEU PROJETO ME SURPREENDEU. PARABENS MESMO. SEU PROJETO FICOU DEZ, AGORA PRA FICAR MIL, SÓ FALTOU UM VÍDEO MOSTRANDO TODA MONTAGEM E CONFIGURAÇÕES. FACE YOU LIVING CONGRATULATIONS, YOU SURPRISED ME PROJECT. EVEN PARABENS. YOUR PROJECT WAS TEN, PRA NOW BE THOUSAND, ONE MISSED A SHOWING VIDEO INSTALLATION AND SETUP ALL.
@Andreotti1001
@Andreotti1001 8 жыл бұрын
Great job man.That's really well done!
@CaraAmar
@CaraAmar 7 жыл бұрын
this is the true of DIY, not like the other.. other ppl are buying a sainsmart kit, assembly in 30 minute and play it, and they said that's DIY (LOL) sry for bad english, good job! pls, keep doing your great job, i like your video!!
@scootergem
@scootergem 3 жыл бұрын
That's one nice robot you have there. Very good job.
@marcosinfante8773
@marcosinfante8773 8 жыл бұрын
pretty good job. Its amazing!!
@PauloLoma
@PauloLoma 10 жыл бұрын
Great use of inverted pendulum control system, you inspired me.
@C.L.Hinton
@C.L.Hinton 5 жыл бұрын
Nice! I hope you got a great grade on this project. I came here from the Captain Disillusion QuickD video of the Method Robot.
@rallekralle11
@rallekralle11 8 жыл бұрын
that there is one awesome little robot. and one awesome guy who somehow managed to build it. i hope i'll be able to build a controllable self-balancing robot some day... but for now i'll just have to keep 3 wheels on the ground.
@laurentmaillard1355
@laurentmaillard1355 3 жыл бұрын
Nice job 👏🏻👏🏻👏🏻 Very efficient ! Congratulations
@AnnaelleD
@AnnaelleD 7 жыл бұрын
Excellent! And I like the final dance :-D
@maksvl8366
@maksvl8366 11 жыл бұрын
I apologize for my English, I write through the translator. Awesome and amazing! I am shocked by what he saw, to achieve such a huge job.
@slavric
@slavric 8 жыл бұрын
Fabulous job. Really enjoyed watcking :)
@ArthurFeriottiRosa
@ArthurFeriottiRosa 9 жыл бұрын
Amazing job! Thanks for sharing
@szegediomaguszoltan7862
@szegediomaguszoltan7862 9 жыл бұрын
Gratulálok, remek munka!
@kedarpednekar1518
@kedarpednekar1518 8 жыл бұрын
whoaa, perfectly working . nice bro
@cresenciohernandezrosales271
@cresenciohernandezrosales271 4 жыл бұрын
Thanks a lot to share your detailed knowledge.
@ricardobarreto8541
@ricardobarreto8541 7 жыл бұрын
Very interesting design. The people who did not like it are because they are envious. Congratulations
@koz
@koz 8 жыл бұрын
Incredible. Amazing.
@alexk6745
@alexk6745 8 жыл бұрын
Brilliant !!! Welldone !!!
@Kicsicsikar
@Kicsicsikar 11 жыл бұрын
Nagyon ügyes vagy!!!! Gratula!!!!
@nosknut
@nosknut 6 жыл бұрын
Those motors are amazing! How did you make them so powerful!!!
@kimhuynh6672
@kimhuynh6672 10 жыл бұрын
thank you very much József Fekete!
@stub1116
@stub1116 7 жыл бұрын
That video was awesome!
@alimahmoud8708
@alimahmoud8708 2 жыл бұрын
Great project man, one question though: What were the criteria used in evaluating the control algorithm?
@StuffBuilder
@StuffBuilder 8 жыл бұрын
Amazing job!
@DARSHANCHANDEKAR
@DARSHANCHANDEKAR 8 жыл бұрын
hi Jozsef, this is really coooolllll.... i have few questions for you if you like to answer, questions could be not related with this project of yours.. 1. the robot yuou have build balances only when the power is on or otherwise also..? 2. do you know Gyro Tech. is that also works only when the power is on or otherwise also? 3. is there any such module where one can fix heavy things on the wheels and it still doesnt fall, like the Gyro Bikes.. thank you for your time
@ProSportsResumes
@ProSportsResumes 9 жыл бұрын
Phenomenal Job!
@conanedojawa8750
@conanedojawa8750 7 жыл бұрын
Awesome Job man
@prembaranwal2008
@prembaranwal2008 7 жыл бұрын
awesome. enjoyed watching.
@yosangirma8648
@yosangirma8648 8 жыл бұрын
Excellent!!!
@slabua
@slabua 8 жыл бұрын
Great project!
@wheeldood6130
@wheeldood6130 7 жыл бұрын
Really cool project
@condronugroho852
@condronugroho852 9 жыл бұрын
Good job. It's amazing. (Y)
@vikassharma8427
@vikassharma8427 8 жыл бұрын
Awesome!!!
@pablofernandogazitua
@pablofernandogazitua 9 жыл бұрын
Excellent project! You have the algorithm for calculating the balance of the robot? I see that you do not use potenciomentros for pid, correct?
@markuskus01
@markuskus01 7 жыл бұрын
Excellent job dude! What resolution have the encoders?
@simonboulin3970
@simonboulin3970 6 жыл бұрын
Wow, man! Fabulous! I need to make one with arduino
@qtix4544
@qtix4544 8 жыл бұрын
Awessome!!
@eduardoyuren5908
@eduardoyuren5908 8 жыл бұрын
One question, the height influences the calibration? I mean you did so for more stability of that size? or small work? Currently I have trouble stabilizing mine :(
@anissechiali6735
@anissechiali6735 7 жыл бұрын
Good job!!!!
@bojanks
@bojanks 7 жыл бұрын
Amazing.
@alirooney2683
@alirooney2683 8 жыл бұрын
Brilliant ...
@poong322
@poong322 5 жыл бұрын
perfect!
@TaylorAlexander
@TaylorAlexander 10 жыл бұрын
Looks good! FYI you can get more stability by mounting the battery higher up. A higher center of gravity makes balancing a pendulum easier. :-)
@fekete123
@fekete123 10 жыл бұрын
Yes you’re right. Actually I tried that setup in an earlier version (see my other video). But I wanted to try it with different payloads. So, I needed that space in the top. But now you mention it, maybe I place it under the top plate upside down.I can raise the centre off mass with that. Thanks!
@TaylorAlexander
@TaylorAlexander 10 жыл бұрын
Either way its an excellent build! I've never gotten around to building a balancer myself. Keep up the good work. :-)
@dx_logan
@dx_logan 8 жыл бұрын
Hey, i am doing this project for my final year course and i would like to know a little more about it, like the full material list, ect..
@shivamkaushik3106
@shivamkaushik3106 4 жыл бұрын
Good balancing
@izzatsbaakhi5255
@izzatsbaakhi5255 8 жыл бұрын
good job i was wondered about the mathematical models and analysis for the robot, and the final report, please if you can attach them you will make me a favor
@zohaibamir1252
@zohaibamir1252 7 жыл бұрын
with that sort of PID understanding and filters you could make a quadcopter like a dead stone in the air...
@poong322
@poong322 7 жыл бұрын
WOW! Good!!
@ashishinus
@ashishinus 7 жыл бұрын
May I know what kind of course you were going for? I don't see any of these in my major lol or see anything other than elec engineering students doing it. Cheers!
@angelsanchez2092
@angelsanchez2092 7 жыл бұрын
As you did to eliminate noise from engines and common ground for the accelerometer.
@vitoraguiar5105
@vitoraguiar5105 8 жыл бұрын
Hi, and let me tell you that this is far away, the best self balancing robot that i ever seen. Fantastic. I am trying to build my self balancing robot in python but the tune of the controllers is crazy. I have 3 controllers: Position, Velocity and Angle and is taking too much time to find the right values. Maybe i am doing something wrong. Can you send your report? It will be nice to read your work.
@sghaierbilel8207
@sghaierbilel8207 8 жыл бұрын
great job
@jesuscolomino7835
@jesuscolomino7835 8 жыл бұрын
wanderfulll!!!
@123wga123
@123wga123 8 жыл бұрын
Hey dude, what's up?! I'm developing a robot like this and I wonder what the real use of encoders in the wheels. Are they basically used to find the direction that the robot is walking? Do you have an article or paper published so I can base myself in it? I am doing a final year project about it and know that your work will be a good bibliography! I will quote and destine the credits to you! Thank you so much!
@crockett616
@crockett616 9 жыл бұрын
Cool project. Can you explain how the robot works on inclined surfaces, how does the algorithm handle that? Did you have to work a lot to get that to work? I dont really understand PID and I thought it would be difficult to use the same settings for incluned surfaces as for flat.
@fekete123
@fekete123 9 жыл бұрын
crockett616 Hi! My robot uses a PID controller to calculate the PWM for the motor controller. It needs a measured angle (from gyroscope and accelerometer) and a requested angle. The requested angle can be calculated in different ways: If you want to keep the robot’s position on a flat surface, you only need the distance from the position, and the actual speed of the robot. These can be measured with a wheel encoder. As the distance increase from the home position, the requested angle increases too. Because of this the robot starts to accelerate to the home position. And in the same time as the speed increases, it will decrease the requested angle. This is basically a PD controller. If you also want to balance on an incline surface you need a different approach. The distance from the home position gives a requested speed. (rSpeed = posKP * pos) This gives input to a PI controller, which calculate the requested angle. So if my robot starts to balance in an incline surface the following happens: The robot start to move to the bottom. The distance from the Home position increases, so the “P” part of the PI controller starts to increase the requested speed. After a while the robot stops. But we also have an “I” part witch increases over time. This integrator part helps to the robot to come back to the home position. Of course it leads to a problem that called integrator windup, but it is a different topic, too long to explain. Basically when my robot is traveling with a constant speed on an incline surface and reaches the top, the “I” part still need time to decrease so the robot accelerate until the integrator part reach 0. I used some anti windup method to compensate this.
@lordcrunk4790
@lordcrunk4790 8 жыл бұрын
Awesome, any plans on making a TARS robot?
@dbolorkhuu
@dbolorkhuu 7 жыл бұрын
good job!
@davinderc
@davinderc 8 жыл бұрын
What control scheme are you using? I hear a lot of people seem to use a two-stage PID.
@zapper1000x
@zapper1000x 8 жыл бұрын
really cool robot!! can you please explain and put up schematics?
@vishaldimri4293
@vishaldimri4293 8 жыл бұрын
superb maan
@SirArghPirate
@SirArghPirate 7 жыл бұрын
So you're running the entire code and all processes on a single microcontroller? I'm currently working on a similar robot with encoders but was thinking the microcontroller wouldn't be able to handle the encoders at the same time as running all the other processes PIDs (for position, velocity, tilt), filters and sensor processing. Do you know the actual looptime?
@giusepparomano6168
@giusepparomano6168 9 жыл бұрын
hello I might have to do the connections between the cards ? thank you
@Itnecap
@Itnecap 7 жыл бұрын
wow incredible !! where do you come from ?
@dineshcondur
@dineshcondur 7 жыл бұрын
Awesome ! Dont get to access the link to the complementary filter!
@dreamelectronics3254
@dreamelectronics3254 7 жыл бұрын
awesome
@UlrichC
@UlrichC Жыл бұрын
cool👍
@CS20200
@CS20200 9 жыл бұрын
(Y) awesome project buddy (Y)
@chaoxi8966
@chaoxi8966 8 жыл бұрын
Sir, could you recommend a place to get all the necessary parts for this project?
@cameraman106
@cameraman106 9 жыл бұрын
From a long time I didn't wait to watch a video till the end, great work and good luck one question please, How the robot know it position to stick to it ? means if you forced it to move to another position it return back to the same position with the same orientation
@fekete123
@fekete123 9 жыл бұрын
Hi and thanks! The key word is odometry end rotary encoders. The encoders measure the rotation of the wheel, so you can predict the distant that the robot travelled. And if you know the diameter of the robot’s wheels and the length of the shaft, then you can calculate the orientation of the robot. When the robot stops moving, the program stores the actual position and the orientation into a variable. If I force it to leave this position, more than let’s say 20cm then the robot starts to travel back along the X axis to the home position, and then make turn, and travel along the Y axis. And in the end it turns to the original direction. I found this video. I think it explains the odometry more then I can. 2.3 Odometry | Control of Mobile Robots
@jakubblokesz3017
@jakubblokesz3017 8 жыл бұрын
Nice robot. I only don't understand how do You calculate velocity in the function odometryCalc? I think that rOdometry->filtVelocity is still position. Velocity is the difference between actual position and previous position. Am I right?
@fekete123
@fekete123 8 жыл бұрын
+Jakub Blokesz Hi! The variable filtVelocity is the filtered and averaged value of the two encoders, and this is the speed(velocity) of the robot. encoder1 and encoder2 are the current readings from the encoders. If you read your encoders every second and let’s say its value is 10 unit then your position is changed with 10 unit compared to your last position, and your actual velocity is 10/sec. If you sum these readings then you get your actual position compared to your starting position.
@__3093
@__3093 3 жыл бұрын
gj!
@OUACK3
@OUACK3 8 жыл бұрын
Hello and a happy new year. I would like to ask you some things about your project. I have something like that to build for my Master and Iam new to Arduino. Iam about to use PID controler, but Iam having hard time to make my tech list, and the most importand of all which Arduino Board should I use. I know Iam a stranger but I really need some help here. Thanks again for you time
@hugopacheco7274
@hugopacheco7274 5 жыл бұрын
👏👏👏👏👏👏👏👏👏👏👏.
@atiqurrahmanakash6470
@atiqurrahmanakash6470 8 жыл бұрын
Hey +József Fekete can you please upload a tutorial how to make this thing? I mean the hardware making the implementation of code. I want to make something like this.
@yasserkamah4054
@yasserkamah4054 8 жыл бұрын
What microcontroller did you use for that?
@TutocarloCV
@TutocarloCV 6 жыл бұрын
nice
@aliguzel2247
@aliguzel2247 6 жыл бұрын
i want make with analog system(op-amps), how i do ?? I make one with just PI, but not balancing :/
@ismailg167
@ismailg167 8 жыл бұрын
good job ;)
@x99971v3
@x99971v3 9 жыл бұрын
Dear József, Great project! I am trying to do the same with an Arduino Mega 2560 running a real time operating system, namely freeRTOS. I got a solid computer engineering background, but little knowledge on mechanics and control. Could you post a link to your final project thesis? I would also apreciate if I could consult you now and then about my project. Regards, Raphael
@znsoft
@znsoft 9 жыл бұрын
great
@Leon-pn6rb
@Leon-pn6rb 9 жыл бұрын
Hey I have one request and one question. The question is , is it possible to control it from a android-mobile device? I know JAVA , so is it possible to control this from an app? The request is that I , and so many others , would like to know how you built it! A step-by-step video or a written article would be awesome! I am in my 3rd semester of CS , and if I even made 50% of what you have , I will be happy with myself! I am not a genius like you , so I need a bit of a help . I hope you read this and have the time to make this happen! Thanks a Lot!
@npetrenko97
@npetrenko97 8 жыл бұрын
+12345a I want to tell you some hint about rc control over a phone: you don't really need either build-in hardware nor complicated usb devices. You can build a simple board to connect it through 3.5mm jack and control it just playing audio files and them decrypt them on your board and transmit to the controlled device
@adityabastapure451
@adityabastapure451 7 жыл бұрын
Have you got any documentation, I also need it Please reply if you have it aabastapure@gmail.com
@mixingmusicvideos
@mixingmusicvideos 4 жыл бұрын
help me with the complete diagram of the receiver and transmitter plis
@marinflorin-adrian7227
@marinflorin-adrian7227 8 жыл бұрын
hello, i am new to this stuff... can you please put a schematic with the connections of the microcontroller and the sensors beacuse i can t realy tell how they connect?? Thanks !
@adityabastapure451
@adityabastapure451 7 жыл бұрын
Have you taken PID values on trial and error basis or is there any method of calculating it. Please reply.
@fekete123
@fekete123 7 жыл бұрын
Aditya Bastapure Trial and error. The basic method is: rise P until the system start to oscillate, then rise D to smooth it, and then rise I to bring it to the desired point. You can recognise the oscillation and the smooth effect on the balancing when you change the values, but not too crealry. It was a long long proces to understand what I doing.
@namvu8078
@namvu8078 8 жыл бұрын
Hi, i want to know how to make the robot turn left and right ? Thanks !
@preetikamondal5463
@preetikamondal5463 8 жыл бұрын
can I use l293d instead of tb6612fng?
@bjornarnols5905
@bjornarnols5905 7 жыл бұрын
awesome dude, do you still have it ? :p
@premagdgopal
@premagdgopal 7 жыл бұрын
pls make a video on how did you made it plSssSsssssssS
@MrCoillote
@MrCoillote 7 жыл бұрын
Dear József ^_^ I'm interested by the complementary filter infos, but the link is dead. Can you provide another ?
@fekete123
@fekete123 7 жыл бұрын
d1.amobbs.com/bbs_upload782111/files_44/ourdev_665531S2JZG6.pdf
@ranganajayasanka7223
@ranganajayasanka7223 6 жыл бұрын
didn't you make a model for the system?
@calcio437
@calcio437 3 жыл бұрын
5:31 Minecraft suond
@JohnSmith-py3vx
@JohnSmith-py3vx 9 жыл бұрын
I also am looking to build something similar and was wondering, how much torque do those motors have? I like that yours is fast and seemingly very stable, and I want something that can provide good speed. 5mph would be fantastic, but I have my doubts as to whether I could make the bot perform a sudden stop. Currently, I've got my eye on some 30:1 geared motors from Pololu (pololu.com/product/1443) that are 350rpm 12v 5A stall current. Hopefully they would only use about 1.5A of power and I could just use a cheap dual h-bridge because most should handle 3A if they are heat sinked well. Thoughts on this?
@fekete123
@fekete123 9 жыл бұрын
I don't have my motor's datasheet. They are very old. There is a name on them "Shinshu Seiki". According to WIKI It was epson's name but they changed it in 1982 :) I'm using a 9V battery and never measured more than 1.5A. Your motors looks fine to me. Speed will depends on your wheel diameter, and stopping with high speed always be a problem if your motor's work close to maximum RPM. I never seen any "fast" balancing robot. Even the segway's max speed is only 12 mph.
@CatInTheHand
@CatInTheHand 10 жыл бұрын
Great work!
@CatInTheHand
@CatInTheHand 10 жыл бұрын
at 7:00 how do you balance the broom? How does the robot know what angle to keep? I also made such a robot but I couldn't understand how to find this angle.
@fekete123
@fekete123 10 жыл бұрын
When the robot pushed away from its „home” position, It’s try to go back there by increasing its speed towards the home position. To increase its speed the robot try to reach an angle. (Just like when you try to balance and move a broom with your hand.) The speed controlling PID controller (actualy it is a PI controller) has an “I” (integrator) component which is increasing over time if there is a difference in the robot’s desired and actual speed. So what is happening here is when I put the broom in the robot, it starts to lean to the direction where the new centre of mass is. To compensate it, the robot starts moving, because the actual angle of the robot is becomes different than the desired angle. And when try to doing this the robot move away from its home position, and because of that the "I" component is increasing. (Because the robot move AWAY from its home position.) This PID controller gives the required angle so that is increasing to. Over time the system is stabilizing, the robot comes back to its home position. But the “I” component stay high so the robot’s angle stay shifted. It is important to wait for the robot to stabilize before I start to remote controll it. To keep the robot stable after normal circumstances the PID controller’s parameters need to be limited. Just imagine when you push away the robot with your hand and force to stay there, Its try to go back, and starts lean towards your hands. Without limits it simply lay down to the ground. In the video I turned off these limits through my computer. So I basically cheated. I needed to do several compromises, this is one of them. The speed controlling PID controller’s I component made the robot somehow instable to strong fast pushes, but gives the ability to balance with a broom or to balance over inclined surfaces.
@derrylab
@derrylab 10 жыл бұрын
József Fekete awesome! is this what they called adaptive PID? Do you have some reference / literature for this project? because my final year project would be like this :)
@fekete123
@fekete123 10 жыл бұрын
Derry Pratama Hi! It is a simple PID with some extras but it isn’t adaptive. Well I don’t really know what an adaptive controller is, but as I understand it changes the parameters of the controller based on estimations. In my project I couldn’t solved this problem. When I put the broom or the bottle onto the robot, it continues balancing if the center off mass doesn’t change too much, but it becomes less stable. But if I change the parameters of the PID it improves a lot. This is what I try to show at 4:10 . I’m able to choose between predefined parameters with my remote controller. I don’t know what you mean by reference for this project. I don’t have any English documents from my project, but I used the fallowing references in my work: K. J. Ǻström, „Control System Design: www.cds.caltech.edu/~murray/courses/cds101/fa02/caltech/astrom-ch6.pdf. Avoiding windup in a PID: www.mstarlabs.com/apeng/techniques/pidsoftw.html An arduino forum with many interesting balancing robot ideas: forum.arduino.cc/index.php?PHPSESSID=qce6rvf3qsioepeg9na0n7hee5&topic=8871.0 But if you want references from adaptive controllers I can’t help you. Sorry.
@ipadtasticus
@ipadtasticus 8 жыл бұрын
Great stuf...
@kimhuynh6672
@kimhuynh6672 10 жыл бұрын
can you tell me how your robot can balance when it is on the inclined surface. And i can see your code.thank you!
@fekete123
@fekete123 10 жыл бұрын
I used a PI controller for positioning, and a PD controller for balancing. These are in the Balance.h. The positioning PI gives a requested angle to the balancing PI based on the requested speed. When the robot is balancing on inclined surface, the requested speed changes based on the distant from the home position. (You can find it in the AttitudeHandler.h) If you only use a simple proportional component, then you always have a small distant from the home position. The Integral component solves this problem. You need some necessary steps to handle the integral component called anty wind-up. With the use of euler angles balancing end turning in inclined surface is more easier I'll give you a link from the code, but unfortunately the comments in it are written in hungarian, so you have a very hard time to understand it. Sorry about that. You can find the Atmel studio folder of the robot's code here: www.dropbox.com/sh/fjjwcn1w03x88dm/Rq8s9v_2Hw
@edustroide
@edustroide 9 жыл бұрын
Hello, my name is Eduardo. I am Brazilian engineering student. I'm sorry for English ... But I'm in the eighth semester of engineering, and how accurate term paper delivering a control system using PID, like much of his work and wanted to use the system that you used without remote control, only the inverse pendulum. Could you help me with this project? Unfortunately I do not have much time, because this is a complementary project and have others who have to deliver that is rated as a discipline and still have the TCC (completion of course work). I would be grateful to receive your help.
Arduino/MPU6050 Balance Bot Part2
8:35
jmhrvy1947
Рет қаралды 111 М.
BalancingWii 1.0 - self balancing robot
3:48
Mahowik
Рет қаралды 48 М.
Smart Sigma Kid #funny #sigma #comedy
00:25
CRAZY GREAPA
Рет қаралды 11 МЛН
The day of the sea 🌊 🤣❤️ #demariki
00:22
Demariki
Рет қаралды 100 МЛН
Simple 3D printed mini balancing robot
3:39
Axel's DIY
Рет қаралды 63 М.
Hardware Demo of a Digital PID Controller
2:58
Gregory L. Holst
Рет қаралды 977 М.
The Cubli: a cube that can jump up, balance, and 'walk'
2:37
Gajamohan Mohanarajah
Рет қаралды 15 МЛН
Balancing robot video 3 - Obstacle avoidance behaviour
3:11
Axel's DIY
Рет қаралды 111 М.
Ball and Plate PID control with 6 DOF Stewart platform
3:32
Full Motion Dynamics
Рет қаралды 2 МЛН
Codesys Powered Self Balancing Robot
4:30
WickedLabElectronics
Рет қаралды 247 М.
Two wheel inverted balancing robot
4:05
Ichiro Shirasaka
Рет қаралды 311 М.
How Robots Use Maths to Move
15:54
James Bruton
Рет қаралды 438 М.
Игровой Комп с Авито за 4500р
1:00
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,8 МЛН
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 4,6 МЛН
Мой инст: denkiselef. Как забрать телефон через экран.
0:54
После ввода кода - протирайте панель
0:18
Up Your Brains
Рет қаралды 1 МЛН
Main filter..
0:15
CikoYt
Рет қаралды 14 МЛН