Todd Berk
  • Male
  • Santa Clara, CA
  • United States

Todd Berk's Page

Profile Information

About Me:
Enginear in the Bay Area!

Todd Berk's Blog

Rudder deflection and Roll cross-coupling control in ardupilot?

Posted on May 23, 2009 at 11:34am 3 Comments

How is the cross-coupling between Rudder and Roll being controlled in the ArduPilot since there are no ailerons? I'm doing some autopilot research for my Parkzone Radian, similar to the EasyStar in that there are no ailerons. Basically, a simple PID loop for heading by actuating the rudder won't work since you will impose roll and sideslip. What is the ArduPilots method for heading and roll control?


Comment Wall (5 comments)

At 7:46am on September 21, 2009, Sergey said…
Hi Todd,

This is Sergey.
I wrote you an email this weekend about your project TresCopter but got no reply. So I decided to try my luck once more :)

I'm playing with STM32 evaluation board and HMC5843 mag
I'm curious how you made it tick with STM32 microcontroller? I'm a bit afraid to fry mag board so I'm more interested in running code in simulator first.
On you site I saw you did all the SW in simulator.

Do you plan to continue you TresCopter project?
Do you plan to publish some more info on it? (sources, PCB) so that others can make it too :)

Kind regards,

Sergey Lukin
At 2:39pm on September 23, 2009, Sergey said…
Hi Todd,

Thank you for you reply. I already though it is some sort of conspiracy against me.
I wrote to you a message last weekend from 2 forums and
Next day I could not log in to sparkfun forum - the reason I was banned :)
I wrote immediately email to admin of the forum. He could not find any reasons for a ban and "unbanned me" :)
Now account is banned again. Strange stuff going on :)
Luckily you got my message through diydrones.

I always wanted to try RC helicopter so I bought one for myself.
Walkera HM 60B Helicopter
It is an beginner/intermediate class helicopter.
So that is the way how I started to think about autopilot for it :)

I looked at dozens of the projects on the net about autopilots and could not find any as a ready to use solutions or close to it, at least for the reasonable money (~300-500$)
So I understood its a nice challenge to build one myself.

Here is my concept for the autopilot.
see picture
I'm more in favour of using Linux on board as I have some programming experience of ARM9 processors.
Unlike other platforms there are tons of code available/ported to ARM. So writing all the navigational, controlling software will be a bit easier. Plus all additional goodies like usb drivers, webcam drivers, GPS etc will be almost for free.
So I would like to use 3 boards for autopilot.
1. IMU (3x magnetometer, 3x accelerometer, 3x gyro + MCU to process data (Kalman or similar))
2. Peripheral board (2-3 UARTs, 2-3 UBS, Pressure Sensor, Ultrasonic Sensors, PWM for motor/servos control
3. Main CPU (ARM9 or similar)

In such a setup it is possible to connect almost anything to the Peripheral board:
like Bluetooth, Wifi, ZigBee, Webcam, GPS just using standard Linux drivers

My considerations about IMU: it should be quite small and located as much as possible to the centre of gravity.
Moreover it has a confined task (getting data and processing them) to be separated to a single module.
something like this, but much cheaper :)

I'm not sure about Pressure Sensor, Ultrasonic Sensors should they be part of Peripheral board or it should be a combined board which is responsible for all sensors: IMU + Pressure Sensor, Ultrasonic Sensors
What do you think?

So I decided to start from the more or less defined peace of work - IMU.
The requirements for it:
make it below 100$ and as less complex as possible.
Similarly to vn-100 and you I selected STM32 microprocessor - 15$ (100$ for the MCU board and debugger :)
found 3x magnetometer - HMC5843 20$ on digikey (but 50$ for the breakout board from sparkfun :)
found 3x accelerometer, 3x gyro IME-3000 + IDG-500, IDZ-500 ?$, 20$, 11$ (don't have them yet but I expect they will release IME-3000 soon)
So it is achievable to make it below 100$ and with only 5 IC.

I think more people will join the project if they could get complete IMU for ~100$.

I have some thoughts about Main CPU board too
I want to use some already existing platform.
Quite promising looks gumstix project
They have Main CPU board + a lot of designs for Peripheral boards
This is exactly what is needed. It has a lot of documentation and working source code examples.
The price is somewhat on the edge ~ 200$ but we get almost complete solution.

I also noticed that there is a guy using gumstix for autopilot too. His design is similar to what I described but he has IMU integrated into his peripheral board and his price tag is 3000$ :) And of course his project is not open source :(
I think we can do much better.

If you don't mind I would like to see you code so I can get up to speed with STM32 development.

What do you think about whole concept? Is it realistic?
Do you have your own code repository? If not, I can make one.

Could you please reply on my email? This way I can send you some concept design pictures. I don't know how to add them here.

Kind regards,


At 2:25am on September 27, 2009, Sergey said…
Hi Todd,

Have you got my last comment?
I'm attaching picture of the concept I have in mind

Kind regards,

At 10:52am on September 29, 2009, Sergey said…
Hi Todd,

Are you still busy ?
I have not heard from you since last week.


At 12:49pm on August 25, 2011, Andrei Istodorescu said…

Hi Sergey,

Did you got any progress in your stm32-hmc5843 interface?

I am trying to get this working but I have problems.



You need to be a member of DIY Drones to add comments!

Join DIY Drones



Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service