instagram

Wednesday, April 24, 2013

Rover testing fun

So thanks you Vassilis for writing a path planner module for testing ground control navigation.  For those that don't know, Vassilis was one of the main designers behind the architecture that powers Tau Labs: UAVTalk, UAVObjects and how we clearly separate the code between the Modules.

I was testing this the other day to drive in a 10m box:

Rover Navigation Testing from James Cotton on Vimeo.

and a few things stood out.  First, I was using an OpenPilot GPS, which it turns out does not like to work near the ground.  Despite reporting a high signal quality, it was easily drifting around 10m in airplane mode.  It's possible other settings would work different, but be wary.  I've got a CN-06 module that just arrived which I'll replace it with.

Despite that, I could look at the high speed logs from the Overo and see that it thought it was doing well given that noisy information:



It's quite overtuned as you can see from the oscillation around the desired path, but not bad for out of the box initial settings.  Also asking a car to drive in a box at a fixed velocity is an impossible task so I'll try later with mitered edges.

The more striking thing was the knack of the it to spin around 360 degrees while driving south.  I reproduced this in normal attitude mode (where the sticks just say head North/South) and noticed it only occurred when being told something near -180, never near +180 (which are physically identically). Finally digging through the logs I found a case where it happened and sure enough desired was -170 and the current heading was more like 170.  I mocked up all the values in matlab and everything seemed fine, but the acuator output had the wrong sign!

Finally it turned out fmodf produces negative values, which is different from Matlab, and this bug can be fixed with a simple four character tweak.

Anyway, I drove this around and it works well now.  Once I get the GPS replaced with something that works better, I'm looking forward to making it drive around the park or use tablet control to follow me around.

Thursday, April 18, 2013

TriBlivion and Sparky

Update2: Sparky2 is available here http://www.hobbiesfly.com/taulabs-sparky2-0.html

Sparky

I recently built a flight controller board for Tau Labs named Sparky.  It uses an MPU9150 for the main sensor, which combines a 3-axis gyro, mag, and accelerometer which allows tracking the attitude of the airframe.  In addition it has an MS5611 pressure sensor for altitude sensing and control.  One of the main goals for this board were to keep it small and single sided - so it could just be taped onto things.  I also kept three of the holes compatible with the same mounting pattern we have been using so it can easily be swapped out for CC or Freedom.



It has a micro-USB header and 12 PWM in/out pins.  The receiver header breaks out VCC in and 3.3V so it can directly power a spektrum satellite receiver (or in my case an OrangeRX) without an adapter.  There is also a JST-SH header for GPS.  I've already designed a revision with an additional serial port exposed for telemetry as I've become addicted to using my tablet in the field for tweaking.

The first flight tests were quite pleasing

Sparky First Flights from James Cotton on Vimeo.

The smaller frame (Silver Hornet) was using off-the-shelf ESCs so it can't be tuned as aggressively.  The larger one has my ESCs so tunes in really well.  Altitude hold worked quite well - the baro wasn't even covered.

Here is the schematic and code
pdf version: https://dl.dropboxusercontent.com/u/6645063/Sparky.pdf
code: https://github.com/peabody124/TauLabs/tree/sparky

TriBlivion

In addition, ever since I saw the trailer for the movie Oblivion, I really wanted to build something like the aircraft Tom Cruise' character flies.  It has two front motors that can rotate so it can basically behave like a tilt rotor.  I ordered some parts a while ago and they've been sitting around for a while and I finally decided to try and build something similar, which I call (for lack of a better name) TriBlivion.


The front two motors are mounted on servos (using an adapter from servocity to provide some strength).  The yaw channel is mapped to drive each servo in opposite directions to create a yaw torque.  In addition there is an accessory channel mapped to point them both forward to create forward thrust.  I'm really pleased that it stays extremely close to level in this condition with the motors pointed forward at about 30 degrees.  It did need the battery quite far backwards to balance the weight of the servo cages.

I know normal tricopters are meant to have a good yaw feel but I've generally been underwhelmed with my tail servo one.  In comparison this yaw feels EXTREMELY locked in - more than anything else I've flown.

This will hopefully make a really good FPV frame since the camera can be mounted on the front and have a forward view while flying forward.  Of course, it's going to be really important to not get confused since while in motors tilted mode full negative pitch will basically make it stop but you'll be looking at the sky.  This is also just stage one of my quest to build a tilt rotor aircraft and get the best of both fixed wing and quadcopter behaviors.

So here it is flying


TriBlivion from James Cotton on Vimeo.

Unfortunately flying into the fence at the end stripped both servo gears, so it will be a week or two before I get more gears and try it for FPV.

Build list:

  • 2x Servo blocks http://www.servocity.com/html/standard_hitec_servoblocks.html
  • 2x Hitec servo http://www.servocity.com/html/hs-6635hb_stan__hi-torque.html
  • 3x KEDA 20-22L http://hobbyking.com/hobbyking/store/__4700__hacker_Style_Brushless_Outrunner_20_22L.html
  • 3x ESC http://hobbyking.com/hobbyking/store/__6548__Hobbyking_SS_Series_18_20A_ESC_card_programmable_.html
  • 2x align 450 size tubes
  • 7x clamping blocks http://www.shop.aglhobbiesllc.com/Frame-Spare-Parts/Delrin-Clamping-Block.html
  • 3x motor mounts http://www.shop.aglhobbiesllc.com/Motor-Mounts/UAP1-Large-Universal-Slotted-X-Base-Mount.html
  • cut G10 plate to sandwich motor mounts at 90 degrees

Sunday, April 7, 2013

Tablet control testing

So I finally got some flight tests done with Tau Labs' tablet control feature, although it was a bit on the windy side. In this mode the flight mode switch is flipped to "TabletControl" and which point control is ceded to the tablet. This means you can use labeled buttons to control from a large number of flight modes instead of confusing switch positions, as well as seeing the performance from the tablet.

Tau Labs Tablet Control from James Cotton on Vimeo.

This mode allows Position Hold, Return to Home, Return to Tablet, Follow Me, Fly Path, Camera POI mode and Land. Most of these are demonstrated in the video. This follows up on some previous work here

AndroidGCS Transmitter - Navigation Control Demo from James Cotton on Vimeo.

but I found the OPLink wasn't reliable to use as the only link and had some fly-aways. This system keeps the regular transmitter in ultimate control in case anything goes wrong. Safety testing is demonstrated as well to show that the motors shut off when the transmitter is turned off. The new architecture makes it easy to define other failsafe behaviors like RTH on transmitter loss, but not until navigation is extremely robust and well tested. The results of enabling Fly Path mode were a little disappointing. It would hit the first few waypoints but the requested velocity and path follower settings weren't aggressive enough to fly upwind. More testing soon hopefully! You can get the tablet software here although the tablet control interface is disabled by default until it is a bit more tested.

Wednesday, January 23, 2013

Tau Labs kicking along

So for those of you not following our forums, Phoenix Pilot has an official name: Tau Labs.  For the brief announcement see here.  Honestly, this group is just great.  All of the main developers from OP migrated over in the early days so it's nice to have the team still working together.  In addition we regained a few people who had left OP due to the various politics there and some new people.  Edouard Lafargue who was one of the main developers of the GCS is has been helping fix some bugs in GCS telemetry and also extend the plugin system to better support new boards.  David Carlson has just designed a shield for the F3 to make that easier for people to use (and making a really cheap full autopilot solution).  Angus Peart, one of the co-founders of OP, has rejoined the project and is a great guy.  He developed the first generation of hardware which was the basis for CopterControl, wrote a lot of the original core code, and also set up the original OP forums.  We also have Vincent Kessler now who developed the port to the F4 discovery board and then the F3 discovery.  He is a great developer with an eye for details, and his F3 port really opened up a new platform that makes it readily available and makes it easy for anyone to get involved (in flying or developing).

On a side note I owe a serious apology to David Carlson for how I treated him over some OP drama a few years ago.  I let myself be talked into scapegoating him and should have trusted my gut after meeting him in Portugal that he was a great guy.  After I was driven out too I ended up thinking a lot of similar things to him.  Essentially the complete lack of transparency or administrative and financial accountability left the project too much in the control of one person.  That is fine for a company but not for an open source project where people donate thousands of hours to have the rug pulled out from them.  It leaves you with no recourse of how to keep playing.  That's why I'm so please that he and Angus established the OmniLoco foundation which is the non-profit in charge of Tau Labs.  It really forces us to put policies in place to protect against that.  In addition we've tried to structure as much stuff to be as light-weight, low-cost and open as possible to avoid repeating previous slippery slopes.  Luckily everyone on the board is like-minded on these issues and I don't see any problems.

The project is just so much more fun now.  Things are much more productive when no time is wasted on bullshit politics: trying to belittle other people or projects, or plotting how best to protect a product at the expense of the broader community.  On a related note I've been reading this book Against Intellectual Monopolies which I'm really loving.  It discusses when industries stagnate and lose the ability to innovate a common response is to try and restrict things and protect their monopoly position by suppressing other innovators (rent-seeking behavior).  It's both eye opening about the general issue of IP (and relates a lot to Open Source) and seems to speak to recent issues.

So clearly we have a great group together.  It reminds me of the original Portugal summit where it was just a group of friends who got along well and really like working on the same problem; it feels like a real team.  Software-wise development is really storming ahead.  There is a test build up which is all nicely branded for Tau Labs and flies superbly for me on a number of aircrafts.  Hardware wise Quanton should be out shortly, the FlyingF3 is available, and the latest revision of Freedom is out being made.  We've gotten a lot of messages from research and academic teams and who want to use our software / hardware for their projects which is extremely exciting and one of our big goals we established in our original meeting.  There is still a lot of work to be one with documentation, wiki'ing etc, but it will happen.

Here are some fun things I got working recently.  First was getting my RusticWave gimbal kicking ass!  I've been trying to get good video from the Sony HX9V for more than a year and this is the first time I was really happy:

Best stabilization so far on UAP-1 with RusticWave from James Cotton on Vimeo.

Then I've been doing a lot of work on the android app (now up on the store).  Here is me switching quickly from viewing the quad with bluetooth during normal flying to controlling via the phone.  I wouldn't want to fly this much outside though.

Flying silver hornet with phone from James Cotton on Vimeo.

Then for anyone interested in trying out the auto tune functionality is here a quick how to video showing it off:


Autotuning Howto from James Cotton on Vimeo.

And last but not least, I finally got my Iconic-X upgraded to 10" arms and went out FPVing for the first time in a while.  There were momements where the sun glare really killed me contrast but it was lots of fun:

Iconic-X FPV flying from James Cotton on Vimeo.

So as you can see, exciting times!

Wednesday, December 26, 2012

Forgot to rant about this



Last week, now they are using sock puppet accounts to try and make people look bad.  This is someone impersonating me on reddit:
"peabody124" in this case is not me.  Just someone with too much spare time trying to be a troll. I don't know who it is although phrases like "class A manipulator" sound like someone I know who matches a similar description.  The account was coincidentally created around the time PP started doing well, too.   These people are embarrassing themselves.  Then you have some (the same?) guy registering phoenixpilot.org and setting the whois page to "James is a dick, ave" and some new vitriol now.

Seriously, I guess those who can't create anything themselves just feel the need to try and knock down others who can.  However, the good news is Phoenix is making great progress and extremely active.  We have a great team going and now the F3 port and Freedom and both working well.  I think Quanton should be out early next year too which is looking really promising.

Thursday, November 29, 2012

And it gets worse

So after being banned from IRC it gets even better.  Now my account and Kenn's account at OP have been hijacked.  I haven't had access since yesterday and suddenly I'm online:
Wow.  This new leadership really has zero integrity.

Wednesday, November 28, 2012

Oh OpenPilot. It's sad to watch you collapse.

Oh classic:  http://forums.openpilot.org/topic/14537-geofencing/page__st__20#entry153125

This was my favorite:
LOL.  Most of the devs have already left and we are definitely implementing our own ideas, but heck - Dave is even claiming he came up with "PhoenixPilot" and probably the idea of putting your pants on one leg at a time.  Coincidentally the domain phoenixpilot.org disappeared last week :).  And of this demonstrates a complete lack of understanding of what the GPL means - there is nothing about it which requires one to actively push changes back upstream and all our work is published without any private repos.  The hypocrisy of that after being "strongly encouraged" to work in a private repo for the last year is astounding.  And of course the idea we are forking for commercial purposes instead of just to avoid the bullshit.  It's 99% likely Freedom will be CC-BY-SA unless we go try and go through Sparkfun or something.

While everyone else is trying to get work done, Dave of course wants to make things political and his hoard of drones starts talking shit.  The best part of it was Kenn had planned to make sure his work to merge it went upstream to OP since Dwillis doesn't know about all the drama in the background and doesn't deserve to have his work marginalized.  We predicted any response would lead to thread closure and sure enough...  Plus he was even pushing other miscellaneous fixes to the OP repo last week, but the facts interfere with the story so they should be ignored.

Meanwhile people are getting banned on IRC in the #openpilot channel, including all of BU and randomly George Tech (cause I guess, fuck them?).

Oh drama.  It's nice to be free of it.

On the up side we have a few more developers working with us now and things are really starting to roll.  Lots of cleanup on the ground and flight side and we should have quite a few boards integrated into the tree shortly.  Also, all the changes for Freedom have been tested and the next revision should be really slick.  The nav improvements and refactoring are coming along really well and I think there is a fair chance we can get that code running on both CC3D and Freedom as well as another board that will be entering the mix (more on that later).