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.
Friday, September 24, 2010
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
Walker Project [ Still Under Construction ]
I came to my senses and removed the feet on both sides. Now none of HS-422s are being used, and it's probably better that way. I might add a servo to the PING sensor for panning capability, but that might interfere(mechanically) with the electronics which haven't been mounted yet.
Thursday, February 11, 2010
Monday, February 8, 2010
Progress
[ New servos have arrived! HS-645MG ]
+ 10 of HS-422 ... But only 2 of them are going to be used for the time being.
[ What a difference ]
The one on the top is HS-645MG, and the one below is HS-422. There's a huge difference in torque as well.
[ This is the new design, although it's missing some parts ]
I am expecting another shipment tomorrow. Pretty soon I will be doing some intense programming!
Tuesday, February 2, 2010
UC232R-10 "CHIPI" cable, manufactured by FTDI
This is the cable I purchased from Digi-Key.
Works flawlessly at the maximum baud rate of 115.2K
Didn't even have to download a driver for it either. I plugged it in, and Windows 7 installed the driver for me.
I am very happy with the purchase.
Highly recommended!
Works flawlessly at the maximum baud rate of 115.2K
Didn't even have to download a driver for it either. I plugged it in, and Windows 7 installed the driver for me.
I am very happy with the purchase.
Highly recommended!
Monday, February 1, 2010
Major turn over
I received a brand new credit card last Friday and because my order was still pending, my entire shipment from Robotshop got cancelled. I did receive my cable this morning from Digi-Key though.
On the side note, I have been doing some researches on the internet for my project and I might use this opportunity and take a different approach in terms of mechanical design.
On the side note, I have been doing some researches on the internet for my project and I might use this opportunity and take a different approach in terms of mechanical design.
Friday, January 29, 2010
Brand new cable is on the way
[ Purchased from DIGI-Key ]
I went out (on the internet) and bought myself a new shiny cable from digi-key.
According to Lynxmotion, this is the fastest and most reliable USB to Serial Converter Cable money can buy!
Thursday, January 28, 2010
Must be the cable
I performed continuity check on the 9 pin connector of SSC-32. All green.
The cable, by the process of elimination, must be the reason why I was having a connection problem. (the driver software itself was a bit suspect to begin with)
Eventually, I will need a serial cable for my microcontroller... So I guess I better go out and buy one :-)
The cable, by the process of elimination, must be the reason why I was having a connection problem. (the driver software itself was a bit suspect to begin with)
Eventually, I will need a serial cable for my microcontroller... So I guess I better go out and buy one :-)
Tuesday, January 26, 2010
Connectivity issue is still there
Even with the use of my 6 cell battery, the issue did not disappear. I had to put pressure on the connector in a certain way to get valid communication between SSC-32 and my laptop. As I've previously suspected, there might be a broken solder joint or broken wire where the connection is made; whether it's the cable or my SSC-32, I will find out when my microcontroller gets shipped to me.
There is a modified parts list to be posted once RobotShop gets their act together; seriously, they need to read emails from customers more thoroughly!
There is a modified parts list to be posted once RobotShop gets their act together; seriously, they need to read emails from customers more thoroughly!
Sunday, January 24, 2010
Found a use for 6 Cell Li-MH battery.
While testing my sonic range sensor with a common Panasonic 9V battery, I've noticed that the battery is not capable of supplying enough current to operate both SSC-32 and my sonic range sensor at the same time.
I was a little hesitant to use the 6 Cell Li-MH battery due to its weight (~300g), but more pros than cons.
So I will use it to power SSC-32 and all other sensors. Plus, I'm kind of glad my money isn't wasted =]
Edit:
Having said all that above, I also realized a strong possibility that the serial communication error is caused by this issue as well, not because of a broken solder joint.
When I get a chance I will look into this. I hope this will fix my issue(s) because if it doesn't, I think I might have a defective sonic range sensor which costs approx. $45.
I was a little hesitant to use the 6 Cell Li-MH battery due to its weight (~300g), but more pros than cons.
So I will use it to power SSC-32 and all other sensors. Plus, I'm kind of glad my money isn't wasted =]
Edit:
Having said all that above, I also realized a strong possibility that the serial communication error is caused by this issue as well, not because of a broken solder joint.
When I get a chance I will look into this. I hope this will fix my issue(s) because if it doesn't, I think I might have a defective sonic range sensor which costs approx. $45.
Thursday, January 21, 2010
I am still waiting
I am expecting a new shipment, but some of the items are on back order. This might take a while.
Oh and there might be a dramatic change in my project... Only time will tell ;)
Oh and there might be a dramatic change in my project... Only time will tell ;)
Saturday, January 16, 2010
Broken solder joint somewhere
I think there's a broken solder joint in the connector of SSC-32 or my cable. I had to put pressure where the connection is made in a certain way to get valid communication between my laptop and SSC-32. At this point, I'll just wait for my bluetooth module to arrive and probably won't have to worry about it after.
Walker Project [ Using C# to control ]
Hello all,
Couple of things today, I placed an order for a bluetooth module and 10 servo horns that are made out of metal, not some cheap plastic. Also, because I decided to use bluetooth and go wireless WITH the use of PC, I decided to use C# to program my bot. Should be much quicker/easier to program!
I spent half an hour to come up with a simple software that controls my bot. It does the basic stuff, minus some of the features which I didn't test today.
Videos are posted. Enjoy!
Couple of things today, I placed an order for a bluetooth module and 10 servo horns that are made out of metal, not some cheap plastic. Also, because I decided to use bluetooth and go wireless WITH the use of PC, I decided to use C# to program my bot. Should be much quicker/easier to program!
I spent half an hour to come up with a simple software that controls my bot. It does the basic stuff, minus some of the features which I didn't test today.
Videos are posted. Enjoy!
Video #1
Video #2
Thursday, January 14, 2010
Walker Project [ First Test Run ]
First Test Run [ All-1500 + adjusted default position ]
The software I used is Lynxterm from Lynxmotion.
I actually cancelled my order for a bluetooth module because I am debating whether to use a microcontroller to make my bot completely autonomous, or just go wireless via bluetooth and have it connected to PC.
Eventually, I'd like to do both but for now my budget is too tight!
First run and default position + a sequence
I actually had to adjust the position of the servos individually because they all had a bit of off-sets.
My default position ended up being
#12p1490 #13p1100 #14p1040 #15p1480 #28p1560 #16p1995 #30p2000 #31p1500
# [channel] p(position) [PWM in ms, 1500ms is mid]
This project is just getting started =] stay tuned!
Walker Project [ Ready to Launch ]
New battery is being charged
One thing I don't understand.. Why does it read so much higher than it is rated for? Supposed to be 6V!
Oh, and I ordered bluetooth module to make the project go wireless instead of having a physical connection to a PC.
http://www.robotshop.ca/ProductPictureViewer.aspx?id=19205
which is a $80 unit + a $20 bluetooth dongle.
Wednesday, January 13, 2010
Epic fail
Tried to make something happen with the leg assembly (not ankle) but encountered a major design flaw and had to reverse back to the old design.
Here are a couple of pictures and I am done for the day.
Here are a couple of pictures and I am done for the day.
At least the balance is great
This is how the pan & tilt looks now
Tuesday, January 12, 2010
Walker Project [ Re-assembled: Pan & Tilt ]
Only need one L connector then it is finished (for now).
Much better.
SSC-32 will get attached to the pan & tilt via an L connector too.
The overall balance should be much better compared to the previous assembly
Sunday, January 10, 2010
Walker Project [ Re-constructed: Ankle Joints ]
Just a lot of pics.
Left leg disassembled
Ankle joint flipped
Left leg done... can you see the difference?
How about now?
Right leg disassembled
Joint flipped
TADA~!
Step 1
Step 2
Stretch
Crouch
This structure should, assuming that the weak servos I have will provide sufficient torque to initiate the walking sequence, allow Walker to use momentum swings to walk/run more human like.
Of course, I will need a new battery which I don't have... yet.
Tomorrow, I will re-construct the tilt & pan head assembly. I don't like how it's not dead center.
Stay tuned!
Waiting game is a terrible game
I drained the battery out completely and tried to recharge it to 6V. The instant I put current through the battery it read 7V. Nope, this isn't going to work. No words from either Robotshop.ca or Canada Post.
Man, I hate playing the waiting game.
Man, I hate playing the waiting game.
Friday, January 8, 2010
Draining Battery
I am not sure how much juice the battery will have left when it reads 6V, but hopefully enough to power the bot for testing.
< In goes current, out comes heat! (and smell) >
No shipment
Still no sign of shipment, and tracking status hasn't been updated since Jan 5th; this means I won't get the package until Monday. Normally, shipping takes no more than 3 days from the date of purchase. Somebody screwed up and I am not impressed... no sir.
I might have to drain the battery until it drops below 6V and get the project going anyways.
I might have to drain the battery until it drops below 6V and get the project going anyways.
Thursday, January 7, 2010
Walker Project [ Battery ]
I am back with more details =]
I originally purchased a 6 Cell Li-MH 7.2V 2800mAH battery to power my bot, but it turns out the servos I purchased are only rated at 6V max, while the battery runs at 8.6V when fully charged and SSC-32 servo controller does not have any voltage regulation for servo connection. Oops.
The first time I hooked everything up and selected "ALL 1500" in Lynxterm software(a freeware from distributor), which brings ALL servos to mid position, I nearly jumped out of my seat because there was a loud buzzing sound coming from all servos. Fortunately, nothing got fried.
Anyways, as I mentioned in the previous post, I am still waiting for a few components (and a new battery) to arrive; I haven't received the goods yet - in fact, they are 2 days over due already. Without a new battery, I can't really move on. When I do receive them however, I will make a few mods here and there and hopefully, I will have something going by this weekend.
In the mean time, here are some pictures and a video to give you an idea what I have.
< Recharging Circuit >
< My set up >
< Video >
Walker Project [ Parts List ]
During my final semester in college, I started a project which will ultimately be a 20 DOF(degrees of freedom, or joints) sensors / user controlled Semi-Autonomous biped robot.
Unfortunately, as a student I couldn't afford all the components I needed to complete the project. Just to give you an idea, a laser sensor costs a whoppin' $2G minimum, and that's without the acquisition hardware to go with it. Bottom line: pretty damn expensive!
So I decided to buy basic parts and purchase add-ons as I become... more funded =]
Fortunately, I received $1000 in grants and bursary so I had enough to get started - a 10 DOF biped robot with one sensor should be a good place to start.
What I bought:
Unfortunately, as a student I couldn't afford all the components I needed to complete the project. Just to give you an idea, a laser sensor costs a whoppin' $2G minimum, and that's without the acquisition hardware to go with it. Bottom line: pretty damn expensive!
So I decided to buy basic parts and purchase add-ons as I become... more funded =]
Fortunately, I received $1000 in grants and bursary so I had enough to get started - a 10 DOF biped robot with one sensor should be a good place to start.
What I bought:
*screenshots are taken from robotshop.ca*
Also I purchased a few components from Digi-Key to build a battery recharging circuit. I did complete the circuit and it is functional - however, I could not get my old microcontroller (PIC18f452) to function properly with the limited hardware I have... meaning I must manually time out the recharge process to avoid overcharging the battery. If Li-MH is overcharged.. out comes hydrogen which can burn your house down!
So, definitely needs more work(and $$$) - but it will do for now.
I am still expecting the shipment of the last few items to complete the assembly. (I will post pics when that happens)
Once I have them I should be ready to start programming Walker (Yea that's right. I have a name for my robot)
Blog Started
I am done college! YEAH! *fist pump celebration*
Since I have a LOT more free time on my hands now, I decided to start a blog!
I will be updating the progress of my project(s) (which I will reveal on another day) as well as any events that are worth mentioning; It will be like writing a journal I suppose.
Well, I guess that's it for the first post!
Since I have a LOT more free time on my hands now, I decided to start a blog!
I will be updating the progress of my project(s) (which I will reveal on another day) as well as any events that are worth mentioning; It will be like writing a journal I suppose.
Well, I guess that's it for the first post!
Subscribe to:
Posts (Atom)