|
|
I've used the RCX with standard LEGO firmware, though I'm not familiar with the
Swan firmware. Having said that, this simply sounds like the old message is not
getting cleared to make room for the new message. Have you tried calling the
ClearMessage() function?
If that doesn't fix it, try posting your source code and maybe someone can
figure it out.
|
|
|
Good morning
We are using a total of 12 lego rcx sets to practice in an educational center.
We are using the nqc language with these robots. We use 2 types of firmware: on
the one hand the firm0328.lgo, sometimes the firm0332.lgo, ie RCX2, and also the
fast0103.lgo. I have not managed to work with nqc correctly a higher version of
the firmware created by Dick Swan. Why do not we always use the Swan despite its
advantages? Because we have a problem with communication between rcx. We managed
to maintain unidirectional communication between 2 RCX2 and from Swan to RCX2.
Also bidirectional between 2 RCX2. What we can not do is that Swan gets
messages. Really, what we can not do is to get a second message. The first
message is received, but then no longer receives more, even if we stop the
program with the "run" key. We can only stop it by pressing the "on / off" key
and then turning it back on. Each time you receive a message, this appears on
the screen with the transmission points, but the rcx with Swan does not seem to
react. We have tried to place waiting times between receptions but it does not
seem to work.
For a while we have given up on robots with 2 rcx to work with 6 sensors
simultaneously, or we have to work with 6 sensors, but giving up the advantages
of the Swan firmware.
But now I was determined to take up this issue, because I think that
communication between 2 Swan, by now, must be more than proven, and as I have
not seen anyone comment on this problem, it must be that we are doing something
wrong.
I know this material is discontinued and there is less and less information on
the web, but if there is still someone out there using it, could anyone tell us
if receiving several messages by a Swan can be obtained, and if you have some
example of a simple program?
Perhaps it can influence in this the fact of having several tasks running
simultaneously so that the messages do not work?
|
|
|
Using RCX bricks and RoboLab 2.94, in many ways is like being stranded on Mars
and this is all there is, which is everything. There is plenty of time until the
next spaceship arrives since contacting Earth depends on making this software
and hardware work. The first space shuttle used a software and hardware that was
more primitive than RCX bricks and RoboLab 2.94. The goal is to surf the
Internet for a paintable image, change it into nine colors of blobs and print it
by melting oil pastels on metal.
|
|
|
Having to trouble shoot a Dell Inspiron 1100 not booting up cleanly. An alarm
goes off and it goes to safe boot mode. I am running the original Home version
of XP without updates and RoboLab 2.94. Keeping the 2007 working original
program until new application arm is working. Side arm needs to come in and heat
up surface where oil pastel dot is applied and move aside for the application
wheel to rotate to the color and move down to apply the dot. Thinking it will be
a side arm where the heating box flips down, moves into dot area for allotted
time then out. http://tomlohre.com/lego.htm
|
|
|
I am back on the Lego wagon, making another painting machine. Looking forward to
creating the best practices program with your advising.
|
|
|
In lugnet.robotics.rcx, Iain Hendry wrote:
> BrixCC doesn't recognize "wait1Msec", and when I try to download a program with
> it, it just gives me an error.
>
> That's kind of what I was getting at with the motor power stuff; I can tell the
> RCX can handle more motor powers, but there doesn't appear to be a way to use
> them in the program...
D'oh...
I'm posting this because I'm sure I'm not the only one who missed this: I
didn't realize there's a drop-down when BricxCC starts up, to select "Swan"
instead of "RCX" when making the first handshake with the brick.
After doing that, it compiles no problem. MotorSetPower128 doesn't seem to
work, though...
At any rate, WaitMS() is great! Super-precision motor control, here I come!
http://www.youtube.com/watch?v=kZlBlbe2cu0
-Iain
|
|
|
In lugnet.robotics.rcx, Jetro de Chateau wrote:
> > I found this site: http://www.elenafrancesco.org/old/lego/index.html
> Thanks for the link!
(snip)
> The documentation on this page
> http://www.elenafrancesco.org/old/lego/Firmware%20Features.html mentions the
> following:
>
> "new wait1Msec opcode to perform program waits using one millisecond resolution"
>
> Maybe that is what you are looking for.
BrixCC doesn't recognize "wait1Msec", and when I try to download a program with
it, it just gives me an error.
That's kind of what I was getting at with the motor power stuff; I can tell the
RCX can handle more motor powers, but there doesn't appear to be a way to use
them in the program...
-Iain
|
|
|
In lugnet.robotics.rcx, Iain Hendry wrote:
>
> I found this site: http://www.elenafrancesco.org/old/lego/index.html
Thanks for the link!
> After downloading the 100x firmware, I can tell that it is a different firmware
> (different clock, tone on button press is different, etc.) - however, it seems
> like I just can't unlock this 1/1000 sec. timer issue. Wait(1); still results
> in a 1/100 second delay.
>
> I found some reference to a "WaitMS" command in the NQC programming guide,
> however, if I enter "WaitMS(1);" I get a "Error: Undefined function 'WaitMS'"
> whenever I try to compile. BrixCC recognizes the WaitMS command (it turns blue
> when I type it), so it must be valid...
>
> I'm not a programmer. I just want a 1/1000 wait :)
>
> -Iain
The documentation on this page
http://www.elenafrancesco.org/old/lego/Firmware%20Features.html mentions the
following:
"new wait1Msec opcode to perform program waits using one millisecond resolution"
Maybe that is what you are looking for.
|
|
|
In lugnet.robotics.rcx, David Koudys wrote:
> I have it and use it exclusively. i'll mail you a copy when i get your e-mail
> sddess
Hi Dave,
Thanks - I tried to send you a note, but your email bounced...
I found this site: http://www.elenafrancesco.org/old/lego/index.html
After downloading the 100x firmware, I can tell that it is a different firmware
(different clock, tone on button press is different, etc.) - however, it seems
like I just can't unlock this 1/1000 sec. timer issue. Wait(1); still results
in a 1/100 second delay.
I found some reference to a "WaitMS" command in the NQC programming guide,
however, if I enter "WaitMS(1);" I get a "Error: Undefined function 'WaitMS'"
whenever I try to compile. BrixCC recognizes the WaitMS command (it turns blue
when I type it), so it must be valid...
I'm not a programmer. I just want a 1/1000 wait :)
-Iain
|
|
|
In lugnet.robotics.rcx, Iain Hendry wrote:
> Hi all,
>
> One of the common ways I like to control the speed of a gearmotor (in NQC) is by
> introducing a loop, for example, like this:
>
> while(true)
> {
> OnFwd(motor);
> Wait(a);
> Off(motor);
> Wait(b);
> }
>
> I often do this as a motor approaches a setpoint (say an offset from a target
> position as measured by a rotation sensor) or the like. Variable a and b could
> be defined somewhere else but usually are around 1/100 or 2/100 of a second.
> Any more than that and the motion gets jittery. I sometimes swap out Off for
> Float, depending on the application (unloaded the motors tend to glide right
> through the Float, however).
>
> I seem to remember hearing someone (Dick Swan?) built some Firmware a while back
> that ran much faster and allowed for 1/1000 second (millisecond) intervals for
> the Wait command, instead of 1/100 (decisecond). Any truth to that?
I have it and use it exclusively. i'll mail you a copy when i get your e-mail
sddess
Take care,
Dave K
>
> Obviously if I could cut down the time delay, the sawtooth of "On" to "Off" gets
> a lot crisper and the whole thing would work a lot better.
>
> Thanks in advance,
>
> -Iain
|
|
|
Hi all,
One of the common ways I like to control the speed of a gearmotor (in NQC) is by
introducing a loop, for example, like this:
while(true)
{
OnFwd(motor);
Wait(a);
Off(motor);
Wait(b);
}
I often do this as a motor approaches a setpoint (say an offset from a target
position as measured by a rotation sensor) or the like. Variable a and b could
be defined somewhere else but usually are around 1/100 or 2/100 of a second.
Any more than that and the motion gets jittery. I sometimes swap out Off for
Float, depending on the application (unloaded the motors tend to glide right
through the Float, however).
I seem to remember hearing someone (Dick Swan?) built some Firmware a while back
that ran much faster and allowed for 1/1000 second (millisecond) intervals for
the Wait command, instead of 1/100 (decisecond). Any truth to that?
Obviously if I could cut down the time delay, the sawtooth of "On" to "Off" gets
a lot crisper and the whole thing would work a lot better.
Thanks in advance,
-Iain
|
|
|
In lugnet.robotics.rcx, Kevin Karplus wrote:
> How much power do you want for the electromagnets, and how rapidly do
> you need to switch them on and off?
> ...
> If you need faster switching (like for pulse-width modulation), your
> best bet is to use power MOS transistors with Schottky protection
> diodes.
Or... avoid both stock relays and chip-based switching.
For a linear motor you want to trigger each electromagnet in a series, you
ideally you might like a "push-pull" system, where you aren't just turning a
magnet on and off, but reversing the polarity (this is true for either the track
magnets or the magnets on the "car" under active control, but perhaps easier to
visualize for dynamically switched track magnets). Why not make a "mechanical
multi-relay", where a motor-driven slider slides two electrical bridges over a
series of contacts, each powering a different magnet in a different polarity.
After all, the order the magnets will "fire" in is fixed. The timing is not
(ideally the later magnets in the series should fire faster, as the car is
moving at higher velocity), which can be varied by changing either the speed the
electrical bridges slide along the sequencer, or by spacing out the contacts on
the sequencer itself.
Not only can you see that easily, but it's easy to tune (mechanically), and
perhaps best of all, it can be made completely electrically isolated from the
RCX or NXT (an important point given the inductive loads and currents that might
end up running around).
Railgun-style linear accelerators are far easier... if you have very low
voltage, ludicrously high current power systems. I've always wanted to make a
simple one of those with a rolling armature (instead of one you have to dump
enough current through to vaporize it), just to see it work.
--
Brian Davis
|
|
|
Iain,
How much power do you want for the electromagnets, and how rapidly do
you need to switch them on and off? Old-fashioned relays will give
you the least power loss, but can't be switched very quickly. They
also have a limited life (between 10 and 100 million cycles, depending
on the manufacturer and what failure rate you consider acceptable).
The usual spec is MCBF (mean cycles between failure), and you will
start getting some failures at about 0.2 MCBF.
See
http://www.digikey.com/Web Export/Supplier Content/Coto_306/PDF/Coto_Testing_Reed_Reliability.pdf
You'll also want to make sure your relay contacts are rated formore
than your DC load, as switching inductors results in large spikes.
Schottky protection diodes are often used to provide a return path to
short out the spikes. (See http://www.azatrax.com/relay-contacts.html
for example).
If you need faster switching (like for pulse-width modulation), your
best bet is to use power MOS transistors with Schottky protection
diodes. If you don't need much current (say 5 amps) but need to be
able to reverse the current through the electromagnets, you can buy
off-the-shelf H-bridge chips. There are plenty of H-bridge circuits
on the web.
|
|
|
Hi all,
It's been a while! A long while ago, while in elementary school, I used LEGO to
build a manually-operated Linear Synchronous Motor (LSM) for a science fair
project. I want to revisit this as an adult and built a full test track with a
couple of vehicles operating at the same time.
To operate electromagnets from the outputs of the RCX, I don't think I can power
them directly from what I've read. The current draw is too high. I think I
need to use either a Relay (within my scope of experience) or a MOSFET (I've
never used one before).
http://www.techno-stuff.com/relay.htm
-Can anyone tell me why in this circuit there is a 22 ohm resistor inline with
the relays?
-Could I make a similar circuit using a MOSFET and have them turn the
electromagnets on and off?
Thanks in advance,
-Iain
|
|
|
In lugnet.robotics.rcx, Dan Berladyn wrote:
> Is it safe to say that LEGO will not be creating a 64bit driver for the USB
> Tower? Is there anyone here that could? What would it take? It would be
> really nice to have one before LEGO completely drops support for the RCX system.
Has anyone found a solution (other than using the serial tower or Virtual PC).
Is anyone else interested in creating a 64-bit driver for Windows 7?
Steve Putz
steve@RoboticsLearning.com
www.RoboticsLearning.com
|
|
|
Recently, I stumbled across an article in JOT discussing the compilation of
.NET assemblies into programs for the Lego MindStorms RCX. As I didn't see
a project name or project URL in the article, I initially had some trouble
tracking it down, but a few blog and forum posts seemed to help get me
pointed in the right direction. From those, I was able to track down the
project page for Visual Storms.
Unfortunately, though, I was not able to download the Visual Storms and
Sharp Storms files. While the CLIFileRW project on Codeplex is still
accessible, the Visual Storms and Sharp Storms pages no longer appear to be
online. I was able to view the download pages for Visual Storms and Sharp
Storms via archive.org, but the files could not be downloaded. I also
attempted to contact the three individuals listed in the article, but the
only one I heard back from said he no longer had the source.
If anyone still has these files and can either point me to a download
location or email them to me, I would *greatly* appreciate it.
Thank you,
Matthew
[Jot]
Article - http://www.jot.fm/issues/issue_2004_02/article2.pdf
[Posts]
Blog -
http://www.alexthissen.nl/blogs/main/archive/2004/06/04/visual-and-sharp-storms.aspx
Another Blog -
http://weblogs.asp.net/fmarguerie/archive/2003/04/24/6044.aspx
Robotics4.NET Blog -
http://compass.di.unipi.it/CS/blogs/robotics4.net/archive/2004/10/06/158.aspx
Forum Posting - http://www.artima.com/forums/flat.jsp?forum=152&thread=28901
[Project Page]
Visual Storms -
http://medialab.di.unipi.it/Project/visualstorms/index.html.en
[Codeplex]
CLIFileRW - http://www.codeplex.com/clifilerw
[Archive.org]
Visual Storms -
http://web.archive.org/web/20070208030329/http://dotnet.di.unipi.it/MultipleContentView.aspx?code=161
Sharp Storms -
http://web.archive.org/web/20070208175252/http://dotnet.di.unipi.it/MultipleContentView.aspx?code=106
|
|
|
In lugnet.robotics.nxt, Ralph Hempel wrote:
> Jordan Bradford wrote:
> > I have Windows 7 RC on my netbook and I can't get the NXT software (version 1.1)
> > to install. It hangs when the installer presents its progress bars and starts
> > copying files off the CD.
> >
> > Does the 2.0 software work with Windows 7?
> >
> > By the way, RIS 2.0 installs in Windows 7 but it has problems with the USB
> > tower.
>
> Is this the 64 bit driver issue coming up - again?
>
> Ralph
It's 32-bit Win7.
|
|
|
Jordan Bradford wrote:
> I have Windows 7 RC on my netbook and I can't get the NXT software (version 1.1)
> to install. It hangs when the installer presents its progress bars and starts
> copying files off the CD.
>
> Does the 2.0 software work with Windows 7?
>
> By the way, RIS 2.0 installs in Windows 7 but it has problems with the USB
> tower.
Is this the 64 bit driver issue coming up - again?
Ralph
|
|
|