Who is A.L.I.B.E.

A.L.I.B.E stands for Artificial LIfe BEing – is in the makings of becoming an autonomous land roving robot. The sole purpose of his life is to wander about land terrains in search of his “homebase”. At the skeletal structure, ALIBE is a modified all-wheel drive RC Truck retrofitted with various electronics components to give him the needed sensory and reactionary behaviors. Sensory components essentially help him gather data as he wanders about – such as temperature, light, touch, acceleration, inclination, compass heading, GPS location, object and obstacle range, Vision and other important pieces of data that will help him make the needed decisions to get to his homebase. Reactionary components essentially help him react upon to the data he gathers – such as motion, display and communication to-from him and the homebase.

ALIBE is also equipped with other components such as a communication module (powered by Aerocomm AC4790) that he uses to communicate two-way with the homebase. Essentially, responding to request-of-data and request-to-react. Both of these behaviors are important to ALIBE’s overall behavioral patterns. He needs to be able to send data to the homebase when requested and react to the commands sent by the homebase Command Center – such as overriding behaviors. Think of this as similar to the Command Center at NASA sending data over the air, thru the space to the Mars Rover and back – this one, only on a much shorter range and smaller scale.

ALIBE is equipped with battery packs to fuel all the electronics he runs or decides to run at behavioral time. Which also means, that he knows when to shutdown certain modules as needed or to boot up for use as demand rises.

The brains of ALIBE, are powered by an on-board 32-bit multi-processor based microcontroller chip called, “Propeller” made by Parallax. Propeller is made of a central “Hub” that knows how to control the surrounding 8 multi-processors called, “Cogs“. Each of the cogs can be programmed to take on a task that runs independantly of the others, yet centrally managed by the Hub. It is a very effective way of time-slicing ad processing command cycles. Propeller can be programmed either using Assembly or the proprietary SPIN language. Both of these are very attractive not just from programming structure, But, also from performance and efficiency standpoint.

ALIBE employs Propeller in a way that each of the 8 cogs are designated to handle a certain “wing” of the onboard responsibilities. More details can be found in this blog. From a high level however, a Cog is set to process Communication between ALIBE and the homebase Command Center, another is set to gather sensory data from less intensive sensors such as temperature, accelerometer, compass, CdS, Sonar Range detectors, etc., while another gathers data from the Vision enabling camera; And, another monitors the overall demand-need-status of devices to ensure switching on and off of the devices; another to handle motion; LCD displays, among other behaviors.

A bit more about the communication module in ALIBE; The AC4790 is made by a Aerocomm. It is a Transceiver – very user/developer friendly. AC4790 was chosen among other similar devices for a couple of reasons. One, it is fairly easy to work with compared to other competitive products in the market. It’s Pin layout and Pin characteristics are easy to follow. And, mostly, can be effectively functional just with 3-wires into the microcontroller. It has many featuers. However, for ALIBE, all he needs to do is wait for commands from homebase Command Center and either react to the commands or send data back. A very “Reactive” behavior. For something as simple as this, one is able to make this work with 3-wires. The second reason I chose this was, the range. In a clear Line-Of-Sight, ALIBE is able to keep the communication open for upto 4 mile radius – which is very useful for ALIBE’s behaviors and Thirdly, AC4790 supports not just “Peer-To-Homebase” but, also, “Peer-To-Peer”. So, if in case I were to build another ALIBE, the two will be able to communicate with each other and also with the homebase Command Center effectively. This last feature is very useful for the future of ALIBE.

The ultimate goal of ALIBE is to navigate about the neighborhood, and tackle obstacles and reach the homebase coordinates successfully. The project is on-going for the past 3 months now and I am hoping it will be completed in another 3 to 6 months.

This blog is here to keep and post updates on this project as it happens. You should find a lot of information here 1) background theory 2) electronics details such as parts, circuit diagrams, hardware assembly, etc 3) some level of source code 4) and of course a lot of pictures.

ciao

Nagi

Advertisements

9 Responses to “Who is A.L.I.B.E.”

  1. Tapan Sarkar Says:

    Hi Nagi,

    While I was just thinking the purchase of the AC4790-1000M SDK was useless, I discovered your site! It is such a wonderful site! The PCB making article for example is very appropriate.
    I need some help to make an interface with AC4790 using VB language. I am not yet in VB .net but I can definitely read the examples. I want to read the Radio-Tables to relay the data from one transmitter to another. Secondly, I am testing the SDKs in open outdoor space like one Traffic Intersection to another Traffic intersection on the same main road but I cannot go beyond 1 to 1.5 miles. Aerocomm says the -1000M can go even 20 miles with antenna, so I bought this higher model to reach just 4 miles! Well, the two intersections are not exactly in a straight ‘Line-of-Sight’ but they are like straight open roads as found in any regular US cities! Is there anyway I can improve the range? Do I need to use any antenna even within 3 to 4 miles?

    An example program with AC4790 command mode and knowing how to increase the range will be a very big help in my project.

    Best Regards

    Tapan Sarkar
    Baton Rouge, LA
    225-921-0739

  2. nagibabu Says:

    Tapan, I replied to your earlier comment. thanks

  3. Tapan Sarkar Says:

    Hi

    I had written to you earlier if you can please elaborate a little how you took the board from Radio Shack and derived the 3.3V supply with the connectors laid out. Please let me know as I am stuck and do not want to proceed till I am sure about the power to the AC4790 is just OK. It’s costly! I have 5V DC supply available to me from an wall adapter.

    Best Regards

    Tapan Sarkar

  4. nagibabu Says:

    Tapan,
    the propeller chip outputs a regulated 3.3v. I however, have a 5v regulator on board the board. More details here:
    https://aliben.wordpress.com/2006/11/01/modular-layout-and-wiring/

    caio

  5. Tapan Sarkar Says:

    Yeah! I read that part but I am sorry as I cannot exactly follow from ” I took a regular board from a radio shack…and “laid out” the connectors. One half was 5V and the other was 3.3V….etc” ? Did you buy any specific 5V regulator? Since in your case 3.3V was from the propellor chip but I do not have anything but 5V DC available to me. What and how should I connect it to something for the required 3.3V for the AC4790? I am asking because you are excellent in details – which really helps for someone abosolutely new like me in hardware. Please let me know.

    Regards

    Tapan

  6. nagibabu Says:

    Tapan, it is really nothing complicated at all. I could have done a better job at explaining.

    Think of this “regular” board as a simple extension chord that is split into two halves. Each half is made up of connectors that each provide a regulated output.

    The left half provides a regulated 5v and the right half provides 3.3v regulated output.

    Now, what I did was simply take the 3.3v output from the prop stick and hooked it up to this “regular” board.

    I then took the output from my 5v regulator on the “brain mod” and hooked it upto the other half of the “extension chord” board.

    hope that helps?

  7. Tapan Sarkar Says:

    Thanks for the detail again. I got the power thing clear. Now, since I have to generate my 3.3V on my own, this is what I did. I purchased a voltage regulator (511-LD1086V33 ST Low Drop Voltage 3.3V 1.5A Positive for $1.00) which I read in the net, if provided with the 5V DC (from my wall regulator) on the input pin, will output 3.3V. I can feed this into AC4790. I will connect the regulator GND to AC4790 GND. With this I should be OK with power. Am I correct and hopefully I will not damage the 4790? Your views please.

    Second point, I find that you have connected your controller directly to the AC4790 for TX/RX. Now the manual says it is TTL 5V. As far I understand, your microcontroller should have the same TTL thing – right?

    Regards

    Tapan

  8. tano Says:

    Hi! I am doing a wireless data acquisition project and I already purchased an AC4790-200 chips. I didn’t bought the SDK so I am having a problem programming my chips. Is there a way I can still program my AC4790? I will be using Zilog as my OEM. Is it compatible??? Thanks!

    BTW your site is wonderful. I really learned a lot.

    tano

  9. zac Says:

    Hey I could really use some help transmitting data in C from my microcontroller (atmel ATMEGA168) to an aerocomm unit (AC4790) serially. I have posted on the Paralax forums all the details. I would greatly appreciate it if you could help me out as you seem pretty proficient with these units. Thanks! Here is the link to the post:

    http://forums.parallax.com/forums/default.aspx?f=6&m=252972

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: