What is RAMA

RAMA stands for Remotely operated Aerial Model Autopilot. It is an open project, held at the Department of Control Engineering, Faculty of Electrical Engineering of the Czech Technical University in Prague, which purpose is to design and build a universal, modular control system for small UAVs (Unmanned Aerial Vehicles). RAMA is intended to be used as an experimental system for research & development purposes, mainly in the academic environment, but shall serve as a good starting point for anyone willing to build his own UAV.

Main feature of the RAMA project is its total openness, meaning that the whole technical documentation – including wiring diagrams, PCBs (Printed Circuit Boards), software source codes, data processing & control algorithms and flight data from our UAV, simply everything – is available at this website for anyone to download. Therefore, anybody with necessary technical background can take benefit from our experience and perhaps even build his own RAMA system for whatever purpose, or could use RAMA as a reference for his own project, saving a lot of work and avoid many blind paths we have taken =).

Although we use the RAMA system to control a hobby helicopter, it can be easily adopted for fixed-wing aircraft if needed. Actually, we are planning to build a fixed-wing UAV equipped with RAMA autopilot in the future.

History and Current State of the Project

As of 2010, our RAMA project has been running for nearly six years, with some shorter or longer periods of dormant state, caused by overwhelming of the team members by some higher priority tasks =). At the end of 2004, we started the project literally empty-handed. In the early stages, the project was hindered by quite a lot of teething problems. It took us about a year and half to bring up the RAMA system ver 1.0 to airworthy condition. At this time, the hardware of the system had been almost completed (safe for Navigation Unit), and basic telemetry software too. No automatic control was implemented then.

On March the 26th 2006, the first flight test took place. Its purpose was to test the system in anger, and to do the basic set-up work on the helicopter.

After doing some basic adjustments and solving some slight problems, our heli was ready to go. Frankly, I have to admit that I was pretty nervous when I took her up for a ride for the very first time. With my hands trembling, I gradually increased the collective up to a point when she would not stand still, shaking and gamboling around like a racing horse eager to run. Then, with a light squeeze, I took her off and hey presto, she was airborne! Like a leaf in the breeze, up she went, and hovered some ten centimeters above the ground. I was surprised with the easiness she held up her burden – after all, she was some kilo and half heavier then she should be – but she was holding it without any noticeable effort. After getting comfortable with the controls and some slight trimming, I tried a steep ascent at maximum collective. And up she went, like an angel, up to the sky. I was very satisfied with the ascent rate – there was obviously enough reserve. Later, I performed some real flights. Immediately, I felt that this would be tremendous machine. Right in the first outing I felt confident enough to try a vertical stalled turn, and I was tempted to go for a roll or loop – she felt so nice! But then I thought that it would be rather stupid to crash our precious machine because of foppery, should anything go wrong. So I decided to never ever fly aerobatics with her, although sometimes it is very hard to resist! The capability is definitely there.

After putting Freya and RAMA through their initial paces, we could felt satisfied with the results. All systems were working fine, without a single flaw! And the machine was a real pleasure to fly. This was a tremendous success, and gave us much-needed psychological boost. Our work seemed to progress a great deal smoother ever since.

Just afterwards, the RAMA was upgraded to version 2.0 – the navigation unit was added, only with IMU by then. It was successfully flight-tested at the beginning of June and again in July. Version 3.0 followed, extended by GPS receiver, and the lowest control layer was implemented – the angular rate dampers. It went thru its paces in October. Because of electromagnetic interference problems, version 3.1 was developed – not functionally expanded, but solving these problems. It was successfully flown on the 8th November – although also the first crash happened that day. But this was not related to any hardware problems, but to a misbehaving control algorithm and also a pilot error. The upgraded hardware performed as expected.

The crash destroyed most of the flight hardware, and due to long lead times of some components, it stopped us for nearly five months. This was the very first experience of harsh consequences of a fatal error, or series of errors, which eventually lead to the accident. This experience, unfortunately but inevitably, occurred several more times during the development, hindering our progress by a great deal. In the aftermath, strict pre-flight procedures and tests were developed, in order to somewhat increase the likelihood of survival :-).

In later years, the system was redesigned several times - sensors were added, the Main Control Computer was migrated to different hardware and software platform no less than three times and control and data processing, as well as telemetry algorithms were completely redesigned more times than I really want to remember =). The helicopter was also rebuilt and upgraded many times, and in fact, the current machine is probably fourth or fifth (depending on how you treat some reused parts 8-)) in succession. Still, the burden of some heritage hardware and software in RAMA is much heavier than I would like, but with our resources, it is currently impossible to redesign.

In its current incarnation, RAMA is equipped with almost all basic sensors and algorithms needed for autonomous flight. It has an IMU, magnetometers and a GPS receiver, providing all basic flight data. A Kalman filter is used to determine the attitude of the vehicle, which is the most important information from the stability point of view, and higher control loops, used for station keeping and trajectory tracking, are in place (although in a somewhat semi-temporary manner 8-)).

The vehicle is capable of semi-autonomous or completely autonomous flight, although the takeoffs and landings still have to be flown manually. An automatic takeoff would be not so hard to implement and probably will be done in the future. Fully autonomous landing is a little more challenging task and lies probably further in the future.

Flight test 28 May 2010

Station keeping demo.

Flight test 1st May 2010

RAMA system demo, including short ground presentation & flight demo (showing attitude hold).

Flight test 21st April 2006


lord_ram.jpg goddess_freyja.jpg

When it became obvious that our work is beginning to bring its first fruits, it was decided to set-up this website and to make our results public. Naturally, a need arose to find an appropriate name for our project. Until that time, I never thought of anything so unimportant such as a name =), as you can imagine. But once I really began to think of it, I suddenly realized that it is not so easy to find a fitting designation. I thought it over and over and hesitated a lot, clearly unable to come up with something really appropriate.

After some time, relaxing in a cozy dark tearoom my friend runs, with good Cambodian oolong in front of me, I suddenly felt that my search was over, once and for good. As a big fan of the famous writer and philosopher A.C. Clarke, I decided to call our system RAMA.

There are several reasons behind this – some of them obvious, some transient and some clearly psychotic (well, those I shall keep for myself, though =)). In one of the best novels I’ve ever read, the Randez-vous with Rama, Rama is an automated, autonomous spacecraft. This corresponds nicely to the aim of our project. Also, Rama is a hindu god, fitting perfectly to the celestial name of our rotorcraft – Freya. Freya, or Freyja, is a Nordic goddess of fertility, love and sex; she is my favorite, as she often used to wear just a necklace, as legends say =). I also have some personal affection for India, with part of my family originating from that part of the World (and I am also passionate of Desi food =)!).

Nonetheless, the great tale of Rama, the Ramayana, symbolizes the course of a research & development process very well – Rama had to overcome a lot of adversity in order to safe his wife Sita, and to reach nirvana. Similarly, we also have to overcome a lot of hurdles in order to reach our ultimate goal. Last (and least) reason is that RAMA makes a fitting shortcut – Remotely operated Aerial Model Autopilot. I won’t pretend that this was the main reason though; in fact, it is a backronym. Well, there are also other reasons for that name; but I would rather not mention them, as you would probably consider me being a complete psychopathic moron (probably rightfully :-)).

The left picture above shows Rama, his brother Lakshmana, his wife Sita and Hanuman, the ape king. The upper right picture shows the goddess Freya.

Terms and Conditions of Using RAMA

The RAMA system software is published under the terms and conditions of the GNU GPL 2 license. Anybody is welcome to use the RAMA system as a whole, or its parts, for his (her) own purposes, as long as he (she) keeps us informed about his (her) activities related to RAMA and as long as he (she) provides a link to this website in the documentation of his (her) own project. Simple registration (absolutely free of charge) is required to enable access into the Downloads section.

This website, its parts and documents published here may be used under the terms and conditions of the Creative Commons BY-NC-SA 3.0 license, meaning that you can copy, share and modify parts of this website or the website as a whole for non-commercial purposes, as long as you provide a link to our website and publish your work under the same or compatible license.

Unfortunately, due to our limited human resources, it would be impossible for us to provide full support for potential RAMA users, but anyone is welcome to contact us and ask for additional information. We will try to answer all questions as long as our limited time allows.


All information on this website are provided on an “as is” basis, without warranty of any kind, either express or implied. Your use of this website is at your own risk. We disclaim liability for any direct, indirect, incidental, special, consequential, exemplary, punitive or other damages, or lost profits, that may result directly or indirectly from the use of this website and any material that is downloaded or obtained through the use of this website.

Enjoy this site, and may Rama bless you ;-).

introduction.txt · Last modified: 12/06/2011 10:29 by ondra
Recent changes RSS feed Creative Commons License Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki