Matt Denton wrote:Looks like you have been very busy since your last post.. and good to see the project hasn't died

and I think you have the award for the tallest MSR-H01, especially wit the inverse mounted tibia servos

inverse mounted.... uhm.
At least my IK calculations have parameters for that.

They also are not 100% correct yet. In the botfun vid, when the leg is lifted from the DVD box, suddenly a jump occurs when crossing z=0. Also, there must be some case differentiation missing, because in my code, z is squared and so the sign gets lost.
I look forward to see what you do with the DS, are they easy to hack / write code for? I would like to see a separate thread on this if you fancy sharing your hack tips / code?
Currently, I went back to code more for the onboard CPU. It has some drawbacks (e.g. no FPU), but when you work around them, it seems to be fast enough. This is actually pretty similar to the Playstation 1 CPU which was a 33 MHz MIPS, the plasma is running at 25 MHz, but the missing FPU is quite an impact for IK calculations.
Anyways, programming that CPU or the DS or any other embedded CPU is always pretty similar.
Before going into detail about DS stuff now, it seems I actually have to start a bunch of new threads, because there's a bit in every catergory.

Small update about the project itself:
Today I made a smaller board for distributing servo power and signals. It's the same size as a pBrain and mounted inside the body of the bot, with servo connectors on the edges (front left, front right, left, right, back left, back right 4 each = 6x4 = 24 total).
Power pins of the servo are connected in a circle and to a connector for the power supply. I'm using an old PC ATX PSU, 35 A on the 5V rail should be more than enough. Additionally, a 2200uF cap is connected to servo power to buffer short load spikes (I'm not sure if this actually makes sense, but it can't hurt).
Servo signal lines are connected to a 24 pin DIL socket in the center of the board. Only 22 servo signals are wired, pin 12 is GND and pin 24 will be +5V (not connected now). Currently, another 24 pin DIL socket is plugged into that, with 23 wires going to a dual row pin header which plugs into the FPGA board I have (expansion connector B1, I might have linked the data sheet of that board in my first post).
The FPGA board is strapped to a sheet of plastic as an insulator and then mounted flat on the body of the robot.
Of course, I could have used some other kind of connector, a 24 pin DIL socket seems a bit unusual. But the idea is to replace the FPGA board with this:
http://shop.trenz-electronic.de/catalog ... 200_t1.jpgThat's the same FPGA I'm using on the Digilent board, with 512kbyte external ram fitting into a 24 pil DIL socket. Besides the I/O pins at the DIL socket, it also has a pin header with 8 additional I/Os. This could then connect to the Nintendo DS.
However, the nice thing about FPGAs is, that you can interface almost any hardware with direct 1:1 connections and limiting the number of pins to 22+8 is pretty bad. For comparison, after hooking up 18 servos and the DS (this requires 4 wires + GND) and 8 onboard LEDs and 8 onboard buttons and switches and the UART and the onboard 16 bit RAM, there are still over 30 unused I/O pins left at the expansion connectors.
And I definitely plan on adding a camera. It might be possible to implement USB on the FPGA and use a cheap webcam.
