I agree with zentera that it looks like a really neat project, I agree with you that using one Pi per limb is a bit overkill. Depending on how many GPIO are required per limb (or let's say each joint in each limb), GPIO expanders or shift registers would fit the bill.
I like the SN74HC595(N) series chips. Eight extra input/output pins for three GPIO, and you can daisy chain them (I've done a maximum of four for 32 extra pins using only three GPIO)
I would suspect you'd also want some form of analog in/out as well for precise feedback. MCP3008's provide eight analog inputs, and something like the MCP4922 provide your analog outs (you could also use a digital potentiometer, or an Arduino via I2C/SPI/Serial). Even with all of that connected, on a Pi3, there will still be GPIO and cycles to spare.
| [reply] |
| [reply] |
One pi per limb sounds like such overkill.
Didn't Bill Gates say who needed more than 64k of ram? :-)
Imagine a complex robot, with rotating wrists, totally manipulated
3 joint fingers and thumbs, with real lifelike motions as protrayed
by this Strandbeest's thread. Furthermore it must be reporting
position back to the brain cpu, and function autonomously in case
of brain overload.
In otherwords it needs to be agile
for sex-bot work. :-)
| [reply] |
"Didn't Bill Gates say who needed more than 64k of ram? :-)"
It was 640K (see Conventional_memory), and apparently, no he didn't.
As for the rest, that a useage case I'd never considered. Without additional hardware a single pi could control upto 28 servos usning software and the onboard GPIOs.
| [reply] |
and apparently, no he didn't who you going to believe? The generally
accepted quotation, which was a true statement at the time, or a Wired article? :-)
a single pi could control upto 28 servos using software and the onboard GPIOs.
That dosn't allow for background software to running, so things will
hang and be "not smooth". The robotic arm controller also needs to sending
realtime feedback, and that means running a few socket connections, and
a bunch of other position monitoring software within the arm controller.
All non-blocking.
As I think now, even a PI may be stretching it's power to do all that.
I have a Pi which complains that the processor may not be able
to keep up with the process of re-expanding a low-quality video to
full-screen. So the Pi still is slightly underpowered, although it
is a great device. The price is dropping on 8 core alternatives to
the Pi, which have more memory, ethernet ports, and still low power.
But Pi's are still good for smaller processing projects, I like them.
All this robotic stuff is probably done best with kernel modules
anyways. Instead of running programs, you load a module which does
it directly in the kernel.
.... eh it's nice to ponder all that could be done with single-board computers.
| [reply] |