LEGO mindstorms and FPGA

  • Thread starter Martin Schoeberl
  • Start date
M

Martin Schoeberl

Guest
Yesterday I bought a LEGO mindstorms set (getting infantil in my old
days...). After building the first robot, I want to substitue the RCX by
an FPGA. Has anyone done this so far?

Martin
----------------------------------------------
JOP - a Java Processor core for FPGAs:
http://www.jopdesign.com/
 
Yesterday I bought a LEGO mindstorms set (getting infantil in my old
days...). After building the first robot, I want to substitue the RCX by
an FPGA. Has anyone done this so far?
Why? Do you need microsecond level timing on some control loop?

In general, if you can do the problem in software, it's better
to use a uP rather than a FPGA. The developement software
is more user friendly. That makes it much faster to try a new
idea.

--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or unsolicited
commercial e-mail to my suespammers.org address or any of my other addresses.
These are my opinions, not necessarily my employer's. I hate spam.
 
What about implementing an hitachi h8 mcu in an fpga? And attach exactly the
same external components as in the rcx itself? then you have a "custom" rcx
that you can add advanced hardware into. You can create a second
microcontroller,statemachine whatever with a number of io/s and you can
create som sort of software using the IR send / recv command in the h8 to do
communication with second mcu? So that the ir port of the h8 is mapped to
both IR and internal mcu-2. Create a protocoll so that you can sort out data
packets to / from second mcu or packets that acutally come over IR.

Thomas

"Hal Murray" <hmurray@suespammers.org> wrote in message
news:h_SdnSFMd-AdkojcRVn-hg@megapath.net...
Yesterday I bought a LEGO mindstorms set (getting infantil in my old
days...). After building the first robot, I want to substitue the RCX by
an FPGA. Has anyone done this so far?

Why? Do you need microsecond level timing on some control loop?

In general, if you can do the problem in software, it's better
to use a uP rather than a FPGA. The developement software
is more user friendly. That makes it much faster to try a new
idea.

--
The suespammers.org mail server is located in California. So are all my
other mailboxes. Please do not send unsolicited bulk e-mail or
unsolicited
commercial e-mail to my suespammers.org address or any of my other
addresses.
These are my opinions, not necessarily my employer's. I hate spam.
 
"Martin Schoeberl" <martin.schoeberl@chello.at> wrote in message
news:EA4Rc.45885$M72.9635@news.chello.at...
Yesterday I bought a LEGO mindstorms set (getting infantil in my old
days...). After building the first robot, I want to substitue the RCX by
an FPGA. Has anyone done this so far?
Not that I've seen.

www.charmedlabs.com have lego + gameboy + fpga
uses ecos


Some verilog code for servos etc here
http://www.fpga4fun.com/


Alex
 
Yesterday I bought a LEGO mindstorms set (getting infantil in my old
days...). After building the first robot, I want to substitue the RCX
by
an FPGA. Has anyone done this so far?

Why? Do you need microsecond level timing on some control loop?
Mean reason: Just for fun ;-)
Secondary reason: Get a testbed for some control programming in Java on
my Java processor.

In general, if you can do the problem in software, it's better
to use a uP rather than a FPGA. The developement software
is more user friendly. That makes it much faster to try a new
idea.
I will use the FPGA only for interfaces to the sensor (sigma-delta ADC)
and the motor (PWM output with readback of voltage levels during the off
time).
I will put the schematics for the sensor and motor interface with some
VHDL code on a webpage when I got it work.

Martin
--
----------------------------------------------
JOP - a Java Processor core for FPGAs:
http://www.jopdesign.com/
 
In general, if you can do the problem in software, it's better
to use a uP rather than a FPGA. The developement software
is more user friendly. That makes it much faster to try a new
idea.
It depends how far you want to go w/ your robot. One of the LEGO
extension sets includes a Logitech USB Camera. Unfortunately, the camera
is connected to the PC via the USB cable (limiting the movemens of your
robot), then few pieces of information are sent back to the RCX for
robot control.

We can't call really it an autonomous agent, can't we? It would be a
better idea to handle the camera directly from the robot itself. You
would need a processor to handle the USB protocol stack, but an FPGA
would be nice to compute in real-time the images that you capture in
order to improve the robot capability to react to what it sees.

In such a case, the processor would indeed offer more flexibility but
wouldn't be able to compute the huge amount of data so effiently.
Therefore, an approach incl. a processor + an FPGA would be nice.

Eric
 
It depends how far you want to go w/ your robot. One of the LEGO
extension sets includes a Logitech USB Camera. Unfortunately, the
camera
is connected to the PC via the USB cable (limiting the movemens of your
robot), then few pieces of information are sent back to the RCX for
robot control.
Yes a camera module on the robot would be nice. I have a simple digital
module (M4088 with OmniVision's image sensor OV5017) that I wanted to
connect to the FPGA some time ago. I will probably do it now for the LEGO
robot ;-)

We can't call really it an autonomous agent, can't we? It would be a
better idea to handle the camera directly from the robot itself. You
would need a processor to handle the USB protocol stack, but an FPGA
would be nice to compute in real-time the images that you capture in
order to improve the robot capability to react to what it sees.
The camera module I mentioned is far simpler to connect. You don't need
an USB stack, just digital signals.
In such a case, the processor would indeed offer more flexibility but
wouldn't be able to compute the huge amount of data so effiently.
Therefore, an approach incl. a processor + an FPGA would be nice.
As processor I will use my Java processor inside the FPGA, but the NIOS
would also be fine.

Martin
 
I would suggest running it past the comp.robotics.misc group

I know a few that are running robots with FPGAs but I don't keep track on
the LEGO stuff.
 
Eric, camera wise, you may look at the mindstorm Vision Command.
It looks somewhat new on Lego website so I am wondering whether
it is on sell already...


kelvin






"Eric DELAGE" <eric_delage@yahoo.fr> wrote in message
news:41160BFA.8000702@yahoo.fr...
In general, if you can do the problem in software, it's better
to use a uP rather than a FPGA. The developement software
is more user friendly. That makes it much faster to try a new
idea.

It depends how far you want to go w/ your robot. One of the LEGO
extension sets includes a Logitech USB Camera. Unfortunately, the camera
is connected to the PC via the USB cable (limiting the movemens of your
robot), then few pieces of information are sent back to the RCX for
robot control.

We can't call really it an autonomous agent, can't we? It would be a
better idea to handle the camera directly from the robot itself. You
would need a processor to handle the USB protocol stack, but an FPGA
would be nice to compute in real-time the images that you capture in
order to improve the robot capability to react to what it sees.

In such a case, the processor would indeed offer more flexibility but
wouldn't be able to compute the huge amount of data so effiently.
Therefore, an approach incl. a processor + an FPGA would be nice.

Eric
 
Martin, are you willing to share your Java processor codes? Got any website
on that?

Kelvin





"Martin Schoeberl" <martin.schoeberl@chello.at> wrote in message
news:z3uRc.57103$M72.9272@news.chello.at...
It depends how far you want to go w/ your robot. One of the LEGO
extension sets includes a Logitech USB Camera. Unfortunately, the
camera
is connected to the PC via the USB cable (limiting the movemens of your
robot), then few pieces of information are sent back to the RCX for
robot control.

Yes a camera module on the robot would be nice. I have a simple digital
module (M4088 with OmniVision's image sensor OV5017) that I wanted to
connect to the FPGA some time ago. I will probably do it now for the LEGO
robot ;-)


We can't call really it an autonomous agent, can't we? It would be a
better idea to handle the camera directly from the robot itself. You
would need a processor to handle the USB protocol stack, but an FPGA
would be nice to compute in real-time the images that you capture in
order to improve the robot capability to react to what it sees.

The camera module I mentioned is far simpler to connect. You don't need
an USB stack, just digital signals.

In such a case, the processor would indeed offer more flexibility but
wouldn't be able to compute the huge amount of data so effiently.
Therefore, an approach incl. a processor + an FPGA would be nice.


As processor I will use my Java processor inside the FPGA, but the NIOS
would also be fine.

Martin
 
Kelvin,

do you mean the processor itself or the Java code for the Lego robots?
The Java processor is available in VHDL at: http://www.jopdesign.com/

For the robot stuff I just started to build the interface to the sensors.
I have only a three liner in Java to read out the values, but I will put
the schematics and VHDL source on a webpage.

Martin

Martin, are you willing to share your Java processor codes? Got any
website
on that?

Kelvin





"Martin Schoeberl" <martin.schoeberl@chello.at> wrote in message
news:z3uRc.57103$M72.9272@news.chello.at...
It depends how far you want to go w/ your robot. One of the LEGO
extension sets includes a Logitech USB Camera. Unfortunately, the
camera
is connected to the PC via the USB cable (limiting the movemens of
your
robot), then few pieces of information are sent back to the RCX for
robot control.

Yes a camera module on the robot would be nice. I have a simple
digital
module (M4088 with OmniVision's image sensor OV5017) that I wanted to
connect to the FPGA some time ago. I will probably do it now for the
LEGO
robot ;-)


We can't call really it an autonomous agent, can't we? It would be
a
better idea to handle the camera directly from the robot itself.
You
would need a processor to handle the USB protocol stack, but an
FPGA
would be nice to compute in real-time the images that you capture
in
order to improve the robot capability to react to what it sees.

The camera module I mentioned is far simpler to connect. You don't
need
an USB stack, just digital signals.

In such a case, the processor would indeed offer more flexibility
but
wouldn't be able to compute the huge amount of data so effiently.
Therefore, an approach incl. a processor + an FPGA would be nice.


As processor I will use my Java processor inside the FPGA, but the
NIOS
would also be fine.

Martin
 
days...). After building the first robot, I want to substitue the RCX
by
an FPGA. Has anyone done this so far?
The LEGO sensor interface to the FPGA with a sigma-delta ADC is
completed. I've set up a web page with the schematic and the VHDL code:
http://www.jopdesign.com/lego/index.jsp

The motor control, camera input and hopefully a nice roboter example will
follow.

Comments and suggestions on this solution are welcome ;-)

Martin
 

Welcome to EDABoard.com

Sponsor

Back
Top