Hy everybody, I wrote many times here for assistance, help... etc. Now it is time to show something about the Project. First of all some parameters. The robot is approximately 35cm long, 20cm high, and 25 cm wide. It's weights almost 1 kg, so it's not a heavy weighted beast... The chassis and the legs were made of 0.5mm aluminium. Because it isn't really massiv, i made all parts in U profile. As joint actuators, i used HS-55 and HS-81 servos. Its brain will be 2 PIC18F4550 and 1 PIC18F2455. These will be for sensors, for servo controlling, and for communicating with PC. Now, they aren't all finished, only the servo controller.
Soooo, without any further ado.... let me introduce Spidy
It isn't the best workout, but it's good enough, as first robot. About the design. I'm an old-style designer so i made everything on sheets and on workbooks. So i can't show any CAD picures yet. Of course, there are 2D CAD files from the parts,but they for precisous building. I mentioned that there are no 3D model, but there is a much better thing, a wooden model
I know it's a bit prehistoric, but i had an exact view from the dimensions, and from the walking...etc. So after some months of studying the robots, hexapods and octopods, electronics and mechanics and some other couple of months of designing... I finally begin to build.
I made all the parts myself, with 2 drills, a hammer, and a snips. I havent got any connections with CNC users, so there are many ugly glitches, but it works. I think it was a hard work but after two weeks i finished it.
Oh yes, the most important thing... energy from girlfriends tasy food... yammmie
After the body, there came a bigger problem, electronics. I never worked with electronics before so it was a nasty job. I made the schematic, and the layout for the servo controller and for the regulator. After that i used the ironing+laserjet technology to make the circuit.
"This is the hardest part..."- sad i before it, but there came the 140 holes and the soldering horror, but finally finished. The controller is very simple, i think so anybody can build it. I used here a 12Mhz external clock, to get 48Mhz, for the servocontrolling, and other applications.
Currently i'm working on the driver of the servos, so if have luck, in 2-3 weeks there going tobe the first movie. I can't do it faster, 'couse study...
P.S.: if i get some free time, i'm going to make a 3D model...
Long time past since i wrrite. But the time has come now. Finally i have made a functional version of the robot, and i would like to share my video with you. http://www.youtube.com/watch?v=kSqfC2UYWog
there are several modifications, since the last comment. First of all, i have built an ultrasonic transmitter-receiver circuit, as the sensor. There are 3 PIC18F2455 MCU-s for contorolling. One for the ultrasonic drive (make PWM and process the input from sensor), and to control I2C communication as a Master. The other 2 PIC-s are to drive the legs ont both side. The video doesn't shows too much, but i hope you can see, what it does. There is a state graph in the program, which controls the actual movement (stay, lie, move, greet). And there is also a little fuzzy control for demonstration (when it greets, if the obsticle is far then the robot tries to get near, and if it's near then it tries to get far) There are some errors in program yet, and that's why the movement isn't too smooth. And mechanics aren't also too precizous, so legs don't go exactly to the point which i gave them in the program. I hope in the next version it is going to be much better. But Until then best regards.
Well i also used drill and grapple for mechanics:) And there were some spacers which i had to machine with my neighbors. The electronics are made with the laser printer- ironing- ferrite clorid technique. So there were a lot of things i used. Hehe, im not really tall 180cm:) But the robot is small whan it stands 10-12 cm high, 20cm wide and 30 cm long so its a cute lil' robot:)
Thank you, by the way i have a question. I tried to calculate the leg's dynamic model (one leg's model only). But every time i started, i couldn't finish it. It was simply too long, i made pages (7-10 pages oly for one leg) of calculations partial derivation ect, but at the end i always felt that there is some mistake. I tried to solve with Newton-Euler. Is there something i'm making wrong, and it should be a shorter calculation, or there is a more simple method??
Finally I came to the end of the project. It took me 3 years to learn every basic thing about robotitcs, and to develop a functioning robot. I have to stop working on it and begin a new project, else I will neever finish this one:) So there are a lot of changes since the beginning of the job. First of all I had to shorten the femur, because the motors weren't capable to hold the body. It was because a mistake in the dynamic modell...
At the coxa I used HS-55 servos, at the femur and tibia HS-85MG. The robot's dimensions are 310x220x60mm when it is lying on the ground. I used 0.5mm aluminium sheets as the material of the body. When I redesigned the robot I made a 3D model in AutoCAD, to reensure that there are no mechanical problems, and everything fits right. As the electronics, I ended up using one cicruit, for all the functions. It contains 2 PIC18F26K20 MCU-s for leg drive, and a PIC32MX575F512H CPU, for the other funsctions. These functions are the I2C communication, drive the ultrasonic sensor, the head servo, and the execution of the navigation system. The circuit has a DC/DC voltage converter on it, to make from 3.3V to 5V. It was necessary to get strong Ultrasonic signal.
When I made the layout out, I planned to use crystals, to operate the MCU-s and CPU, but after finishing the work, I suspected some problems with common crystal, which was not came out in the prototype, so I picked them out finally.
For the software. For leg drive I haven't changed to much from last version. It has an Inverse Kinematics part, to calculate the rotation angles. The coordinates, which the legs have to reach are statically written in the code. The incoming speed and angle can change these coordinates a little bit. As for the navigation, I implemented an already publicated navigation theory. Because the robot doesn't have any connection with any PC, I had to create a simulator to work out the navigation code.
It's a very simple OpenGL simulator, where I can put down obsticles, or generate random maps.
I have made a video about the phases of design and development.
I think it is far from perfect level, but taking into consideration that I began to work with electronics, robotics, and embedded programming, when I started the project, this isn't a bad start.