Subject:
|
Re: Brainstorms GUID
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Mon, 12 Aug 2002 18:31:36 GMT
|
Original-From:
|
Bruce Boyes <bboyes@systronix.+StopSpam+com>
|
Viewed:
|
905 times
|
| |
| |
At 05:47 AM 8/12/2002 +0000, Wayne Gramlich wrote:
> All:
>
> I'm not sure I really understand what point is trying to be
> made. I thought that a globably unique id was a good idea
> and put them into RoboBricks. My choice was to use a 128-bit
> random number. There are other solutions. All of the other
> solutions mentioned would also work. My solution uses 16
> words of program memory out of 1K words in a part that costs
> $1.01 (US) in quantities of 25 from DigiKey. It was the
> solution I adopted.
Maybe I completely missed the point myself?
I like your idea of intelligence so small it can fit into a brick, and then
tie into upper levels of higher intelligence. That sounds like true
distributed processing (a good thing) to me.
Here's the issue I was addressing:
How do you guarantee that two vendors won't produce the same 128-bit
pseudo-random number? If they use the same algorithm they will produce the
same series of "random" but not unique numbers, unless you can guarantee
that they use different seeds. Thirty two bits would give you four billion
numbers, I'm wondering why you chose 128.
Also the 128-bit number doesn't tell you anything about the function of
that node. If you are stringing 16 nodes in an arm for example, how do you
write the code to control it? Now what if you have 10 such arms? Now you
have 160 random numbers but what do they mean? You could have an index
somewhere and try to maintain it but why not keep the information in the
node itself?
On our JCX system we have 24 to 32 SPI chip selects per backplane, each
with an EEPROM tagging memory which holds the function, serial number, etc
of the device at that chip select. You can have one code base applied to a
number of robots. At startup the code scans the backplane, finds what
resources are available and then knows what to do. There's space to add
your own info too. For example in our 8-input passive/active sensor board
you can label that group of sensors or any individual sensor. As you say,
the little memories are inexpensive, and easy to talk to, without added
logic - just I/O pins and a bit of code.
We came up with this scheme because some users have - for example - a swarm
lab with say 20-30 robots, almost identical, but with possible differences.
They don't want to maintain 30 sets of firmware with hard-coded parameters.
At least that's the theory. We will be building and testing this hardware
starting in Sep.
Bruce
-----------------------------------------
WWW.SYSTRONIX.COM
Real embedded Java, fast 8051s, & more
+1-801-534-1017 Salt Lake City, USA
-----------------------------------------
|
|
Message has 2 Replies: | | Re: Brainstorms GUID
|
| (...) Presuming they can use different seeds, 32 bits is one chance of collision every 4,294,967,296 attempts. If they don't have random seeds then it doesn't matter a damn how many bits you have. The chances of collision on each reboot go up (...) (22 years ago, 13-Aug-02, to lugnet.robotics)
| | | Re: Brainstorms GUID
|
| (...) That's what we thought as well. (...) If you use a pseudo random number generator with the same seed you will get the same `random' number. The obvious answer is don't do that. I personally use the /dev/random device on Linux which collects (...) (22 years ago, 13-Aug-02, to lugnet.robotics)
|
Message is in Reply To:
| | RE: Brainstorms GUID
|
| Quoting "Russell C. Brown [RR-1]" <rcbrown@austin.rr.com>: (...) Well, one easy answer is to use a Dallas serial number chip. They are way less than a dollar in quantity. Actually each 1Wire device has a guaranteed unique ID. Some have EE memory for (...) (22 years ago, 12-Aug-02, to lugnet.robotics)
|
53 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
This Message and its Replies on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|