I don't know how I can start this discussion without people getting pissed,
but... It is just a premise, a topic of conversation, you are expected to
disagree on some level and/or agree on some level.
I was thinking about embedded/pic based robotic projects vs PC based,
generally speaking, the PC based systems tend to be bigger and more complex
than the the others. They also tend to require more power and resources.
That beMy robot is based on a PC, I like the tools. They are the same tools I use
day in and day out. I use Linux, because of this I have full access to
virtually every standard available, be it, video, communication, serial,
If have found it easy to try new things, and the hardest part about going
from a Velleman K8000 I2C bus based data acquisition card to a Velleman
K8055 USB bus card, will be taking apart the robot and drilling the new
holes to mount the new board.
I can test my software on my desktop computer, then, copy it to the robot.
I can use a standard debugger to trace the code at the source (and assembly)
I can use CVS, on the robot, when quick changes are made there, I can
synchronize them with the main system.
I can compile and link software on the robot.
I use standard wireless networking on the robot. There are no wires and it
works the same way wether or not it is using wireless or a wire.
Using a camera on the system was as easy as writing this script:
ffserver -f /usr/share/doc/ffmpeg-0.4.8/doc/ffserver.conf &
ffmpeg -r 4 -an -vd /dev/video0 http://localhost:8090/feed1.ffm
(This was basically taken from a HOWTO doc)
It has a standard way to disply error messages or make sounds.
Its basically a PC on wheels, with all the benefits that come with that
I have been able to spend my limited time doing the things that are
interesting to me, without getting bogged down in developing on a separate
platform. One of the reasons why I have chosen not to use custom or
embedded types of systems on my robot is ease of development.
I've done a good amount of embedded development, and I find it tedious.
While there are clear advantages to these devices, I find them limiting.
When you develop software, there are basically two problems: (1) How do I
represent that problem within a Turing context, and (2) how do I implement
that model on my system.
With an embedded system like a PIC or small processor, I find you spend more
time on the second part of the problem than would be required by a larger
computer system. Sure figuring out *how* to run something on a small system
may be a rewarding challenge, but it seems that it distracts you from your
16 years ago