Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What should I make it's "brain" out of?

0 views
Skip to first unread message

Helge Øyvind Hoel

unread,
Jan 12, 2004, 6:48:50 AM1/12/04
to
I've just recently become interested in robotics. Went to a friends house,
and he showed me some video-clips of very advanced robots, and also built a
simple robot with Lego mindstorm. Anyway, I got hooked, and now want to
build one myself. The one thing I'm wondering about now, is what I should
use to control it? Lego mindstorm naturally comes to my mind, but I don't
feel like learning a Lego-language (or whatever they use). What I think
would be fun, was to use a board from Soekris. This one for example:
http://www.soekris.com/net4501.htm. That would be cool, cause having a full
Linux operating system at my disposal would give me lot's of freedom. I
could choose nearly any programming-language and would have access to
several hundred libraries/programs. Internet-access through wlan would also
be nice :)

The other option I've thought of so far, is using a Palm Tungsten T as it's
"brain". I haven't done much reasearch on how the hotsync-port on the Palms
work, but from how much extra-equipment you can buy, that connects through
it, I guess it's possible to get detailed information about it. Hopefully
without paying PalmOne for it.

Both these options would give me the benefit of using C++ which I already
know. Going for the Soekris-option would even give me the benefit of using
high-level script-languages like Perl/Python for trying out things "quick
and dirty".

The third option I can think of, is buying a ATMEL AT90S8515 (or similiar)
CPU. Some years ago we did som assembly-programming for that CPU at school.

So what do you guys use/recommend? I think I'll go for the Soekris-solution,
since I know Linux very well, but I would like to hear what you guys
thought.

Best regards
Helge Ųyvind Hoel, Norway

Peter

unread,
Jan 12, 2004, 9:12:08 AM1/12/04
to
I'm using a OOpic which i bought at www.totalrobots.com. I've got the
oopic-r which is a very easy to start board.
Simple programming language in syntact style you choose (basis, C of
java), easy connection to PC (rs232) and easy connection to servo's
etc.
Includes about 30 I/O ports including 8 A/D convertors. Very much
samples (code and technical) for interfacing with sensors.

Big problem with PC boards like the soekris or via mini-itx or
whatever is the lak of i/o possibilties and the big power consumption.

Peter


Helge Ųyvind Hoel <he...@vvizard.net> wrote in message news:<4002...@news.ringnett.no>...

Randy M. Dumse

unread,
Jan 12, 2004, 9:36:50 AM1/12/04
to
"Helge Ųyvind Hoel" <he...@vvizard.net> wrote in message
news:4002...@news.ringnett.no...
> http://www.soekris.com/net4501.htm. That would be cool,

No doubt that is a very cool looking little system.

But let me ask you this: Where is the connection for the motors? Where
do you hook up the IR sensors? How many sonar ports does it have? Where
do you hook up the quadrature decoders?

Does Linux have any support for those hardware features?

Put another way, it's neat in the same way an airplane motor would be
neat on a bicycle. On a bike are two fittings which connect perfectly to
one (human) engine, and one padded engine mount. If you want to put an
aircraft engine on it... you'll have lots of power, but it won't go
anywhere without lots of interfacing, and it won't look like a bike when
you're done.

There are lots of little computers made which work better for robotic
controllers.

--
Randy M. Dumse
www.newmicros.com
Caution: Objects in mirror are more confused than they appear.


D. Jay Newman

unread,
Jan 12, 2004, 6:22:17 PM1/12/04
to
Randy M. Dumse wrote:

> But let me ask you this: Where is the connection for the motors? Where
> do you hook up the IR sensors? How many sonar ports does it have? Where
> do you hook up the quadrature decoders?
>
> Does Linux have any support for those hardware features?
>
> Put another way, it's neat in the same way an airplane motor would be
> neat on a bicycle. On a bike are two fittings which connect perfectly to
> one (human) engine, and one padded engine mount. If you want to put an
> aircraft engine on it... you'll have lots of power, but it won't go
> anywhere without lots of interfacing, and it won't look like a bike when
> you're done.
>
> There are lots of little computers made which work better for robotic
> controllers.

It depends on what you want to do with them.

For simple robots I agree. For more complex robots with vision,
planning, and neural networking, more horsepower is required.

There are many ways to get the peripheral support needed for
robotics.

For example, you can add an Iso-Pod.

Or you could do what I'm doing, and build a USB-based board
that handles servo, PWM, digital I/O, and ADC. With the FTDI
chips this isn't even particularly difficult.
--
D. Jay Newman
http://enerd.ws/robots/

Brian Dean

unread,
Jan 12, 2004, 7:54:35 PM1/12/04
to
On Mon, Jan 12, 2004 at 12:48:50PM +0100, Helge ?yvind Hoel wrote:

> would be fun, was to use a board from Soekris. This one for example:
> http://www.soekris.com/net4501.htm. That would be cool, cause having a full
> Linux operating system at my disposal would give me lot's of freedom. I

The Soekris boards are nice, indeed. I've been thinking about getting
one to use as a firewall :-)

But as Randy mentioned, while that board is great for running Unix,
you'll need to add other circuitry to do common robot interfacing like
A/D converters, PWM outputs for interfacing to motor drivers, etc.

> The third option I can think of, is buying a ATMEL AT90S8515 (or similiar)
> CPU. Some years ago we did som assembly-programming for that CPU at school.

Well, since you are already familiar with the AVRs, I'll mention that
my MAVRIC or MAVRIC-II might be a good controller for you (see the URL
in my signature). My boards use the ATmega128 processor which should
not be unfamiliar to you if you have used the AT90S8515. You can
program in C or C++ using the GNU tools that you mentioned you are
already familiar with, and the AVR architecture is pretty uniform
across the whole product line - once you know how to utilize one AVR,
you pretty much know how to use them all.

> So what do you guys use/recommend? I think I'll go for the
> Soekris-solution, since I know Linux very well, but I would like to
> hear what you guys thought.

Personally, if I were going to use a solution like the Soekris in a
robot, it would be in combination with a microcontroller. You'll
either need to supplement the Soekris board anyway for driving motors
(generating precise PWM signals for the motor driver), reading analog
sensors (A/D conversions), etc. You'll be hard pressed to do these
things in Linux or Unix without some supplemental microcontrollers or
dedicated co-processor boards. At least, that will be the case on
relatively "standard" PC hardware, which I think the Soekris boards
are.

-Brian
--
Brian Dean, b...@bdmicro.com
BDMICRO - Maker of the MAVRIC ATmega128 Dev Board
http://www.bdmicro.com/

Helge Øyvind Hoel

unread,
Jan 12, 2004, 3:58:23 PM1/12/04
to
Randy M. Dumse wrote:

<SNIP>

> There are lots of little computers made which work better for robotic
> controllers.

There probably is. But I'm brand new to this game, so I don't know of any :/
Could you guys please give some hints on what microcontrollers that would
be good for this? There's two things I would prefer. Programmable in C++,
if not, assembly could be accepted, but only if it's a popular controller
for this type of machine, and I can find much related code-examples for it.
I don't intend to learn a language like Basic.

Helge Øyvind Hoel

unread,
Jan 12, 2004, 5:25:39 PM1/12/04
to
Peter wrote:

> I'm using a OOpic which i bought at www.totalrobots.com. I've got the
> oopic-r which is a very easy to start board.
> Simple programming language in syntact style you choose (basis, C of
> java), easy connection to PC (rs232) and easy connection to servo's
> etc.
> Includes about 30 I/O ports including 8 A/D convertors. Very much
> samples (code and technical) for interfacing with sensors.
>
> Big problem with PC boards like the soekris or via mini-itx or
> whatever is the lak of i/o possibilties and the big power consumption.

Guess you got a point. Isn't mini-ITX the "full"-fledged computers with
(physical) small motherboards, used in the shuttle (and others) products?
If so I think the Soekris uses a lot less power than that one. It's run by
5V DC at least, using ~ 11 Watt if I don't remember wrong. But since I'm
new to this, I don't know if 11 Watt is a lot or not for robot-building.
Lack of I/O could of course be a problem. It got at least one (possible
with two) standard serial (COM) ports. It also supports both a mini-PCI and
a standard PCI-slot. I don't know shi*t about PCI-boards, but I figure some
time into the future, when I get skills for it, it might be very well
possible to pull my own PCI-board to use for I/O extensions? What kind of,
and how many I/O ports I'll need, I don't know much about yet. I'm sure
gonna start out with a simple robot. So in the beginning, this won't be a
big problem I guess. But if I'm buying the Soekris, I'll hope to use it in
projects further into the future. Some of the big reasons for why I want a
full Linux-system on it, is that a lot of things can be done real simple.
For example I can use the Festival-program to give the robot
speech-abilities with minimal effort. I have a full System-logger for
logging every possible error I might be interested in, and so on. But I
understand that power-consumption and I/O ports might be a problem. Some
good information in helping me choosing a controller-unit would be much
appreciated. It must be programmed in C/C++. I don't feel like
learning/programming Basic.

Peter

unread,
Jan 13, 2004, 10:40:40 AM1/13/04
to
www.mini-box.com
Q) How much power do I need for my mini-itx board?
A) The EPIA-800 board consumes an average of ~10W while the EPIA-M can
consume an average of ~15W.

Helge Ųyvind Hoel <he...@vvizard.net> wrote in message news:<4003...@news.ringnett.no>...

Jeceel

unread,
Jan 13, 2004, 5:38:09 PM1/13/04
to
I have also been looking at Mini-ITX systems and now Nano-ITX systems
(12x12cm) boards. I think these will offer the best interfacing and
horsepower available for a good robot. It already has USB ports for
interfacing e.g. standard web-cameras for vision (today you can even
get Creative webcameras with integrated motors to adjust the
"eyeballs"), sound card is integrated for speech recognition and
speech (or other sound playback), an usb based gps can be attached,
serial or usb based interface for controlling motors and sensors. And
a close to 1 GHz CPU that could handle most of this. They even have
CompactFlash IDE adapters that would allow you to boot the OS and run
the controller software from. Most also allow you to connect a
wireless lan module that will enable your robot to access the internet
or draw CPU horsepower from other computers around it (for advanced
processing and running agents).

Now the thing I wonder about is how much power these consumer. Someone
said around 15 watt for a good Mini-ITX board, but I am unsure what
kind of battery would be needed to operate a robot based on this
platform, and have it run for at least some hours without recharging.

I think the real challenge is in integrating some kind of intelligence
with a module for vision so that it can see its surroundings. And of
course keeping the weight down so that robot is able to move around at
all. :-)

However I would like to know if anyone has been using any good USB
based interfaces for controlling stepmotors and connecting
miscellaneous sensors.

Best regards.

dan michaels

unread,
Jan 13, 2004, 5:38:49 PM1/13/04
to
Helge Ųyvind Hoel <he...@vvizard.net> wrote in message news:<4003...@news.ringnett.no>...


Helge, no one ever stops with just one robot, around here. So, if
you're new to the game, you might start by thinking small, and using
your first robot as a learning experience, and then design
big/bigger/whatever on your 2nd robot.

The vast majority of personal or hobby robots use small
microcontrollers like the PIC, OOPic, Basic Stamp, AtmelAVR, and
68HC11 and its derivatives. Most of these processors have C compilers
available, but do not use an OS, per se.

Very few hobby robots use something as large as a miniATX or other
PC-knockoff board. Those are fine for the proper applications, but
you'll find just 4-8 Kbytes of code can make quite a sophisticated
little bot. Later on, when you figure out what you actually might need
512 KB for, then you can migrate up.


have fun,
- dan michaels
www.oricomtech.com
==========================

D. Jay Newman

unread,
Jan 13, 2004, 6:12:35 PM1/13/04
to
Helge Řyvind Hoel wrote:

> Guess you got a point. Isn't mini-ITX the "full"-fledged computers with
> (physical) small motherboards, used in the shuttle (and others) products?
> If so I think the Soekris uses a lot less power than that one. It's run by
> 5V DC at least, using ~ 11 Watt if I don't remember wrong. But since I'm
> new to this, I don't know if 11 Watt is a lot or not for robot-building.

A lot of this depends on how much memory one has. I think that a 1 GHz
1 gigabyte M10000 may take 30 watts or so.

However, the speed and the memory make it useful for some types of
robots.

> Lack of I/O could of course be a problem. It got at least one (possible
> with two) standard serial (COM) ports. It also supports both a mini-PCI and
> a standard PCI-slot. I don't know shi*t about PCI-boards, but I figure some
> time into the future, when I get skills for it, it might be very well

Serial ports are OK. With the FTDI chips it is very easy to make USB
I/O.

> projects further into the future. Some of the big reasons for why I want a
> full Linux-system on it, is that a lot of things can be done real simple.
> For example I can use the Festival-program to give the robot
> speech-abilities with minimal effort. I have a full System-logger for
> logging every possible error I might be interested in, and so on. But I
> understand that power-consumption and I/O ports might be a problem. Some
> good information in helping me choosing a controller-unit would be much
> appreciated. It must be programmed in C/C++. I don't feel like
> learning/programming Basic.

I prefer Java, but I am using that now with my Systronix JStik.

I will be using a Mini-ITX system because I can do things that I can't
do on a smaller processor.
--
D. Jay Newman

Mike

unread,
Jan 14, 2004, 3:59:14 AM1/14/04
to
I'm using a PCM-4825 (AMD 586 with CRT/LCD controllers, HDD FDD, COM:
LPT: ports etc, a fully fledged PC). This draws about 15W.

Power is a problem. I'm using 2off 12v 2.8Ah batteries to power it +
everything else. My rover robot runs for about 20-25 mins before it
needs a recharge. Just long enough to see if my latest tweaks work,
but that's about all.

As you say, it does have the advantage that it can run Linux etc, so
the development tools are good.

Mike

Peter

unread,
Jan 14, 2004, 4:17:05 AM1/14/04
to
Dan Michaels wrote:
"The vast majority of personal or hobby robots use small
microcontrollers like the PIC, OOPic, Basic Stamp, AtmelAVR, and
68HC11 and its derivatives. Most of these processors have C compilers
available, but do not use an OS, per se."

I have started with OOpic and my biggest limitation in building a
smarter robot (with vision, speech, etc) is time. I have not reached
the limitations of the OOpic and am still playing with sensors,
servo's and motors.
It's hard enough to write algoritms so that the robot can follow
light, bodyheat and doesn't run into things.

I'm also playing with webcams, stereo vision and thus objectdetection
and movement. I do this with my normal PC.

Both projects are running parallel and are not even close to
finishing. In the end i think they will come together (or not but who
cares:). Think that i'll build a PC with some form of mini-ITX hooked
up with 2 camera's, flash disk, GPS and WLAN. This PC like thing will
be connected with the OOpic.
PC will be the big brain and the OOpic will be the smaller brain for
running servo's, engines, sonar, IR detectors, etc.

This is just one possible solution, the OOpic can be replaced by any
other PIC or MCU or whatever you can call these microcontroleers.
The mini-itx can be replaced with another processorboard with enough
power and extensibility for speech and vision.

Peter

jlon...@online.no (Jeceel) wrote in message news:<f74fb391.04011...@posting.google.com>...

Arthur T. Murray

unread,
Jan 14, 2004, 6:05:44 AM1/14/04
to

Jeceel

unread,
Jan 14, 2004, 11:05:16 AM1/14/04
to
Yeah, this sounds like a good solution, as I would normally think that
separating these systems would ensure a safer operation of the
motoring. It wouldnt be nice if your robot tipped over the moment the
main CPU was busy with some processing (or an OS-lockup was
encountered).

I feel the main attraction for me about the Mini-ITX (or indeed the
Nano-ITX which is even smaller) is that I can program in a higher
level programming language that offer full Object Oriented
programming. In many cases I can use the programming knowledge I have
today instead of spending months to become good at another language.
To create some sort of "intelligent" reasoning based on vision, sound
etc, you need to work in a OOP domain for it to become structured.

My main concern is that the language I have been working with for the
last 5 years is Java, and it seems it does not coexist well with
realtime systems. At least if you want to run it on a Windows platform
which has a core which steal the CPU suddenly for some seconds
essentially locking all programs from operating. Maybe the Linux
platform is better for this, but again then I am afraid I wont have
the necessary libraries and support for the wide number of devices
available for simple windows compatible USB devices today. I certainly
do not want to spend months making device drivers for linux. I think
that time is spent better in the complexities of vision anlysis and
such.

I guess several fields of expertise is needed for a project like this
to work.

Best

Beagle2

unread,
Jan 17, 2004, 12:39:16 PM1/17/04
to
I've been watching this thread for a few days now. It has answered quite a
few questions for me :)

I have an old 486 Toshiba Satellite which I plant to use as a brain but
I've got no CD-ROM drive on it to install Linux from.

What Linux do you use for your machines?
Can old 486 machines be used efficiently?
I have no other ports on that laptop except serial and parallel (as well
as PCMCIA 1)

thanks

Mike

unread,
Jan 18, 2004, 3:00:29 AM1/18/04
to
Beagle2 <beagle_H...@spamsucks.com> wrote in message news:<pan.2004.01.17....@spamsucks.com>...

> What Linux do you use for your machines?
> Can old 486 machines be used efficiently?
> I have no other ports on that laptop except serial and parallel (as well
> as PCMCIA 1)

I'm running tomsrtbt 2.0.103. Do a search on Google. Mine boots from a
Diskonchip and then runs from ramdisk. I put updates onto the roverbot
using an IR link. It was bit of a pain getting Linux on, but now it's
there, updates are just a matter of replacing programs on the
Diskonchip.

You will get a lot of people telling you to use PICs etc, but they
have no real number crunching power. They are fine for rangefinding
and motor control, but when it comes to "Is that a rabbit I'm looking
at or is it a sitting cat ?" they don't stand a chance. Mind you, I'm
still working on this, so maybe I'll run out of CPU power - but I
doubt it. A 486 is fine, plenty of processor power there. After the
boot process, my 586 rarely peaks over 60% cpu utilisation. Don't get
me wrong, you will need PICs, but the "brain" has got to be a PC (or
better).

My PC (PCM 4825) has a PC104 interface and there are circuits on the
WWW for interfaces that can be used to get data in/out of your PC to
your PICs, e.g.
http://www.geocities.com/fishziblu/ISA8255.html

If all you have is a COM port or an LPT port, I highly recommend "PC
Interfaces under Windows" ISBN 0 905 705 65 3. Although it is Windows
based, there are plenty of circuits in there, and it's the principles
that count.

Have fun

Beagle2

unread,
Jan 19, 2004, 5:54:05 PM1/19/04
to
Mike,

Thanks. The reason why I want to go with linux is that I can have more
control over the OS. Also I have a feeling that Win9x would take up a lot
of resources.

Thank you for the reply..


Paul Carpenter

unread,
Jan 19, 2004, 6:52:42 PM1/19/04
to
On Monday, in article
<pan.2004.01.19....@spamsucks.com>
beagle_H...@spamsucks.com "Beagle2" wrote:

>Mike,
>
>Thanks. The reason why I want to go with linux is that I can have more
>control over the OS. Also I have a feeling that Win9x would take up a lot
>of resources.

If Linux is your main goal, and easier to attach lots of I/O platform, you
could look at the SH series. There are eval kits that could get you started
for a few hundred pounds, where board has Flash, RAM, Ethernet, Serial,
buttons LEDs, IRDA port, plenty of expansion timers etc...

In particular the Renesas EDOSK7705.

For more infor see also <http://www.shlinux.org/>

See <http://www.renesas.com/> for the SH7705 spec

See <http://www.msc.co.uk/> for a UK distributor

More bang for your buck, smaller platform than a PC, easier to add I/O
circuitry when you need it.

If your looking at a 'brains' for a robot, putting something on that uses
flash and RAM drives is more mechanical reliable than a PC. This sort of
board is also cheaper than most PC104 offerings of the same sort.

Alternatively you can still use Linux embedded on a host of processors, or
even as your development host the GNU compiler has LOTS of processor
support, from 8bit to 64bit and all sorts of OS or no target OS support.
[then again I ought to know that]

If you were looking Winxx you could only seriously look at the Windows
CE embedded offering, which is still very resource hungry, and often
still expects a screen of some sort.

--
Paul Carpenter | pa...@pcserv.demon.co.uk
<http://www.pcserv.demon.co.uk/> Main Site
<http://www.snugglebot.co.uk/> Robot Wars entry using H8 and GNUH8
<http://www.gnuh8.org.uk/> GNU H8 & mailing list info.
<http://www.readingsme.org.uk/> Reading SME Business Club info
<http://www.badweb.org.uk/> For those web sites you hate.

0 new messages