Finally done all exams, it's been a very busy year.
Just flew back home to London and I brought the robot back with me.
As soon as I buy some solder I can start working on it again.
Some major modification is due since I plan to remove the Atom micro processor and attach a bluetooth wireless control via laptop.
A lot of money gone down the drain, but lesson learned.
Saturday, April 23, 2011
Friday, September 24, 2010
Bluetooth connection
Just purchased Bluetooth module for my robot. I will have much greater computing power from my laptop compared to 16Mhz crystal 32kb ram Basic Atom 28 Pro. I will have access to C++ programming environment instead of Basic.
The big goal is to apply fuzzy logic control and neural network into the walking algorithm, and eventually a camera feedback for terrain recognition.
The big goal is to apply fuzzy logic control and neural network into the walking algorithm, and eventually a camera feedback for terrain recognition.
Wednesday, March 10, 2010
Bottleneck
SSC-32 => PWM (500uS to 2500uS) => servo
Where 500uS to 2500uS determines the position of the servo from 0 degrees to 180 degrees.
Query Pulse command will query the pulse width from the servo.
However there is a problem.
Query Pulse command is absolutely useless since servos will not report back with the real time position.
By querying the pulse from the servos through SSC-32 servo controller, the only information I will receive is the demanded position the servo controller is telling the servo to be at; therefore no feedback, and no effective means of error correction.
I might be able to remove the servo casing and have a direct feedback from the potentiometer, but such approach might interfere with the rigidity or even the whole assembly mechanism of the robot.
We'll see.
Where 500uS to 2500uS determines the position of the servo from 0 degrees to 180 degrees.
Query Pulse command will query the pulse width from the servo.
However there is a problem.
Query Pulse command is absolutely useless since servos will not report back with the real time position.
By querying the pulse from the servos through SSC-32 servo controller, the only information I will receive is the demanded position the servo controller is telling the servo to be at; therefore no feedback, and no effective means of error correction.
I might be able to remove the servo casing and have a direct feedback from the potentiometer, but such approach might interfere with the rigidity or even the whole assembly mechanism of the robot.
We'll see.
Thursday, March 4, 2010
Inverse Kinematic
Measurements are taken from the base of the rotation from joint to joint.
3.6cm (height from the ground)
2.8cm
3.6cm (height from the ground)
2.8cm
5.65cm
11.7cm
Wednesday, March 3, 2010
Tuesday, February 23, 2010
X-Pod Update
Slowly making progress, I have been kept busy with some stuff lately.
Struggled with timer interrupts for a while because it kept interrupting serial communication, making the robot twitch every 3~5 seconds. (although it was sort of entertaining to watch). I am trying various approaches in terms of programming.
It is slightly disappointing that the servos I have do not provide direct feedbacks from its integrated potentiometers. I have to query their position using a command in software and there is a 50uS to 5ms delay before its position is reported back. Maybe digital ones will have direct position feedback? But they are very costly though.
Still needs a lot of work.
Sunday, February 21, 2010
Servo offsets have been adjusted in software, created initial sequence movements for X-Pod and struggled with timer interrupts.
Oh, the little transformer I was using for battery charging circuit is dead but found a better one in one of my box of random electronic goods. The old one was only rated for 400mA max but the new one outputs 1.5A. Much better.
I will post some pictures and videos soon.
Tuesday, February 16, 2010
X-Pod [ Here we go ]
Still need to clean up the wiring, and adjust servo offsets.
Notice I was moving 1 servo with the PS2 controller; that was setup from previous test run, and got kind of carried over.
I should be ready for some programming very soon.
Monday, February 15, 2010
Accelerometer
I am trying to find a way to change the reference voltage for A/D so that I will be able to get better resolution from 3 axis accelerometer, which outputs 1.33v ~ 1.99v each axis.
I was reading Basic Atom (not pro) manual and I noticed that it had the capability of setting AX3 pin as a voltage reference pin by using the parameter AD_RPOS... But I don't think BAP28 (Basic Atom Pro 28) has that capability because there is absolutely no mention of such feature in BAP28 manual.
I found this
http://forums.basicmicro.net/viewtopic.php?f=486&t=8931&sid=d52c99a731e39aa83550091fbadd1c76
which sugguests a whole lot of nothing.
No Vref? Very disappointed, especially since I could've potentially doubled up the resolution of the sensor, which is a big deal!
I thought of a possible solution... I could build an amplifying circuit using Op-Amp, and just boost the 3 analog signal coming from the accelerometer... I'll leave this option as my last resort. I will probably just go with what I have now and see if I have any stability issue with auto-balancing.
I was reading Basic Atom (not pro) manual and I noticed that it had the capability of setting AX3 pin as a voltage reference pin by using the parameter AD_RPOS... But I don't think BAP28 (Basic Atom Pro 28) has that capability because there is absolutely no mention of such feature in BAP28 manual.
I found this
http://forums.basicmicro.net/viewtopic.php?f=486&t=8931&sid=d52c99a731e39aa83550091fbadd1c76
which sugguests a whole lot of nothing.
No Vref? Very disappointed, especially since I could've potentially doubled up the resolution of the sensor, which is a big deal!
I thought of a possible solution... I could build an amplifying circuit using Op-Amp, and just boost the 3 analog signal coming from the accelerometer... I'll leave this option as my last resort. I will probably just go with what I have now and see if I have any stability issue with auto-balancing.
Friday, February 12, 2010
Subscribe to:
Posts (Atom)