[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
Comments
Thanks Thomas. I was trying the latest version. I did not notice there was another version of Arduino, I was trying 0022 and 1.0.1 I used 0100 now and it had uploaded the file. Where did you read this I missed it. Now I have to test it out. Thanks again.
jesse,
First of all, what version of ArduRover2 are you trying to compile? To the best of my knowledge, if you follow JLN's instructions, you should be using IDE 1.0 relaxed to compile ArduRover2 2.20a. You must use the relaxed versions of the Arduino IDEs. I believe that ArduRover2 2.13e/2.16 should be compiled with IDE 0022 relaxed. Also, you should be using the libraries that accompany each version of the ArduRover2 code. I have had no problem compiling and uploading the three different versions using the relaxed versions of the Arduino IDEs. Hope this helps.
Regards,
TCIII
I get this error when I compile. I have no clue what to do. Anyone care to help. Thanks.
GCS_MAVLink\GCS_MAVLink.cpp.o: In function `mavlink_check_target(unsigned char, unsigned char)':
C:\Users\JJ\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\GCS_MAVLink/GCS_MAVLink.cpp:20: multiple definition of `mavlink_check_target(unsigned char, unsigned char)'
APMrover2.cpp.o:C:\Users\JJ\AppData\Local\Temp\build8732094509770592562.tmp/APMrover2.cpp:3937: first defined here
c:/users/jj/downloads/arduino-1.0.1-windows/arduino-1.0.1/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/bin/ld.exe: Disabling relaxation: it will not work with multiple definitions
GCS_MAVLink\GCS_MAVLink.cpp.o:(.data.mavlink_system+0x0): multiple definition of `mavlink_system'
APMrover2.cpp.o:(.data.mavlink_system+0x0): first defined here
GCS_MAVLink\GCS_MAVLink.cpp.o: In function `mavlink_check_target(unsigned char, unsigned char)':
C:\Users\JJ\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\GCS_MAVLink/GCS_MAVLink.cpp:20: multiple definition of `mavlink_comm_0_port'
APMrover2.cpp.o:(.bss.mavlink_comm_0_port+0x0): first defined here
GCS_MAVLink\GCS_MAVLink.cpp.o: In function `mavlink_check_target(unsigned char, unsigned char)':
C:\Users\JJ\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\GCS_MAVLink/GCS_MAVLink.cpp:20: multiple definition of `mavlink_comm_1_port'
APMrover2.cpp.o:(.bss.mavlink_comm_1_port+0x0): first defined here
APMrover2.cpp.o: In function `test_imu(unsigned char, Menu::arg const*)':
APMrover2.cpp:(.text._ZL8test_imuhPKN4Menu3argE+0x28): warning: internal error: out of range error
APMrover2.cpp:(.text._ZL8test_imuhPKN4Menu3argE+0x2a): warning: internal error: out of range error
APMrover2.cpp.o: In function `test_mag(unsigned char, Menu::arg const*)':
APMrover2.cpp:(.text._ZL8test_maghPKN4Menu3argE+0xa8): warning: internal error: out of range error
APMrover2.cpp:(.text._ZL8test_maghPKN4Menu3argE+0xaa): warning: internal error: out of range error
FastSerial\FastSerial.cpp.o:(.rodata._ZTV10FastSerial+0x6): warning: internal error: out of range error
AP_GPS\AP_GPS_Auto.cpp.o: In function `AP_GPS_Auto::init(GPS::GPS_Engine_Setting)':
C:\Users\JJ\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\AP_GPS/AP_GPS_Auto.cpp:40: warning: internal error: out of range error
C:\Users\JJ\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\AP_GPS/AP_GPS_Auto.cpp:40: warning: internal error: out of range error
Just an FYI, the newbie's guide is still pointing to the original ArduRover wiki page and not to this discussion. If this is the 'official' ardurover stuff, shouldn't the wiki or the newbie guide link be changed?
Evaristo,
UBEC stands for Universal Battery Eliminator Circuit. Most ESCs have a BEC built-in and can supply +5 vdc to the AMP1. Some people use a separate battery and a BEC to supply the APM1. It would be best if you checked the wiki or elsewhere in this thread to see what is the best way to power the APM1.
Regards,
TCIII
Hi all,
Would this transmitter be good enough to use with this setup as I have ordered everything else except for the wireless controller pieces and a UBEC (which i am still trying to understand what it does)
http://tinyurl.com/cbpr96k
Humbly,
Roo
Hi Jean,
This may be a beginner question. But I would like to know if my receiver is only three channels. What is the correct configuration for output from APM 2.0 as I scare I would connect it wrongly.
Can I connect like this at APM2.0 Output:
ch1:Wheel Servo
ch2:not use
ch3:ESC
ch4: not use
Thanks!
All,
I managed to fix the errors. Specific compiler associated with firmware version will do as mentioned by Jean in previous comments. I missed that. So sorry. Thanks!
Hi Jean,
I compiled your code, but get bunch of errors. My sketches folder is correct. Any advise ? See the snapshot error below: Your help is much appreciated. Thanks!
EDIT: It looks like Jean-Louis already addressed this:
"Comment by Jean-Louis Naudin on April 29, 2012 at 10:24pm
To reverse the direction of the wheels in MANUAL and STABILIZE mode you must reverse the direction on your transmitter.
To reverse the direction of the wheels in AUTO mode you must use the APM mission planner and reverse the direction of the ROLL (see below)."
So, reversing the joystick input is the same as reversing the transmitter, and affects MANUAL and STABILIZE modes. Reversing ROLL under "Radio Calibration" affects AUTO mode, even though I'm not using a control radio. I'll have to give this a try!