I think trying something like this would help. Instead of mounting the leg directly to the servo horn, try mounting to an axle that is braced at two points, then connect your servo to that. If done right it should be much more rigid.
Edit: My old design had that same idea, the problem was that the central body was too big because the servos were in there.
Here we go, this is a rough drawing of a design im thinking about, blue are servos and black are the brackets. the only problem is that weak point:
Could you elaborate on why you want a servo that would rotate the tars that way? Figuring the IK for that would be a nightmare, unless your only looking to be able to turn it upside down.
Exactly, I want him to be able to stand upside down plus something else that we’ll see when the full design is complete
Consider using the Low Profile Axis:
lynxmotion.com/p-481-low-pro … ervos.aspx
Offset the servo to the side of the main tube like this image:
lynxmotion.com/images/jpg/lpa03.jpg
hmm, seems like a good idea, i’ll give a try. Thanks for help
Hello everyone, im back. Finally done with the finals so i started working on my robot again , i bought the low profile axis and removed the 4th DOF servos from the center body, now its smaller and way better than it used to be. I attached a video here showing the new robot shifting and rotating. Im still working on the gait, still have to perfect the shift values.
Note: there was too much noise when i captured the video so i muted it, nothing is wrong with your speakers . oh!, and my brother’s hand was a little bit shaky in the video
bump
so, im still working on the shifting values in the code innerbreed gave me but i couldn’t make it work yet, i tried small value ranges from 102 to 148 and large value range of 80 to 170 but still no luck. Here’s the code im using :
; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
X_Axis_Shift bytetable 106,105,105,106,107,108,114,121,128,135,142,148,149,151,151,150,149,148,142,135,128,121,114,108,107,
; (RF) (LR) (LF) (RR)
; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
Z_Axis_Shift bytetable 121,128,135,142,145,148,142,135,128,121,114,108,114,121,128,135,142,148,142,135,128,121,114,108,114,
[code]Wave24: ;Wave 24 steps
GaitLegNr(cLR) = 11
GaitLegNr(cRF) = 5
GaitLegNr(cRR) = 23
GaitLegNr(cLF) = 17
NrLiftedPos = 3
HalfLiftHeigth = 0
TLDivFactor = 20
StepsInGait = 24
NomGaitSpeed = 100
[/code]
been trying for a while now, is there another way to balance the robot while gaiting ?
When you say your having no luck, what do you mean? Can you get the body to shift center at all?
Hi guys, I am not 100% there yet, but I did purchase a quad body which arrived last week…
I am using some legs of my CH3-R Hex. As you can see I have a BotBoarduino and an SSC-32 on it. I am currently hacking on my Arduino code base. I will try the table like you mentioned, but my edits are a little more extensive as I am trying to remove all reference to middle legs when running in QUADMODE…
Still editing…
Kurt
Alright thanks kurte.
To Innerbreed: I mean that the body is shifting and the front legs manage to lift and step forward but the back legs don’t, the robot just tilts backwards which ruins the gait, i’ll work around the values for shifting forward and get back to you.
Ok cool. Yes, just means you need to sort those values. It can be a pain to do. Even harder when I did mine as the distance between the two rear were larger than the front. Like a tapered body shape.
Did you create the scale we spoke about?
If your body is symmetrical then working the values for the rear should be easy as they will just morror the front but the opposite end of the 128 scale.
Another thing you need to think about is, is the body weighted centre. Sometimes the battery can be to heavy at one end.
Just need to balance it all out.
the body weight is centered a little bit to the front due to the circuits being shifted to the front a little, but the battery is centered under the robot and the entire design is symmetric on both x and z axis, i’ll continue working on the values tomorrow, its 1 am here . It is quite tedious when trying to fine tune the values since the programming takes 2-4 mins to finish.
what “scale” are you exactly referring to ?, couldn’t find anything about it in previous posts.
Need to change those settings in the com port, under device manager.
Will look into the scale thing. May have been another conversation somewhere else. Lol
This is what i ment by the scale thing…
Are you saying that setting a value of 138 doesnt mean the robot moved 10mm ?
If so, to what distance does 0 and 256 corrospond ? If I know how far I can shift at max values, It’ll be a simple right triangle math to find the center I need to shift to it
No 138 is not a 10mm shift.
Was simply saying you should start will all values at 0. Then maybe increase x,y, or z by 10 and see how far that moves you. That way you will be able to make up a scaled table. Due to differences in leg/body design, every quad shift table would be different.
Maybe disabling the actual gait will make this easier. So it stands in one place while shifting, so you can take a measurement.
what settings exactly ?, i’ve checked under the device manager, couldn’t find the com i was using ( com 4)
If you are using an FTDI based USB to serial adapter and the device is plugged i, under Device Manager usually under the tab Ports(Com & LPT) it will show up with a name like “USB Serial Port (COM23)” right click on it choose Properties. Go to Port settings Tab, and click on Advanced. Under there will be a property called Latency. Set this to a value of 1…
Kurt
Thanks kurte, that speeded things up. i just noticed something in the gait while i was holding the robot mid-air, the gait code is this:
[code] Wave24: ;Wave 24 steps
GaitLegNr(cLR) = 11
GaitLegNr(cRF) = 5
GaitLegNr(cRR) = 23
GaitLegNr(cLF) = 17
NrLiftedPos = 3
HalfLiftHeigth = 0
TLDivFactor = 20
StepsInGait = 24
NomGaitSpeed = 100[/code]
but the robot is going " RF RR LF LR", something’s not right. I checked the pins using this code :
[code];[SSC PIN NUMBERS]
cRFCoxaPin con P0 ;Rear Right leg Hip Horizontal
cRFFemurPin con P1 ;Rear Right leg Hip Vertical
cRFTibiaPin con P2 ;Rear Right leg Knee
cRFTarsPin con P3 ;Rear Right leg foot
cRMCoxaPin con P4 ;Middle Right leg Hip Horizontal
cRMFemurPin con P5 ;Middle Right leg Hip Vertical
cRMTibiaPin con P6 ;Middle Right leg Knee
cRMTarsPin con P7 ;Middle Right leg foot
cRRCoxaPin con P8 ;Front Right leg Hip Horizontal
cRRFemurPin con P9 ;Front Right leg Hip Vertical
cRRTibiaPin con P10 ;Front Right leg Knee
cRRTarsPin con P11 ;Front Right leg foot
cLFCoxaPin con P16 ;Rear Left leg Hip Horizontal
cLFFemurPin con P17 ;Rear Left leg Hip Vertical
cLFTibiaPin con P18 ;Rear Left leg Knee
cLFTarsPin con P19 ;Rear Left leg foot
cLMCoxaPin con P20 ;Middle Left leg Hip Horizontal
cLMFemurPin con P21 ;Middle Left leg Hip Vertical
cLMTibiaPin con P22 ;Middle Left leg Knee
cLMTarsPin con P23 ;Middle Left leg foot
cLRCoxaPin con P24 ;Front Left leg Hip Horizontal
cLRFemurPin con P25 ;Front Left leg Hip Vertical
cLRTibiaPin con P26 ;Front Left leg Knee
cLRTarsPin con P27 ;Front Left leg foot[/code]
my current connections are following the notes not the name of the constants. i’ll try change the foot order and see how it goes…