Nima K's Posts (10)

Sort by

Project Andromeda - System Integration


The lack of updates on the Project Andromeda blog has been mainly due to the amount of work we've been trying to do coming up to the Outback Challenge competition. Unfortunately, we didn't quite make it this year but we've made a lot of progress on the different sections of the project. I've updated the blog with some new pictures and videos of our airframe, electronics and launch equipment. Check it out!

Read more…

Vision Based Collision Detection System


So I think we can all agree that a reliable detect-and-avoid system would indeed be the holy grail of the UAV world. The current debacle of UAV regulation hinges on the fact that UAVs indeed would not be able to avoid collisions as they would not be able to sense the presence of other traffic.

With the current technology at hand, it seems to me that vision based systems present the only option for small UAVs due to both cost and weight constraints of radar systems. There are already some research centers that are doing work on this such as these guys:

I am also compelled to start research in this area both due to personal interest and necessity. Having Project Andromeda puts me in a good position where we can develop and test the system on a reliable platform.

I am thinking whether or not an Open-Source version of the same system would be possible. I would set-up the project and provide hosting (most likely as part of the PA website). The target demographic would be people who are interested in digital image processing, SLAM systems and vision based spacial tracking and general robotics.

A great deal of work has already been done as part of the Project Andromeda effort and I will ensure separation of PA code and work done on this project to ensure license integrity (as PA is not under an Open Source license).

Here's a short description of the proposed system:

The picture above is the main camera of the Project Andromeda platform, the Sony FCB-EX20DP.

The PA platform also includes a 1.4Ghz embedded PC with an on-board frame grabber that captures the frames from the FCB-EX20DP in compressed and raw form for transmission to the ground and for processing. The camera is attached to a PT gimbal which allows it to be stabilized. I'm currently using openCV to research different methods.

The proposed system would use a modification of the current Project Andromeda PTZ camera to scan the skies for traffic. It would used dense optical flow fields coupled with feature detection to spot objects moving against the background. It would then use Kalman Filters to track them in 3D space and using mono-SLAM to obtain range values if possible. An alternate version could use a lightweight laser range-finder coupled with the main camera to obtain accurate ranging for objects that are close.

The end result is a system that maintains a repository of objects by tracking them in the surrounding 3D space. The zoom ability allows the system to quickly obtain close-up images of each object. This could either be used to notify a ground-based controller or to match up against an onboard database of objects.

So, this is obviously something I've been thinking about for a while. It could go two ways, I would either develop it closed-source as part of PA, or it would be an open source project that would rely in PA and other similar projects for air-time and reliability testing. The end result would be a Open Source system comprising of the mechanical, electronic and software blueprints necessary for operation.

Is anyone interested in something like this? If you are, or any other thoughts please shout-out below. I'll be following this carefully to see if it's at all feasible as an Open Source project.

Read more…

Perseus AHRS + 3D Visualization App/Source

A short video of the Perseus AHRS using a small 3D visualization app I wrote this afternoon:

Full blog article is here:

I've been working on the Perseus Autopilot for the past few weeks and unfortunately didn't find the time to post any updates on the Andromeda Blog. I'm in the process of writing about a few things about the AHRS that I've been building as part of the project and I should hopefully post that within the week.

Also in case it might be of use to anyone, I wrote a simple 3D visualizer for the demonstration above. It will read quaternion values from the serial port in the following format:

w x y z;

But you can re-write it to accept any format. You just need to write your own custom GetRotation function. It's developed in C# and uses WPF3D for the visuals so the codebase is very small. Unfortunately it limits it to windows only (sorry). The source include the entire VS2008 project and you can do whatever you want with it.

You can download the code from here:

Read more…

It's been a bit overdue but I've posted a number of updates on the Project Andromeda blog detailing our recent progresses with the manufacturing of the airframe, autopilot development and some software tips. The articles are as follows:

The Perseus Autopilot:

This article details the Perseus Autopilot and the recent developments. It also details the hardware and some of the software on board.

Interrupt Based Programming for Microcontrollers

A small article which I hope will be useful to people looking to write programs for microcontrollers using interrupts.

Airframe Developments

A picture-heavy update on how we are developing the airframe of the Andromeda vehicle.

All of these are available on the Project Andromeda blog:

I hope you find them useful and I'd love to hear your feedback.

Read more…

I've been a bit careless about updating the blog regularly but here it is finally! I've posted some videos and pics of our CNC cutting some wing molds as well as the antenna gimbals. There are also pictures of the mold layup process, gimbal mechanics and new CNC setup. Please find the full article here:

I've also finished the first revision of the IMU, and written a simple simulator in the GS to figure out any bugs on the Autopilot. I will post some shots and videos of these tomorrow. Also, we are officially an entrant in the 2010 UAV Outback Challenge!

Read more…

Possible Backup Communication System


Edit: Forgot to put in links:

So we're going into the Outback UAV challenge and I've been brainstorming ideas about a backup communication system as it's not really desirable to lose primary communication at all. So I know the Aerosonde guys use satellite data packets for their backup telemetry (namely iridium), but having looked at their prices and latency I don't think it's a good option. Enter the GE864. I'm currently working with it at my day job and it's a fantastic little unit with so much functionality it's almost silly. It has an in-built python interpreter with 1MB of program memory which is pretty good. It also has a slew of GPIO and emulated bus protocols such as SPI, I2C, etc that can be multiplexed onto the pins.

If they wanted to, I'm sure someone could make an Autopilot out of it, but I am more interested in it as a backup communication method. With a suitable antenna, at the altitudes and speeds which we fly at, we should be able to get GPRS reception in most areas. Would it be viable as a platform for sending intermittent telemetry to a internet-connected ground station?

If so, one could write a python application that accepted a serial input (such as the one you would normally send to a radio) and send it to a specific IP address.
Read more…

Project Andromeda - Ground Station Electronics Box

The ground station electronics box houses the telemetry hardware that keeps Andromeda connected to the base. The ground station controller keeps communication flowing even if the ground station computer is disconnected while the routerboard will relay digital video via ethernet.

Currently we haven't got any antenna connectors but they'll be coming soon. The usb and ethernet connectors above are for telemetry and video respectively. The other two connectors are for the catapult and dynamixel actuators. The catapult connector allows the GSC to launch the aircraft and measure launch speed. The dynamixel connector facilitates the movement of the antennae. Next update will hopefully be some AHRS progress and equations,etc.

Read more…

Project Andromeda - Communication Protocols

I've been busy writing the communication protocols between the Ground Station and Autopilot. I thought some people might be interested and possibly make use of the approach I've taken. It's all done in binary with discrete packets and makes use of DMA and Interrupts to use as little processor time as possible.

Asynchronous operation is achieved by the use of two FIFO queues and double buffered DMA channels for each radio. There is a lot of detail that will make the diagram above make a bit more sense.

Full article at:

Read more…

Project Andromeda Ground Station

The above picture shows the Project Andromeda ground station circuitry. You can also see the DNT900 from RFM. I believe there has been some interest on this radio in the DIY Drones community and once I finish the construction of the autopilot I will be able to give a recount of my experiences with it. So far, however the radio seems to be extremely capable (especially compared to the Aerocomm AC4790 radios that we previously used).

You can find more information related to the ground station and the DNT900 in the full article available at:

Read more…

Project Andromeda update - CNC Machine and sponsors

We have been working very hard on the CNC machine and it's almost finished. The machine will form a vital part of our arsenal leading up to the competition. We will use it to create our launch/arrestor systems and also the molds for the airframe.It is in working condition at the moment but we just need to clean it up. The spindle needs liquid cooling so we've been busy trying to sort out an adequate pump and reservoir to facilitate that.Another urgent matter is end switches. We had a close call the other day where due to various unforeseen reasons the Y axis slammed itself into the X axis. This was during testing so we weren't actually machining anything but it was very scary nevertheless. I didn't realize how quickly the axes could move if uncontrolled. Owing to this incident, I also ordered a nice perspex shield to place in the gap below the X axis in case we break some milling bits. We are definitely not turning it on until we've got all these precautions in place.In other news. Project Andromeda has its first sponsor! Advanced Circuits from Colorado, USA have generously sponsored us and are going to make the PCBs for our autopilot. We have been with those guys from the beginning and the experience has been great.There is a full article on the CNC machine on the Project Andromeda Blog if anyone is interested in further reading. There are also some more pictures in the gallery.
Read more…