Friday, September 22, 2023

INAV versus Ardupilot for Rover

I started making drones around 2011 when it was new and unregulated.  You bought a bunch of items from Hobbyking and China, read a bunch of stuff online, then experimented until your drone flew.  There were only a few expensive ready to fly drones from 3DR and DJI.

Fast forward to today and drones are highly regulated, intensely disliked by the public, and split into a few categories: racing, camera, industrial..  I have given up on drones but am still interested in autonomous vehicles, so I decided to build rovers.

My first rover is a converted Tamiya Grasshopper.  I used a Kakute F7 flight controller, GPS/compass, small OLED status display, Radiomaster TX and RX, and replaced the speed control in the Grasshopper.  

I tried it first with Ardupilot software, which I used in drones since 2011.  Wiring was a pain as I tried to keep the body of the car and add the rover functionality, which was a mistake.  With a smaller flight controller, a tight space, and a rover setup, I needed to add a separate board to allow me to change connections easily and debug.  This is the green board with the spaghetti of wires on the right side.

Ardupilot kept getting updated, and I had trouble getting it to work in rover mode, so I thought I would try Inav.  Here is what I learned:

Ardupilot

  • Complex but allows for much customization.  Hundreds of parameters to set and outputs to monitor.  My previous experience helped me.
  • Great documentation - you can look almost anything up.  Fair amount of videos available too.
  • Good community - lots of help available
  • Much easier to debug - logs available, status info on mission planner screens and onboard OLED
  • Limitations if you don't use an up to date Pixhawk controller.  For example, the newest software for Kakute F7 deleted the OLED screen support.

Inav

  • Simple and little support for customization.  It looks easy to get a quadcopter working but rovers are an afterthought and sometimes you need to set something up in a different way.
  • Poor documentation - most of the useful information is in Youtube videos and it is frustrating to listen to 10 minutes of video to find out how to fix one simple error message at times.
  • Good community - not a lot of people but they are helpful.  However, the community seems to be spread out over Reddit, Github, and Discord.
  • Difficult to debug - logs only available if you pull out the SD card and read it, poor status info on mission planner screens and onboard OLED
  • Lots of support for different affordable flight controllers.
If I had to do it over again, I would stick with Ardupilot.  However, it is more challenging to try and make Inav work, so stay tuned for more info.

Saturday, June 17, 2017

DJI Phantom 3 Versus Custom Built Camera Drone

Anyone reading this blog (does anyone read this blog?) would know that I have built quite a few camera drones - SK450, SK450 Deadcat, S500, S500 Hexacopter.  Most of them used commercial frames, APM or Pixhawk controller, and Gopro or similar cameras.  They all worked, some of the time, and I enjoyed building them.

But I was tempted by a very low price on a DJI refurbished Phantom 3 Standard and bought it.  What was it like getting a pre-assembled and integrated drone working?  In short, very good.

I will not do a full review but just highlight the big differences between a home built drone and the DJI.

Debugging - no debugging needed, just follow the instructions, watch a few Youtube videos, update the firmware and it was ready to fly.  Contrast that with hours and hours trying to get a DIY drone working well.

Features - The DJI has more features than my homebuilts, although I could add more.  Specifically, the DJI came out of the box with failsafes, FPV, full camera control from the ground, auto takeoff and land, as well as full OSD (on screen display).

Flying - I guess DJI has a lot of experience with people crashing their drones and complaining.  The Phantom is easier to fly and has a beginner mode to keep you safe.  The auto takeoff and land also prevent a lot of crashes.

Camera - The DJI camera is pretty good, maybe not quite as good as the Gopro Hero line, but acceptable.

Accessories - Good and bad things here.  Accessories like carrying cases, landing gear extensions, and props are readily available at reasonable prices.  DJI batteries are proprietary and expensive.

So all in all a very good experience with DJI Phantom 3 Standard for about $300 USD.  If you are more into flying and photography than building and debugging, I definitely recommend it.

Sunday, February 28, 2016

Quadrysteria Mini Mamba Review


Mini Mamba (Final Version)

A while back, I bought a 250 racer style kit from Quadrysteria called the Mini Mamba.  It is high quality in general, with Sunnysky motors, true carbon fiber frame, SimonK ESCs, etc.  The kit included the frame, motors, ESC, integrated BEC/power distribution card, and instructions.

I initially elected to use a Mobius FPV system, spare mini-APM controller, and Lemon DSMX receiver to complete the build.  I started trying to use the instructions, which are well written, but not very useful.  Unfortunately, there are no pictures and you are left wondering which plate is the top, what is the front, exactly what standoff is required etc.  Fortunately, there are video instructions here, and they show you exactly what to do.

In the initial build, I ran into a few problems, some of my own making.

  1. The mini APM may have been defective, it did not consistently stabilize the unit.
  2. The integrated power board from the kit was defective.  It did not supply proper 5V for the receiver and APM.  I had to replace it with a power distribution board and use one of the ESC BECs.
  3. The wiring for the mini-APM and rest of the electronics was not reliable, probably due to the crummy wiring supplied with the mini APM.  The ESC BEC was probably not the best choice as well.
The Mamba flew, but not well, I did crash it badly enough that I had to repair it.  One of the advantages of the Mamba is that will usually just break the props and/or the nylon bolts that hold the motor mounts to the carbon fiber arms, and this is easy to repair.  Previous quads tended to break arms, props, and frame plates, necessitating major repairs that takes hours and hours.

Based on this experience,  I stripped it down and rebuilt it with an Orange receiver that I had used before, a separate BEC, and a Hobbyking mini APM and Hobbyking GPS.  The wiring was much more straightforward as the Hobbyking units came with better cables and I was using a separate BEC. It takes some work to figure out where to stick the ESCs, cabling, BEC between the top and bottom plates.
Side view
Performance is much better but there is still a lot of tuning required as it is very sensitive to pitch and roll, but very insensitive to throttle.  Some other pictures are shown below.
Arm assembly which is set up for easy repair after crashes
Mobius FPV setup with integrated mount and transmitter.  This will be reviewed in future.

Thursday, January 14, 2016

Converting the Eachine Racer 250 to APM Controller

A while back I wrote about buying the Eachine Racer 250, which used a CC3d controller.  Well I got tired of trying to figure out this controller and decided to switch the controller over to an APM.  I used the Hobbyking Micro APM, but you can get the same hardware from Banggood.

This started out easily enough, but there were a few hurdles along the way.

Step 1 Disassemble the Eachine

Take the top deck and battery alignment plates off as shown in the figure 1.  Be careful when removing the power connector for the 5.8 GHz video transmitter as it can be easily damaged.  Use an old coffee cup to store the parts while you work on the rest of the project.

Figure 1

Step 2 Mount the Micro APM


The Micro APM will easily go into the CC3D mounting standoffs as shown in figure 2.  Note that you will have to remove one standoff that supports the battery alignment plate as it blocks the USB port.  Figure 3 shows the APM mounted from the top
Figure 2
Figure 3

Step 4 Wire Up the APM

Here is where it gets a little tricky.  The servo wiring from the APM to the receiver is done as per normal.  The Ardupilot.com website shows how it needs to be done.  This is easy.

Next, you need to supply power to the APM so you will need to make up a cable that goes from the Eachine 5V and ground power pads (green arrow Figure 4) to the power input connector of your APM (magenta arrow, Figure 4). You will need a 6 pin connector to attach to the APM.

Then, we come to the tricky part.  The connections to the motor speed controls are shown by the red arrow in Figure 4.  You have to make a new cable here.  The motor numbering IS NOT THE SAME for APM and CC3D.  The cable will need to be set up as follows:

APM            Eachine
5V                5V
Gnd              Gnd
Motor 1        Motor 2
Motor 2        Motor 4
Motor 3        Motor 1
Motor 4        Motor 3
Figure 4

Step 5 Reaasemble the Eachine

Now you can reassemble the battery alignment plate, top deck, and secure any loose wires.  You are ready to fly again after the usual ESC calibration, radio, compass, gyro calibration are done.

Figure 5 Reassembled Eachine Racer 250



Saturday, December 26, 2015

Hexacopter First Flight

I managed to get the Hexacopter to fly after a few flips on takeoff.  It turns out that the motor configuration and wiring for a Pixhawk is not intuitive or well documented.


  1. You have to search through DIYdrones forums to find the information here.
  2. Connect motors 1 to 4 to Pixhawk inputs 1 to 4, same as a quadcopter.
  3. Connect motor 7 to Pixhawk input 5
  4. Connect motor 8 to input 6
Bingo!

Tuesday, December 15, 2015

Quad to Hex

I decided to go further and build a hexacopter.  I was able to use my existing 550 quadcopter parts and purchase an inexpensive hex frame from Banggood.com, two more motors, two more ESCs, and use some extra landing gear parts.  Here is what I have so far:







Saturday, December 12, 2015

Flysky i10 PPM

A while back I reviewed the Flysky i10 radio.  It is a great radio for the price, but I needed PPM output from the receiver in order to feed my Pixhawk.  PPM is a single wire interface for all channels, in place of the one-cable-per-channel PWM interface, which is about 40 years old.

The manual tells you nothing about how to do this, but the online forums were filled with people saying it could be done.  I tried everything, and could not find a way to do it.

Finally, I found a bunch of postings about a very helpful fellow at Diamond Hobby, Jim Ogorek, who might be able to help (email: jim@diamondhobby.com).  In spite of the fact that I bought the radio through another retailer, Amazon, he helped me by sending me the update software for the radio.  Note that there are two versions, US and China.  I needed China because my radio showed up as a "CN" device on windows.

After running the software on my PC and connecting up the radio, I was able to update the transmitter, and it then updated the receiver, and bingo, I had PPM!  You go to the receiver menu on the transmitter and there is a simple check box for PPM and it enables PPM output on ch1 of the receiver.  Works like a charm.