Actually I purchased two of them! Tried them on an XP and a Vista computer with the same result. Does get some color in natural light if I adjust the settings. The cameras are exactly what I was looking for, wireless, small, and self powered.
I have a Phoenix Hexapod. No project thread. I’d be very interested in getting the CAD file.
Tried running my phoenix with your code last night. Couldn’t get it to work. Using a usb to serial converter on the com port of the ssc-32 from my laptop. Debugged through the code and it seemed to be opening and sending to the comm port. I also have mine setup to run with a PS2 controller so I’m not sure if it will let me send commands to the serial port when all that’s hooked up. Code looks great, I can’t wait to get it to run.
You are running a bot-board as well then? If so, then I think the jumpers are set to take commands from the bot-board at a different baud rate and not from the serial port. Unfortunately, the code is designed to work with the SSC-32 solo. But, it might be a matter of switching around a few jumpers. I’ll have to look into it.
I found another post but can’t find it again that had Bot, Bluetooth, and serial all working together but it seemed pretty involved.
Eventually I’ll just need the bluetooth modem but was trying to setup the serial to test everything first.
Just a little background. I purchased a phoenix pre-assembled. Taking pictures of everything before I take it all apart so I can get at the ssc-32 and have a look.
In short I got everything working. Finally I hope to get back on topic.
For anyone interested I was able to disconnect the Bot board.
They had it jumped to run at 38.4k baud. I didn’t have any jumpers but was able to move the existing jumper to a different position to at least get 9600 baud out of it but it still didn’t work.
I read another post that said the light on the board would go out once it got a signal through the comm port. After some additional research I realized I needed to jump two sets of pins to get the db9 to activate. Of course I didn’t have any jumpers! As luck would have it I still had an old PC around that didn’t work and I was able to pull two jumpers off that. I knew I didn’t throw that thing out for a reason! With that I was able to get the db9 to work. I fired up the software (I told you I’d get back on topic) set it to 9600 baud and the light went out and the legs started to move! The software works at 9600 baud in cause anyone is wondering.
Not satisfied with that I went back to the computer and found one more jumper and got it up to 115.2k.
The front four legs are working but not the back two. I’ve spent all my time trying to get the hardware to work and haven’t had any real time to look at the code (which is why I started looking in this thread to begin with!). At any rate it looks like I’m on my way with some great code to get me started!
you have integrate it in your code, but can i use the offsets who i write to the ssc32 register?
can i write it to default 0… and then use ssc32 offsets?
its is possible or i must change in ssc to default 0 and i can overtake this values to your code?
THe offsets section of the code used to be operational until the SSC-32 allowed for the values to be stored on-board. Since then, I removed the offsets functionaloty from the code.
So, short answer: use the on-board SSC-32 offsets. That section of the code is non-operational.
First, you have to setup roborealm properly (see Roborealm setup guide). Then to start object tracking, just click the object tracking button on the GUI. As long as your Roborealm image processing is producing a COG then it should follow it around the room. The GUI simply reads the values produced by Roborealm thorugh the API and translates them into movement.
That having been said, the next verison of the code (which I hope to post in the next few days) will allow for much greater control over the individual movement aspects of object tracking. (see post above)
Ive downloaded it and now im gonna spend the day trying to crack this
Thanks for releasing
Impressive!
1 question , in the powerpod playstation code it has
;Legs
HipH_AngleMin con 21 ;30°
HipH_AngleMax con 107 ;150°
HipH_PulseMin con 910
HipH_PulseMax con 2090
HipV_AngleMin con 25 ;35°
HipV_AngleMax con 103 ;145°
HipV_PulseMin con 960
HipV_PulseMax con 2040
Knee_AngleMin con 36 ;50°
Knee_AngleMax con 107 ;150°
Knee_PulseMin con 1107
Knee_PulseMax con 2090
so although some of yours have minus values in, is it ok to just bang the degrees values into ur code?? i.e the bits after the brackets as my min and max angles?
And anyone out there with an extreme hex 3-R like myself , i got the following…
'[BODY DIMENSIONS](measured in mm)
Dim CoxaLength As Double = 32 'Length of the Coxa [mm]
Dim FemurLength As Double = 70 'Length of the Femur [mm]
Dim TibiaLength As Double = 108 'Lenght of the Tibia [mm]
Dim WakeStandingHeightY As Double = 50 'Typical stading height (body above ground) in [mm]
Dim RFOffsetX As Double = -50 'Distance X from center of the body to the Right Front coxa
Dim RFOffsetZ As Double = -100 'Distance Z from center of the body to the Right Front coxa
Dim RMOffsetX As Double = -120 'Distance X from center of the body to the Right Middle coxa
Dim RMOffsetZ As Double = 0 'Distance Z from center of the body to the Right Middle coxa
Dim RROffsetX As Double = -50 'Distance X from center of the body to the Right Rear coxa
Dim RROffsetZ As Double = 100 'Distance Z from center of the body to the Right Rear coxa
Dim LFOffsetX As Double = 50 'Distance X from center of the body to the Left Front coxa
Dim LFOffsetZ As Double = 100 'Distance Z from center of the body to the Left Front coxa
Dim LMOffsetX As Double = 120 'Distance X from center of the body to the Left Middle coxa
Dim LMOffsetZ As Double = 0 'Distance Z from center of the body to the Left Middle coxa
Dim LROffsetX As Double = 50 'Distance X from center of the body to the Left Rear coxa
Dim LROffsetZ As Double = 100 'Distance Z from center of the body to the Left Rear coxa
'--------------------------------------------------------------------
'Feet Positions
'Measured in mm from the coxa offset of the robot to the tips of the feet)
RFPosX = -60 'Start positions of the Right Front leg
RFPosY = -12
RFPosZ = -45
RMPosX = -90 'Start positions of the Right Middle leg
RMPosY = -12
RMPosZ = 0
RRPosX = -60 'Start positions of the Right Rear leg
RRPosY = -12
RRPosZ = 45
LFPosX = 60 'Start positions of the Left Front leg
LFPosY = -12
LFPosZ = -45
LMPosX = 90 'Start positions of the Left Middle leg
LMPosY = -12
LMPosZ = 0
LRPosX = 60 'Start positions of the Left Rear leg
LRPosY = -12
LRPosZ = 45
Anyone confirm or deny before i melt my hexapod??
And is there a problem as i am trying to launch
Umm…no. The reason is that the code is designed to take the actual mechanical limits of the servos (under perfect circumstances -90, 90)…and then it adjusts for the mounting angle later on in the MainIK() loop. Don’t quote me on this, but these angles appear to be “pre-adjusted” to account for the fact that the servos are mounted +/- 60 degrees.
Your other measurements look good to me.
Also, after you’ve compiled your code, you probably want to be launching Hex Control App SSC32 1.2a.exe not the vshost
Just for reference for anybody working on my code, all the code for the program is currently contained in the single .vb file for the gui called “hexapod control app 1.X.vb”. There are other .vb files in the zip like “robot structures” and “com setup” which are works in progress as I try to imporve the code. You can ignore them.
Unfortunately, since all the variables are contained in the code for the gui…you have to recompile the program each time you update the code. At some point I hope to be able to store individual robot information in seperate hardware config files (which I can then distribute with the code for the phoenix and others) but until then…you’ll have to update the variables and recompile the entire program to get it to work.
For everybody working on 1.1a (non-face-tracking), I will be releasing an updated version (essentailly 1.2a w/ roborealm disabled) that includes some updates to the visual interface and to the motion engine namely, instead of querying the the SSC-32 constantly to see if the move has finished, the engine now uses an internal timer. These changes are already in the 1.2a w/RR version.
Everythng else will be stay essentially the same so can keep working in 1.1a and just drop all your robot variables right into the new code when it comes out.