T3

### MatrixNav is released.

• William,
Thanks for your response. Any chance we can take a look at the Simulink Model of your algorithm? We currently have our own controls and 6DOF model, I would really like to take a look at the Simulink section of your algorithm itself.

Thanks!
• Looking forward to the paper on the math + physics behind this. Thanks again.
• T3
SLUGS Team,

Paul Bizard and I added two things to the algorithm described in the Mahony paper: a novel normalization technique, and a well known technique for compensating for centrifugal acceleration that had not occurred to Mahony. Paul has done extensive Simulink modeling and simulations, including models of DCM, the controls, and the plane. Together we have worked out the theory.

The Mahony paper is quite good, and they derive some excellent math. Paul and I are presently writing a paper that will explain the technique in a way that is accessible to a wider audience. We will be sure to include a derivation and the equations for the normalization. It is taking longer than we hoped.

The implementation of DCM is efficient and elegant. Louis LeGrand at Intel recently ported it to his "InertiaDot IMU". You might want to take a look at his video.

Best regards,
Bill Premerlani
• Hello William,
I would be very interested in taking a look at the theory behind this to implement it in a Simulink Model, which would, I think, make it more understandable from the academic point of view. I wonder if you have anything written about it (even hand written notes would do, if you have them) . I don't mean the documentation you currently have from the implementation point of view, which by the way is really good. I rather mean a derivation and the equations behind it. I will begin by reading the paper you mention on one of your first comments but if I understand correctly, the novelty of your algorithm lies in the normalization of the DCM. Am I right in saying that? Or are there more differences between your implementation and the above mentioned paper?

• I can highly recommend STM32 if you need a lot more servo channels: 12+ HW servo outputs in LQFP64. I spent several days comparing PIC32, AVR32, STM32, and picked SMT32 for my AP mainly due to its free toolchain (gcc, openocd), 512k flash / 64kB RAM, and excellent peripherals (3 12 bit ADCs, DAC, 12+ HW servo outputs, servo input on any pin, 3 USARTs, 2 SPI, etc). PIC32 is probably faster computationally, but has far weaker IO (only 5 HW PWM outputs), and MCHP's toolchain commercialization is somewhat irritating.
• T3
Flare,

That is good news indeed.

Now, some good news for you: porting my firmware from the dsPIC30F4011 to the dsPIC30F6010A should be trivial. The board that you have in mind sounds impressive. Good luck, and let me know if there is any way that I can help you.

Bill

Bill
• Bill,

Good news on the 4 servo / 5 RC input board :)

I've been following the dev of MatrixNav and was planning on developing just such a board in the summer after my finals. Was planning on using a DSPIC30F6010A in the TQFP 80 package so as to enable 4 independant PWMs and use two sets of headers for the remaining pins so as to enable a lot of upgradability. My aim is to use this for a heli if i can, so i wanted the possibility of adding a Magnetometer on an expansion board etc.

Do you know if the MatrixNav code would port directly as its a PIC of the same family? ( Other than modding a few pin outs and changing the headers for the 6010A )

Flare
• T3
Ben,

In the immediate future I am going to stabilize roll and pitch for a Golderg "Endurance" that I have (which is no longer in production), with the board that I have. It is a two axes of control airplane with ailerons and and a V tail that is controlled like an elevator. I plan to control ailerons and V tail through my board and control throttle directly.

The board that I have will work with 3 servos and listens to 4 RC inputs. So you could easily do ailerons, rudder, elevator, if you are willing to do manual control of throttle by connecting that servo directly to you Rx. Or you could do ailerons, elevator and throttle on something like the Endurance.

There have been several requests for 4 servos and 5 RC inputs. So, yes, I am planning a new dev board to do that. I am not sure when it will be released, right now it is in the conceptual phase. I will give updates from time to time.
• Hi Bill,

This is a really exciting project! I notice that you've mentioned working on a project to stabilize roll as well. Are you planning a new dev board that would allow control of 4 servos and would listen to 5 RC inputs? Or were you thinking of using the existing board and just dropping control of the rudder or throttle channel?

Ben
• T3
Bcr,
By the way, one of my next projects is going to be to stabilize a neutrally stable plane. DCM should make that rather easy to do. There is a certain element in the matrix that can be used to regulate roll orientation, and there is another that you can use to regulate pitch orientation.
Bill