Flying a helicopter with the N900 – the story so far…

LATEST: It flies! Video footage and overview.

So an enquiry from Riccardo at WOMWorld has prompted me to write a quick update on my progress regards flying a remote control helicopter with my N900. Specifically, this helicopter:

As you may have seen, I recorded a proof of concept video. That allowed me to test that the IR transmitter on the N900 can speak to the helicopter.

The next step was to create a control program to allow me to send different control signals to the helicopter to have some control over it. I’ve written this (BASH scripting FTW!), and it works. Basically you use the keyboard to control it. Press a key for more thrust, press another to decrease thrust then a couple of keys for left and right.

Then it was more testing, on the range and angle of control I have over the helicopter. I’ve done this, I can control the chopper up to ~40cm. Which isn’t a great range, but should be good enough if I have decent control.

The final piece of the puzzle is the control resolution. At the moment I can’t hover the chopper (making it hard to fly, as it flies out of range or crash lands). The problem is although I can control the level of thrust, my choices are none, just too little to hover, too much to hover or waaaaay too much power. So I need finer control. To get the control signals, I record output from the remote using an IR receiver hooked to a PC then use this for a LIRC config file I can use on the N900*. So I need to record another range of control signals and try again. I’ve not done this yet, as the helicopter’s in the office and the necessary IR receiver is at home. I hope to get onto this tonight.

If I can persuade someone to act as a cameraman, I might record a test flight later if the office isn’t too busy.

UPDATE: An officemate will help me film it, and there’s more info on the control problems in the comments below.

*the particularly observant/bright amongst you will have realised there’s a much better way to do this, where my program generates the IR codes rather than merely plays them back. And indeed I do know the encoding used by the helicopter. However I’ve not had time to dig into the LIRC source and work out the encoding used there to control the IR device at a lower level. And as I’m writing up a PhD I don’t have the time for now, even although this would certainly work a lot better. So for now I’m stuck with recording/playing back signals.


8 Responses to “Flying a helicopter with the N900 – the story so far…”

  1. […] It sounds like he has the basic code sorted, but needs fine control. Anyone got any ideas? Can anyone volunteer to film the inaugural flight? Let Ian know. […]

  2. Hmm I’m thinking N95 accelerometer via Blue Tooth to the N900. should work fine. Anything else?

    • The problem isn’t the resolution of control input from the user – it’s the resolution of control between the N900 and the helicopter. At the moment it just works by looping pre-recorded control signals (which then I can control) rather than generating the control packets itself. So there are two problems with this approach.

      Firstly hovering requires fine control of the helicopter’s thrust. It supports 15 levels of thrust control, but I can only choose between 7 or 8 levels, which tends to either mean it slowly sinks to the ground, or gains height out of range.

      The second problem is that each control packet to the helicopter includes not just thrust information, but yaw (side to side) info. And as I send pre-recorded packets rather than generate them on the fly, it means that I don’t have independent control of thrust and direction. As you can imagine, this makes flying difficult, especially combined with the short range of the N900’s IR transmitter! So the flight’s not the most controlled!

      What I really need to improve it, is a way of generating the raw LIRC control signals from user input, rather than effectively selecting between pre-recorded control signals. Basically given an input byte (or so) representing a control packet, I need to generate the output IR signal in the picooZ’s encoding, represented as LIRC raw code. But I don’t have time to try and work out this encoding. Alternatively, a complete (all inputs, all levels of trim) LIRC config file for a channel A picooZ toy copter would do the job! (but no such thing exists AFAIK).

  3. I may come and blog yah

    • I’ve got someone to help me record, it’s ok. There’ll be a video up later today.

      Though for the reasons in my above comment, don’t expect amazing flying! It’s just a £20 helicopter, an N900 (never designed to fly a ‘copter!) and a couple hours of my time.

  4. […] How to do something differently… « Flying a helicopter with the N900 – the story so far… […]

  5. […] am sure you will be surprised to see his N900Copter project and his story behind it is also as interesting as his project […]

  6. […] is clearly crackers. He got an N900 phone on trial from Womworld and used it to fly a model helicopter. The people at Womworld must have mis-read my application as all I said I wanted to do was talk to […]

Leave a Reply

Please log in using one of these methods to post your comment: Logo

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

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s

%d bloggers like this: