APMRover 2, a fun UGV project for full autonomous recon missions...

[UPDATE: This project is now being ported to a proper Google Code repository and manual. For instructions, start there. You can also join the ArduRover User Group here.]

Hello to ALL, the new firmware for APMRover v2 has been tested successfully on my rover on may 1st, 2012 on full autonomous reco mission following a navigation plan. This new release of the APMRover v2 works on the APM v1.4 with the OilPan shield (magnetometer + MT3329 GPS) and also of course on the APM v2. The previous version of the APMRover v1.0 was a light size version specially designed for the APM1280 CPU (only) board and the MT3329 GPS.

For the frame, I have used a Traxxas Monster Jam Grinder with a brushed and high power motor Titan 12T and its XL-5 ESC.

The APMrover UGV is able to run itself following a list of recorded waypoints. The waypoints list (FPL) can be preloaded with the APM Mission Planner OR better in live, recorded by the pilot himself (with the SW7) during a manual run and then replayed in a full autonomous mission.

The firmware APMrover2 for APM v1 + OilPan or APM v2 successfully tested can be downloaded HERE

The APMrover v2 is also online on the official ArduPilot-Mega GIT repository HERE

Below the PID setup for the APMrover v1 and v2:

The light firmware APMrover1 for APM v1 (CPU 1280 or 2560) that I have tested can be downloaded HERE 

Here's how to connect your cables:

More infos at: http://diydrones.com/profile/JeanLouisNaudin

Have Fun and Enjoy with the APMrover...

Regards, Jean-Louis

Views: 69221

Tags: ARDUPILOT, AUTOPILOT, DRONE, UAS, UAV, UGV

Comment by John Hestness on April 25, 2012 at 5:45pm

I am getting a whole bunch of errors when I try to compile.  Using Arduino IDE 1.0  Anybody have any ideas?  I am not sure about the libraries, I moved the library folder into the program folder, didn't help.

over10c.cpp:72:63: error: AP_PeriodicProcess.h: No such file or directory APMrover10c.cpp:73:67: error: AP_Compass.h: No such file or directory APMrover10c.cpp:75:76: error: AP_InertialSensor.h: No such file or directory APMrover10c.cpp:76:58: error: AP_IMU.h: No such file or directory APMrover10c.cpp:77:59: error: AP_AHRS.h: No such file or directory APMrover10c.cpp:78:43: error: PID.h: No such file or directory APMrover10c.cpp:79:50: error: RC_Channel.h: No such file or directory APMrover10c.cpp:80:52: error: AP_RangeFinder.h: No such file or directory APMrover10c.cpp:81:40: error: Filter.h: No such file or directory APMrover10c.cpp:82:60: error: ModeFilter.h: No such file or directory APMrover10c.cpp:83:62: error: AverageFilter.h: No such file or directory APMrover10c.cpp:84:41: error: AP_Relay.h: No suc


Developer
Comment by Rob_Lefebvre on April 25, 2012 at 6:32pm

I got it to compile.  I think maybe you're not setting your sketchbook location properly in the preferences of Arduino.  

Comment by John Hestness on April 25, 2012 at 6:47pm

@R Lefebvre,  thank you!   I had an extra layer of folders where my sketch was.  Got it compiled.


Developer
Comment by Jean-Louis Naudin on April 25, 2012 at 11:01pm

Hello Rana,

Yes of course, I agree with you a magnetometer is better, my challenge here was to build up a low cost UGV with a minimum of components for anyone who want to play with a UGV... If you use an APMv2 it will be a royal way but this is too much simple  ;-)

Regards, Jean-Louis


Developer
Comment by Jean-Louis Naudin on April 25, 2012 at 11:05pm

Hello Robert, Yes it is possible to add this code to the APM Trunk. I shall add it into my GIT dev.

I shall soon add a new version v2.0 for people want to use a full IMU (with the magnetometer) APMv1.4+OilPan or APMv2...

Regards, Jean-Louis


Developer
Comment by Jean-Louis Naudin on April 25, 2012 at 11:18pm

Hello Robert,

I have put the radio setup in the source code (see APMrover10c.pde), so you will also find it below:

// Radio setup:
// APM INPUT (Rec = receiver)
// Rec ch1: Roll
// Rec ch2: Throttle
// Rec ch3: Pitch
// Rec ch4: Yaw
// Rec ch5: not used
// Rec ch6: not used
// Rec ch7: Option channel to 2 positions switch
// Rec ch8: Mode channel to 3 positions switch
// APM OUTPUT
// Ch1: Wheel servo (direction)
// Ch2: not used
// Ch3: to the motor ESC
// Ch4: not used

As you may notice the Receiver outputs ch2 and ch3 are swapped because the XL-5 ESC need to have the throttle stick to the middle as the neutral position. So, I use only the right stick (mode 2) for steering. Roll is used to steering the wheels and the picth for the motor (forward and backward). The left stick is not used here.

You need to have two switches connected to the ch7 and ch8:

on ch7: a two positions switch for the SAVE_WP, CLEAR_WP and RTL

on ch8: a 3 positions switch for the mode (MANUAL, STABILIZE, AUTO)

Here some details and how to use the switch.

in MANUAL mode: you can drive your rover fully (wheels to left, right and throttle forward, backward)

if the SW7 is set to ON then OFF, this clear the waypoints list in memory.

in STABILIZE mode: you can drive your rover fully (wheels to left, right and throttle forward, backward) too.

BUT the SW7 is set to ON then OFF, this store the current GPS position as a new waypoint in memory.

in AUTO mode: the rover follows automatically the waypoints lists stored in memory, you can also drive your rover fully (wheels to left, right and throttle forward, backward) too...

A waypoints list can be also created with the APM mission planner as a flight plan (like it is done with the arduplane)

To use the mission planner, choose ArduPlane and set COM to 115200 bauds

Regards, Jean-Louis


Developer
Comment by Jean-Louis Naudin on April 25, 2012 at 11:23pm

The APM rover v1.0c has been pushed to my GIT repository at:

http://code.google.com/r/jlnaudin-area51/source/detail?r=d3285784a2...

Regards, Jean-Louis


Developer
Comment by Jean-Louis Naudin on April 25, 2012 at 11:37pm

Hello John,

Yes I have already tried the ardurover code few month ago, but without any convincing results with my rover. It doesn't use the APM mission planner and use the qgroundcontrol as the ground station and this piece of software has given me some headhaches to use... As far as I am concerned, the ardurove code is too much closed to the dev and improvements, I prefer strongly the arduplane code and the APM mission planner which is is more dev friendly...

Regards, Jean-Louis


Developer
Comment by Jean-Louis Naudin on April 26, 2012 at 12:30am

Here, below some detailled photos about the FTDI cable placement for the firmware upload on the APM CPU board and the Receiver PinOut for the APMrover.

I hope this help,

Regards, Jean-Louis


Developer
Comment by Jean-Louis Naudin on April 26, 2012 at 1:17am

Here a sample waypoints list tested in autonomous mission (see in the video)

The Waypoints have been recorded in live mode in the field with the SW7 option swicth and then reloaded on the mission planner back to home...

HERE my PID param file tested in the field and for the APM mission planner,

Regards, Jean-Louis

Comment

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

Join DIY Drones

Groups

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Drone Delivery Challenge, is here

© 2014   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service