11.17.09

Done with the framework

Posted in Hardware, Software at 7:07 pm by wouter

Time to start on some actual AI!

First of all let me refresh your memory on the architecture that we had in mind for our project. As you might recall there are two computers involved in controlling our robot: there is the software on the Ground Station, called Uplink (this has been introduced about three posts below). This software is able to send and receive UDP-messages to the other computer, which is Zeppy itself, flying around. These two communicate via Bluetooth, so we can tell Zeppy to ‘do stuff’ from Uplink, and Zeppy can then send back to Uplink what it senses (if needed). Our idea is that then we can implement different types of cognition in Zeppy ranging from simple remote control, where the messages determine entirely what action is to be done, to completely autonomous behavior where Zeppy determines everything for itself. (and perhaps communicating with Uplink in the process, so the system could work out hard calculations)

Well as it seems now the entire software architecture on Zeppy has been completed! Also, the “remote control”-cognition has been implemented, so now we have basically created an rc-blimp (which can even be controlled with a joystick or a compass). This may not seem that impressive to you, but this framework is way more flexible and robust than what we had before, and it allows us to easily implement very different types of behavior.

Encouraged by this thought and the ideas of our supervisors we have chosen to take on the challenge of implementing SLAM; Simultaneous Localization And Mapping. This would mean that we could make Zeppy fly around in a room or an entire building for a while and have it tell us what it ’sees’, and simultaneously Zeppy can localize where it is. To be realistic, we dont expect this to be an overnight implementation exercise. However, we’re looking forward to trying this, since the end result would be really cool.

However we’re unfortunately still held back by some other issues we have to resolve. A lot of work is still needed on the hardware level. First of all we noticed that the motors we use to propell the blimp are simply not strong enough. Also we’re still worried about the envelope we currently have. Although a lot of work has been put in by the engineering students, it still isn’t as robust as we hoped. Also it is still very big. We’re now looking into other options such as a professionally made blimp.

As you see, although we have been silent on here for a long time, there’s quite a lot going on right now. Work in progress…

05.17.09

Posted in Hardware at 11:12 pm by Dirk

Last week the students at Electrical engineering delivered the PCB, and what a change. Compare the pictures of the Sort of completed post, and the image below. The breadboard has been replaced, so the electronics are mostly finished.
This is not the first PCB that was made, however due to layout-errors on the previous design and the large amount of time it took to solder the SMD-components we decided that a different approach was needed.
The new PCB has through-hole components instead of the surface mounted components of the previous PCB, which makes soldering it a lot less work, and this time the design is solid.

Next up: attaching the third motor, used for controlling vertical speed and making attachment points for the PCB.

04.17.09

Sort of completed

Posted in Hardware, General, Software at 3:03 pm by Joël

Wednesday was judgment day for the people at the Hanze University as that day signaled the ending of their 8 week project. Both Electrical Engineering and Mechanical Engineering worked hard to complete a working Zeppy before the 13:00 deadline. And succeeded, Zeppy flied beautifully!

There are some parts that still need a finishing touch, like the printed circuit board(PCB) and helium balloon. But for the demo we replaced the PCB with a experiment board (breadboard) which we were able to lift with a slightly over-sized balloon. Below are some pictures of this historical day!

See the Zeppy Set on Flickr for more pictures!

In other news our, slightly outdated, article for the Dutch magazine for Artificial Intellgence (de Connectie) got published! Head over to their site to see how you can get a copy!

Also we’ve made great progress on the client-side. We’re now able to remote control Zeppy with a Joystick and have made a GUI to read and set the status of Zeppy. Below is a screenshot of this system we call Uplink!

04.07.09

Nearing Completion

Posted in Hardware, General, Software at 7:35 pm by Joël

Our cooperation with the Hanze University is coming to an end. We expect to integrate the fruits of 9 weeks of hard labour into a great product by the end of next week. It has been an awesome experience and I hope that the students from the Hanze University can only agree. Out of nothing there will be a robotic zeppelin, which was not an easy task. Finding the right material for the helium envelope proved to be extremely hard and even after acquiring the desired material, coated mylar, working with it was also problematic. The imagination of the engeneering students was taxed with finding a suitable way of sealing the mylar envelope. Quite a few unorthodox methods of sealing have been explored and, ultimately, rejected. At the moment they are trying a combination of a special mylar glue and aluminium tape, which seems to be working. As for the gondola part the finalized blueprints are being sent to a 3D printer which was made available to us.

On the electrical engineering side of the story we were faced with the failure of our Gumstix module. This was a setback which was quickly overcome by buying a new Gumstix and Robostix. However easy this simple switching trick might seem it pulled some nasty tricks on us. There is no documentation on both components, not organized anyway. So for the electrical engineers this meant browsing the internet for hours to get the system back to its original state. Not an easy task when taking into account that the platform had switched from Buildroot to Open Embedded rendering most our i2c modules useless. The lack of i2c modules seemed to be easily fixed by compiling them from the available repositories, which were unavailable. We were able to get the system running again, however, and the AVR(a type of integrated circuit) software almost immediately worked its magic. The AVR will communicate to a custom Printed Circuit Board(PCB) which will provide access to the sensors and actuators. It’s a strange thing realizing that you’re communicating through a Bluetooth connection to a computer chip, talking to another computer chip which is making motors run. At a distance!

While the students at the Hanze University were developing the hardware, we focused on creating good software for developing the robots’ behavior. On the client-side we now have a functional graphical user interface, written in Java, which is able to sent and receive UDP(User Datagram Protocol) messages to and from Zeppy. On Zeppys’ side we are now able to receive these messages and parse them appropriately into C++ objects. It now only seems to be a matter of tying the generated C++ objects to the i2c-layer and we have a remote controlled blimp again! We’ve also started working on a simulation environment which will be able to simulate Zeppy’s behavior on a basic level and replay Zeppy’s logfiles so we can analyze them.

When Zeppy is completed the fun for us will really begin. We’re considering multiple techniques for autonomous behavior ranging from simple reactive control (like Braitenberg vehicles) to complex Simultaneous Localization and Mapping(SLAM) systems integrated in a hybrid control architecture. Keeping the zeppelin stable in an ever changing environment will also provide the necessary challenges and we are eager to try various control systems like PID-control or recurrent neural networks.

Of course we will flood this blog with pictures and video’s when we are able to show the brand new Zeppy but for now we have some fun videos and pictures!

Prototype Envelope

Prototype Envelope

Testing variable motor speeds using Pulse Width Modulation(PWM)

03.29.09

The design of the new gondola

Posted in Hardware at 11:04 pm by Margreet

The students from Mechanical engineering have been working on designing a new gondola for Zeppy. This gondola has to be lightweigt and small, but also strong and big enough to house e.g. the gumstix and the robostix. The separate container at the bottom is designed to hold the battery.

gondoladesign2
gondoladesign1

02.10.08

Hardware

Posted in Hardware at 7:05 pm by Tessa

Now that we have a blimp that actually flies, we want to show a schematic representation of the hardware in and attached to the yellow gondola of our Zeppy.

Exploded gondola: (click on the picture)

Hardware

07.21.07

Building the motor drivers

Posted in Hardware at 8:06 pm by Tessa

We went to an electronics shop and collected a whole bunch of resistors, diodes, wires and off course enough IC’s to drive three motors. We constructed the motor drivers on the PCB as small as possible because we always have to consider the weight that our blimp can lift, and we did not take this piece of electronics into account when we measured and weighed the on board electronics. First we made it possible to drive one motor, because we wanted to test our construction and it worked! So we have good faith that we can drive three motors before this day ends! Meanwhile a lot of work has also been done in the software domain. Zeppy’s brain can already detect faces, see motion and determine optical flow. We can not wait to couple the software to our hardware platform and see what Zeppy does!

Home built motor drivers:

Home built motor drivers

Motor driver connected to the Gumstix, battery and motor:

Connected

07.09.07

Way small computing.

Posted in Hardware at 12:22 pm by Tessa

Today, our Gumstix arrived. This is a very very small computer which weighs only 9 grams. We are going to use it on board to drive the motors and maybe later even to do all the processing and make Zeppy really autonomous! Our first challenge with the Gumstix was to activate the Bluetooth, so that we could access our small computer. Some wires had to be soldered to the little machine, which was very exciting, fortunately the third time they were on the right pins! Now that we could access the Gumstix, we could try to drive some motors with them, but unfortunately it was impossible to do this directly with the Gumstix, which we had expected. The outputs could not provide our motors with enough power, therefore we have to insert motor drivers into the circuit.

Gumstix:

Gumstix

Soldering a motor:

Soldering a motor

06.14.07

Calculate and build

Posted in Hardware at 5:57 pm by Tessa

After we mistakenly made a balloon that was far too big for our purposes, we decided make a detailed calculation first. Now, we know exactly how big our blimp has to be in order to be able to lift the electronics we need. So, again we sealed the balloon and filled it with helium. Zeppy flies again! But still, we are not quite happy with the quality of the hardware we now have, so we are going to use Gumstix to control the motors and try to find better motors and rotors.

06.07.07

Zeppy version HUGE!

Posted in Hardware at 2:56 pm by Tessa

During our measuring day we found out that we needed a bigger balloon to be able to carry more weight on our blimp, so we bought ourselves some plastic, borrowed a deep-freeze sealer and made our new Zeppy. We used some aquarium supplies to build an air-valve and filled the new balloon with all the helium we had left, which was not enough unfortunately. This was not due to our helium provision, but to the size of the new Zeppy, which was BIG, really HUGE! We really made a miscalculation with the design of this new balloon, because it could lift more than 500 gr (+/- 1000 lbs), which is much more than we need. When we tried to move this balloon with our original gondola and motors nothing happened, as could be expected. The controls were not strong enough for this enormous balloon. So, our huge version of Zeppy only lived a short life and had to make place for another blimp.

Sealing the new balloon:

Sealing the new balloon

Air-valve made from aquarium supplies and duct-tape:

Air-valve

Almost completely helium filled super blimp:

Blimp huge