Installing ArduPilot for Linux from the guide

I am trying to install on Ubuntu 14.04 using the instructions here but I am getting these errors:

odroid@odroid:~/GitHub$ ardupilot/Tools/scripts/install-prereqs-ubuntu.sh -y [sudo] password for odroid: E: Package 'g++-arm-linux-gnueabihf' has no installation candidate E: Unable to locate package libc6 E: Unable to locate package libgcc1 E: Unable to locate package gcc-4.6-base E: Couldn't find any package by regex 'gcc-4.6-base' E: Unable to locate package libstdc++5 E: Couldn't find any package by regex 'libstdc++5' E: Unable to locate package libstdc++6 E: Couldn't find any package by regex 'libstdc++6'

Very very odd stuff going on, I also tried the secondary install procedures listed in the second half of the page but I keep getting a crap-ton of other errors. I have tried manually installing these packages that aren’t found but they aren’t listed in the application library.

Ok it looks to be working now, after googling around I found this site which includes a useful way to get the gcc-arm-none-eabi installed (see the advanced setup from the guide linked in the first post). Using the ‘quick’ install method in the guide doesn’t work, so don’t bother with it. Just follow the instruction for the advanced guide except don’t download the gcc-arm-none-eabi from their link, use the site I just listed.

The installation is running smoothly now but I will post further results later, for anyone who cares.

Ok since I am using Ubuntu 14.04 I need to follow the steps 1-4 at the bottom of the guide (linked above). There seems to be a problem with their private repo right now and as such, the installation is still not working. I have contacted the creator and am awaiting a reply.

[quote]Hi Alex,

Unfortunately PPA system does not build packages for armhf by default
(how ironic I know) which is why the package is not available to you.

Best regards,

Thomas[/quote]

So now I am completely stuck and have no clue how to move forward. The packages that are required to build ArduPilot on Linux are now not available at all (the one in the link on the guide doesn’t work).

Please, if someone has experience adding the package gcc-arm-none-eabi give me some pointers!

Are you trying to cross compile the Odroid compatible binary on desktop Linux, or actually compile Ardupilot on the Odroid. If the later you just need GCC 4.7 or greater installed.

It is on the odroid, and this is the error I am getting:

/home/odroid/GitHub/ardupilot/modules/PX4Firmware/makefiles//toolchain_gnu-arm-eabi.mk:57: *** Unsupported version of arm-none-eabi-gcc, found: instead of one in: 4.7.4 4.7.5 4.7.6 4.8.4 4.9.3. Stop.

The version provided in the Ubuntu dev site is 4.8.2.
packages.ubuntu.com/trusty/devel … -none-eabi

And as mentioned, trying to get the other versions from that site above doesn’t work.

I think you are getting confused with building ArduPilot on ARM linux distro (e.g. Odroid, RPi) , and building Ardupilot for Pixhawk on a linux desktop.

The later is cross compilation.ie building a ARM executable file on desktop linux installation that is most likely an intel i386 machine. This requires the arm32 libraries EABI = wiki.debian.org/ArmEabiPort to be downloaded.

The previous, building ArduPilot on ARM Linux distro . This just requires gcc to be installed (as of course it means the correct compiler and libs a re installed)
see this for some guidance docs.emlid.com/Navio-APM/buildin … ilding-apm

instead of make navio (which is dependent on the NAVIO sensor baord) try make sitl which will create the Softare-In-The-Loop test version of ArduPilot and will run on the Odroid/RPi

see dev.ardupilot.com/wiki/sitl-simu … -the-loop/ for more information of how to run the elf file

SITL simulates the sensors that won’t be present on your Odroid.

Hope that helps :slight_smile:

Oh jeez I was definitely very confused. I didn’t realize that was a desktop Linux guide I was looking at.

I really appreciate the explanation Bill!

One more question, before I go ahead and install this. I am looking at the SITL page you linked, and it says that this is basically a simulation of the plane without any hardware attached.
Well, this is somewhat worrisome because the whole point of doing this was to run the auto-calibration script found in the ArduCopter directory since I do not currently have an RC transmitter to calibrate my ESC. Is it pointless to try and achieve this without an RC tx & rx? I am fully aware that pretty much everyone says it’s a bad idea to fly the drone autonomously without a backup but this point aside, is it at all possible to auto-calibrate using only the script?

Thanks so much for your time.
-Alex

I think you need to describe what you are trying to do, before I can be more specific about an answer. Are you using the odroid as a companion computer to control a Pixhawk or APM2.x HW or are you doing something similar to the Beagbone PXF Cape or RPi & NAVIO?

You can calibrate the ESCs using RC_OVERRIDE mavlink messages. These can be sent using a joystick connected to a GCS like APM Planner 2.0 or Mission Planner.

I wouldn’t recommend flying anything without an RC control, as it’s good to have a backup radio if you need to abort.

[quote=“billbonney”]I think you need to describe what you are trying to do, before I can be more specific about an answer. Are you using the odroid as a companion computer to control a Pixhawk or APM2.x HW or are you doing something similar to the Beagbone PXF Cape or RPi & NAVIO?

You can calibrate the ESCs using RC_OVERRIDE mavlink messages. These can be sent using a joystick connected to a GCS like APM Planner 2.0 or Mission Planner.

I wouldn’t recommend flying anything without an RC control, as it’s good to have a backup radio if you need to abort.[/quote]

I am using the odroid to communicate with the Pixhawk as a companion/mavlink controller (for automated flight and video processing), yes! I believe the bold part is what I want to do. I have a PS3 controller I have hooked up to Mission Planner and have tested with the joystick mode, and it works. But I was not aware of the RC_OVERRIDE options in mavlink. Is there a guide on how to do this somewhere?

Also, I have ordered finally an RC tx and rx module with the PPM encoder, so that should arrive within a week. Until then, any testing I do with props on will be with the drone tied down to the ground as a safety.

if you connect a joystick, it will send RC_OVERIDE messages as the joystick emulates the RC controller. It’s not the best way to control the drone.

If you want to control the drone from code you can use SET_POSITION_LOCAL_NED for example

see dev.ardupilot.com/wiki/copter-co … ided-mode/

Ok so it auto overrides the RC, but in order to calibrate the ESC I need to connect the battery on and off, which will turn off the pixhawk on and off, and then any connection I had with the joystick will disappear as it is connected via USB to the PC in Mission Planner. I tried this before with no success.

What is the method to calibrate using a joystick?

After reading some similar threads like this one, it seems that this is simply not possible without prior RC calibration.

I guess I’ll have to wait a week.

That is a question I am not comfortable answering. It’s not complicated, but it’s usually novices that ask how to fly without an RC controller, when having backup RC controller is really a Good Idea™ . I’ll PM you.