Great accomplishment. I once tried to do that. The major problem I faces was the interference between the ultrasonic sensors. The pulse from one gets detected by the other. I even tried one sensor and mounted it on a servo and have it rotate around to map the surroundings. But even then the beam from one position would reflect back and would be sensed by the sensor when in a different position. How did you manage to overcome the interference? Or you did not face this problem at all?
Thanks. I trigger them in sequence, waiting for the previous sensor to return a value or time out before triggering the next one. By doing this I do not have any problems with the sensors picking op the other sensors signals.
Hey! Can you tell me what are the main components in there ( only Arduino ) please ? I've spotted a LiPo Battery Pack, two Stepper motors, two driver stepper motors probably, one gyro accelerometer sensor like a MPU stuff, what else besides the Arduino board ? Oh yeah some servos for the ultrasonic sensors too..
Good work, but using 4 Arduino is tooo much, using one Arduino mega or pro mini is sufficient and enough, unless u put others fonctions with driving the robot and obstacles avoidance
Yes, I know, but when I built this over two years ago, I did not have very much experience with Arduinos. Back then, this was the simplest solution for me to make, mainly because I didn't know about timers and interrupts. Check out my newer 3D printed mini self balancing robot on my channel if you haven't already. I think it is a more elegant solution.
The robot is nice, but it makes a lot of noise when walking. can not this be made quieter? Actually, I do not want to use a tool like that in my house.
How much does it work with that 2.2Ah battery pack ? I believe that's LiPo. Cause I want to use LiIon instead like those 18650 or something, like four of those.
If can balance for almoast one hour on that 3 cell 2200mAh LiPo battery. A four cell Li-ion battery with 18650 cells will also work. That way you can probably get even more run time. I also think that the stepper drivers can run a little bit more efficient with the higher battery voltage.
What cells are that? I have never seen any 18650 cells that are more than about 3600mAh. Or maybe you mean 4 cells in series with 3000mAh each. In that case, you will have a 4 cell battery with 3000mAh, not 12000mAh.
great project! planning on building one. can i just ask if you used PID tuning for balancing the robot? (PS. can i possibly use other algorithm for balancing, for example neural network?) Thanks for answering, I'll appreciate it.
I am using a cascade of two PID algorithms to balance the robot. One PID algorithm calculates the wheel speed depending on the error between the robot's current angle and a setpoint angle. And the other PID algorithm calculates the setpoint angle based the the robot's current speed. I am sure it is possible to use a neural network, but that is probably a lot harder to implement...
Axbri What im thinking is that, i'll use PID for the balancing, then a neural network for path finding/obstacle avoidance. I hope it will work. Anyway, thanks for the detailed info about your PID algorithm.
It is not a "learning algorithm". This behavior is very simple. The robot goes slowly forward all the time. There are three distance sensors. If the left one detects something, the robot turns right, and vise versa. If the center sensor detects something, the robot does a fast turnaround in a random direction.
I agree. I don't like the sound. The sound mainly depends on the driver chip used. Here I am using "Big Easy Drivers" based on the A4899 chips to drive the steppers. But there are other better alternatives I didn't know about when I built this robot, for example, the silent Trinamic TMC2100 drivers.
Axbri Interesting.BTW You could use a DC motors instead. But... In that case you will loose big advantage of steppers- lack of backlash which is a pain in balancing robots. Anyway very nice project!
Yes, backlash can be a problem in balancing robots. And using DC motors also makes it necessary to have high precision quadrature encoders for feedback. That makes things more expensive and complicated. With stepper motors, you automatically know the wheel position.
That's true. But.. (please correct me if I'm wrong) you do not have real feedback from the steppers, So e.g when you will put your robot on stip surface it will try to maintain it's balance position but it will move down the hill as it do not know that it is actually moving? Not sure how your control system works but that'a how I can imagine this. BTW, sorry for that conversation, I have some experience with DC motors system but not much with steppers, that's why I'm curious. Thanks!
I know exactly how much the stepper motors rotate, it is easy to just count the numbers of steps you send to them. Stepper motors always run exactly as you tell them to. But of course, if the wheels slip on the surface, or the steppers is skipping steps due to too high motor load, I have no way to know that. But this is not a problem under normal operation of a balancing robot.
extraordinary job done ...really nice work. i would like to do the same as a projecct, would u like to help me out with the connection between components and program codes...??plz
Thanks. Are you familiar with Arduino and programming? If not, maybe you should start with something easier. Connecting the different things is not complicated, it is just digital signals. The code is more complicated, currently it is running on four different Arduino boards communicating with each other. Right now the code is poorly documented and very confusing, therefore I have not released the code for this project, but I will do that in the future. In the meantime, take a look at the page on my website with more information about this robot. Link in the video description.
iam familiar wit the arduino and I started learning it from 2-3 months and I did a project on it .....iam not fully deep or perfect in arduino but once checking it out make a little easier to understand and yeah ofcourse using 4 arduino and synching in together is hectic and tough but if u could give us a full description of connections and program with comments then it will be grt. ....and will be looking forward to ur comment and rply regarding this ....I thought to make this project in college ...
I admit it's "okay." But what if you take away it's superb balance ? And what if you take away it's excellence performance ? But if you take away it's exquisite quality of construction ? Also take away it's thoughtful arrangement of parts. And without it's impressive good look's. WHAT DO YOU HAVE THEN ? Even then it would still be so much better than I could ever achieve.
In this video there are 4 Arduino Unos. One Arduino runs the balancing code, one Arduino controls each stepper motor, and one is used to read the sensors and determine speed and direction. But after this video was recorded I have replaced the sensor-Arduino with an Arduino Mega because I needed more input pins for more sensors.
Right now the code is poorly documented and very confusing, therefore I have not released the code for this project, but I will do that in the future. In the meantime, take a look at the page on my website with more information about this robot. Link in the video description.
Hello from 2019 ;) Is it possible to get at least a non-documented code? I think I'm a bit better than beginner, just too lazy to code the whole thing myself)
very nice! looks fairly smooth to me. can't imagine how much fine tuning this took.
the only thing is that it sounds like nails on a chalkboard.
Nice, I really like the way it's 'waking up'. Clever :)
What did you used to build that that is interesting
Man! How many Arduinos are you using in this thing and why?
Great accomplishment. I once tried to do that. The major problem I faces was the interference between the ultrasonic sensors. The pulse from one gets detected by the other. I even tried one sensor and mounted it on a servo and have it rotate around to map the surroundings. But even then the beam from one position would reflect back and would be sensed by the sensor when in a different position. How did you manage to overcome the interference? Or you did not face this problem at all?
Thanks. I trigger them in sequence, waiting for the previous sensor to return a value or time out before triggering the next one. By doing this I do not have any problems with the sensors picking op the other sensors signals.
Your comment help me in my project!!
This is super-cool!
Great job. This robot based on 5 arduino uno??
That alternate ending where Sand People actually capture and completely re-tool R2D2.
I think that only one Raspberry Pi and one Arduino could handle it though. Anyway amaizing project!
Same thoughts here.
Only one arduino would be enough
Hey! Can you tell me what are the main components in there ( only Arduino ) please ? I've spotted a LiPo Battery Pack, two Stepper motors, two driver stepper motors probably, one gyro accelerometer sensor like a MPU stuff, what else besides the Arduino board ? Oh yeah some servos for the ultrasonic sensors too..
Good work, but using 4 Arduino is tooo much, using one Arduino mega or pro mini is sufficient and enough, unless u put others fonctions with driving the robot and obstacles avoidance
Yes, I know, but when I built this over two years ago, I did not have very much experience with Arduinos. Back then, this was the simplest solution for me to make, mainly because I didn't know about timers and interrupts. Check out my newer 3D printed mini self balancing robot on my channel if you haven't already. I think it is a more elegant solution.
ok, Its a pleasure, I will check out your new balancing robot, and thanks for sharing this
That's a prototype MSE Droid! :D Nice
The robot is nice, but it makes a lot of noise when walking. can not this be made quieter? Actually, I do not want to use a tool like that in my house.
How much does it work with that 2.2Ah battery pack ? I believe that's LiPo. Cause I want to use LiIon instead like those 18650 or something, like four of those.
If can balance for almoast one hour on that 3 cell 2200mAh LiPo battery. A four cell Li-ion battery with 18650 cells will also work. That way you can probably get even more run time. I also think that the stepper drivers can run a little bit more efficient with the higher battery voltage.
@@AxelsDIY Well 4 Samsung 18650s are around 12000mAh so that's a lot
What cells are that? I have never seen any 18650 cells that are more than about 3600mAh. Or maybe you mean 4 cells in series with 3000mAh each. In that case, you will have a 4 cell battery with 3000mAh, not 12000mAh.
@@AxelsDIY Well, yes in series. Will it work for more than like 2 hours ? Or not even that ?
great project! planning on building one. can i just ask if you used PID tuning for balancing the robot?
(PS. can i possibly use other algorithm for balancing, for example neural network?) Thanks for answering, I'll appreciate it.
I am using a cascade of two PID algorithms to balance the robot. One PID algorithm calculates the wheel speed depending on the error between the robot's current angle and a setpoint angle. And the other PID algorithm calculates the setpoint angle based the the robot's current speed. I am sure it is possible to use a neural network, but that is probably a lot harder to implement...
Axbri What im thinking is that, i'll use PID for the balancing, then a neural network for path finding/obstacle avoidance. I hope it will work. Anyway, thanks for the detailed info about your PID algorithm.
Don't know why but that sound is so satisfying :D btw great job done on the robot I m currently working son using android instead of raspberry pis
hi, that is a great project . may i ask, which learning algorithm did you used for avoiding obstacle ?
It is not a "learning algorithm". This behavior is very simple. The robot goes slowly forward all the time. There are three distance sensors. If the left one detects something, the robot turns right, and vise versa. If the center sensor detects something, the robot does a fast turnaround in a random direction.
Great job!, I like it so much. Congratulations, very inspiring project 👍
Only One thing that is a bit annoying for my ear - sound of stepper motors, apart from that, cool!
I agree. I don't like the sound. The sound mainly depends on the driver chip used. Here I am using "Big Easy Drivers" based on the A4899 chips to drive the steppers. But there are other better alternatives I didn't know about when I built this robot, for example, the silent Trinamic TMC2100 drivers.
Axbri Interesting.BTW You could use a DC motors instead.
But... In that case you will loose big advantage of steppers- lack of backlash which is a pain in balancing robots. Anyway very nice project!
Yes, backlash can be a problem in balancing robots. And using DC motors also makes it necessary to have high precision quadrature encoders for feedback. That makes things more expensive and complicated. With stepper motors, you automatically know the wheel position.
That's true. But.. (please correct me if I'm wrong) you do not have real feedback from the steppers, So e.g when you will put your robot on stip surface it will try to maintain it's balance position but it will move down the hill as it do not know that it is actually moving? Not sure how your control system works but that'a how I can imagine this.
BTW, sorry for that conversation, I have some experience with DC motors system but not much with steppers, that's why I'm curious.
Thanks!
I know exactly how much the stepper motors rotate, it is easy to just count the numbers of steps you send to them. Stepper motors always run exactly as you tell them to. But of course, if the wheels slip on the surface, or the steppers is skipping steps due to too high motor load, I have no way to know that. But this is not a problem under normal operation of a balancing robot.
Good job bro! @
4 una's and 1 pi ?
extraordinary job done ...really nice work.
i would like to do the same as a projecct, would u like to help me out with the connection between components and program codes...??plz
Thanks. Are you familiar with Arduino and programming? If not, maybe you should start with something easier. Connecting the different things is not complicated, it is just digital signals. The code is more complicated, currently it is running on four different Arduino boards communicating with each other. Right now the code is poorly documented and very confusing, therefore I have not released the code for this project, but I will do that in the future. In the meantime, take a look at the page on my website with more information about this robot. Link in the video description.
iam familiar wit the arduino and I started learning it from 2-3 months and I did a project on it .....iam not fully deep or perfect in arduino but once checking it out make a little easier to understand and yeah ofcourse using 4 arduino and synching in together is hectic and tough but if u could give us a full description of connections and program with comments then it will be grt. ....and will be looking forward to ur comment and rply regarding this ....I thought to make this project in college ...
nice , does this robot have a wireless connection ?
There is a USB wifi-dongle connected to the Raspberry Pi, but it is not used at the moment.
I want to buy how can I I from. India
Looks great!
could this word as in solving a maze
i like this robot! nice woodwork! :)
Thanks!
This is done by a lot of arduinos
Nice. Best robot fo far
I admit it's "okay." But what if you take away it's superb balance ? And what if you take away it's excellence performance ? But if you take away it's exquisite quality of construction ? Also take away it's thoughtful arrangement of parts. And without it's impressive good look's. WHAT DO YOU HAVE THEN ? Even then it would still be so much better than I could ever achieve.
could u please give us the codes?
Nice job!
Thanks!
Do you use 4 arduinos mega?????
In this video there are 4 Arduino Unos. One Arduino runs the balancing code, one Arduino controls each stepper motor, and one is used to read the sensors and determine speed and direction. But after this video was recorded I have replaced the sensor-Arduino with an Arduino Mega because I needed more input pins for more sensors.
hats off
Look it’s R1-D0
Well done, Thanks
Wow that is awesome!
Can I get your source code? I wanna refer it to my project. :)
Right now the code is poorly documented and very confusing, therefore I have not released the code for this project, but I will do that in the future. In the meantime, take a look at the page on my website with more information about this robot. Link in the video description.
Hello from 2019 ;) Is it possible to get at least a non-documented code? I think I'm a bit better than beginner, just too lazy to code the whole thing myself)
nice
Exceptional.
great work :) thanks for sharing
Sorprendente
Sounds like R2D2
Soooo cuuuuteeee....
gr8 job
that's awsome
cool!!!!!!!!!!!!!!!!!!!!!!
verycool!
Legal
Its talking
love It :)