Sure!
Sounds good. We can swap ideas. I’m on the two lists below, if you’re interested.
What all are you planning in the way of sensors?
Alan KM6VV
Sure!
Sounds good. We can swap ideas. I’m on the two lists below, if you’re interested.
What all are you planning in the way of sensors?
Alan KM6VV
PIR, Ping, current sensors(shunts) on servos for collision detection, ldr’s, sound (will listen for hand claps). I plan on using at least 3 PIR sensors so it can harass the cats. Two would be for wide view, one would have narrow view and be attached with Ping sensor on micro servo. So it will have sonic and IR radar for better tracking. I plan on making a head that will house the “radar”.
Where are you getting your IK formulas? I did find some arctangent routines for the PICs, but it could only calculate up to 45 degrees.
That’s quite a load of sensors! I’m planning on adding an additional controller board for sensors. But IR and Ultrasonic are about it for now.
Too bad they don’t make a 360 servo. Although there is a pair of gears on a plate that gear up for 360 degrees. I should probably buy a gear cutter, and make a large ring gear to rotate a platform of sensors.
Per one of my previous posts, see the code generated by the PowerPod program. It implements the IK calcs needed!
acos() should work OK:
/* C_TmpCos = (a^2 + b^2 - c^2) / 2ab */
/* *** Tibia is "c" side, Femur is "a" side, "b" is previous Cside side of triangle */
C_TmpCos = (((double)FEMUR_LENGTH * (double)FEMUR_LENGTH) + CCside - ((double)TIBIA_LENGTH * (double)TIBIA_LENGTH) );
C_TmpAngle += RadToDeg(acos(C_TmpCos / (2.0 * (double)FEMUR_LENGTH * Cside)));
HipV_Angle = (signed int)(C_TmpAngle * (256.0 / 360.0)); /* (Atom BASIC Scale) */
Alan KM6VV
I found the picture in that sticky, so I am assuming that is what the code is referring to. I am looking that over now. I will have to find some sin, cos, etc code for the PIC. When you wrote “acos” do you mean arc cosine?
A 360 degree sensor base would be nice, but since I want the head to simulate actual head tracking it won’t be needed. I can always get a rear PIR sensor, and the Ping sensor does not need to look anywhere but forward.
Jim mentioned in one of the other threads that he plans for the SSC-32 to support *H3-Rs. I’m hoping that this 18DOF hexapod support will extend out to the Atmega8-based SSC-32s.
I’m also hoping that the release of this new support will beat me to the punch on my understanding of the IK calculations…
Yes, that’s the drawing. My code snippet relates to that pix. You ARE writing in C, aren’t you? From your recent posts, I thought you were. as to the trig functions, they’re already in all but the most tiny C compilers! What you get from Microchip or Hitec should be fine.
Yes, acos() IS the C function for arc cosine.
That’s true, with multiple sensors, a full 360 rotate probably isn’t needed. But I still like the idea.
Alan KM6VV
That would be very helpful. I did not realize how big a project this was going to turn into. I have been trying to locate the full IK code everyone is talking about. But maybe I should just make my own basic (no stance adjusting like roll, pitch, etc…) form of movement, since I only need it for autonomous, simple movement. And I am poor at trying to decipher someone else’s code.
OK, I didn’t think microchip would provide math functions in their compiler, but I have not looked yet either. I don’t want the 30 day trial to run out prematurely lol.
EDIT: just checked, it does have those libraries in the C18 compiler.
Hi Tom,
SSC-32 to support H3-R? I hadn’t read that. The new SSC32 doesn’t support 18DOF, as far as I know. I think I’d asked about that possibility at one time.
The older ATmega8 chip is full, and over tasked from what I understand. The new chip has some “headroom”, and greater possibilities. Just think if a full 18 servo IK engine could be “dropped” into the SSC32!
New support would be great, A white paper written on the subject would certainly be of interest me. When is it coming?
Alan KM6VV
If you need more rotation out of a servo, you might try a sail winch servo like below.
That’s an interesting servo! It could be “strung” with dial cord to a larger pulley to rotate a sensor deck.
Thanks for the URL!
Alan KM6VV
I have one of them, here. They are no good for robotics. It just vibrates when close to the commanded position. I can’t see how they would be good for anything. There must be tension in the rigging to prevent the hunting.
If one needed 360 deg. rotation, one could use sprockets like below to get the 1:2 servo rotation increase. One could also do somewhat the same using plastic jar lids and string (but would look extreamly DIY).
Nice little link chain and sprockets, but the big sprocket would have to be on the servo, and the small one connected to the servo table. Or I’ve missed something.
Nah, jar lids are too tacky! But thanks for the additional URL.
I did dig up a drive train that I removed from a CD ROM drive. I have two, and the one with the worm screw is slower, and would work. I think they use it to open/close the drive door, and the disk tray. It’s just a small DC motor, and a cam operated switch. Some sort of encoder would be needed. More thought needed.
Alan KM6VV
You could use a stepper motor to only go so far. At least that is my impression on how one works.
Yes,
A stepper motor would probably work fine. And I’m quite familiar with them. I looked around this afternoon for some very small steppers that I have. Probably one of the better solutions.
Of course, it’ll need an index sensor to orientate it to “forward” on the 'bot.
Alan KM6VV
I’ve never used stepper motors, but I think they may not work well with loads unless geared down, and can be some what power hungry unless provisions are made for reduced holding voltages. Just don’t see them used much in bots.
That is why I would look into using a geared assembly like what is in a printer or cd tray assembly. It can be geared down quite a bit.
Depends on the load. I run steppers on my CNC’d Sherline mill and lathe. Normally, (real) servos are geared down, but not steppers.
This application wouldn’t need much torque. One can reduce the holding torque when idle.
Stepper motor weight/torque ratio is poor when used for robots. My first robot (a LONG time ago) used a pair of 85 oz/in NEMA #32 steppers. I threw the 'bot together with some very heavy steel pulleys I had on hand. A Small 8085 uP board ran some L/R driver boards. A pair of 12V GelCell batteries powered it.
But steppers are very easy to run! Great for positioning! I’ve always liked them, and collect them from the surplus outlets when I can find them.
Oh! I just remembered where a possible candidate for the sensor deck rotate might be! Airpax M82102, 5v 20 ohms, 7.5 deg/step. Has an attached opto-switch for position.
Alan KM6VV
I took apart a printer just the other day, got 3 or 4 opto sensors, some good connectors, and lots of smt parts
Yeah, I’ve taken quite a few printers apart! Nice steppers!
I worked right next (next parking lot) to Weird Stuff surplus, I found a lot of stuff!
Alan KM6VV