samedi 28 mars 2015
Multiwii Pro GPS Problem
Posted on 01:58 by salam
Habe folgendes Setup
QuadX Copter 250 von HK
MultiWii PRO Flight Controller w/MTK GPS Module
und verwende MW2.3 beim FC und bei der WIN GUI
Problem ist folgendes, der Copter fliegt in der Angle und Horizon stellung einigermaßen stabil jedoch wenn ich den GPS Modus aktiviere und leicht Thr gebe drehen 1-2 Motoren auf Vollgas auf und der Copter würe richtung NO abhaun.
Wo könnte das Problem liegen config.h Einstellungen?
Welche Modus muss ich zusätzlich zum GPS Hold aktivieren?
Muss ich ARM voher deaktivieren und neu aktivieren um GPS Hold zu starten oder wie beim Baro währen des Fluges umschalten ( mache ich ungern da er schon mal wo reingekracht is weil er gleich so ausbricht)
In der config.h kann ich nur #define NMEA aktivieren und nicht wie andere auch die #define INIT_MTK_GPS da ich sonst diesen Fehler herausbekomme. (
GPS.cpp:243:23: error: variable or field 'SerialGpsPrint' declared void
void SerialGpsPrint(prog_char* str) {
^
GPS.cpp:243:23: error: 'prog_char' was not declared in this scope
GPS.cpp:243:34: error: 'str' was not declared in this scope
void SerialGpsPrint(prog_char* str) {
^
Error compiling.)
hier noch den wichtigen teil der conifg.h
(//#define GPS_SIMULATOR
/* GPS using a SERIAL port
if enabled, define here the Arduino Serial port number and the UART speed
note: only the RX PIN is used in case of NMEA mode, the GPS is not configured by multiwii
in NMEA mode the GPS must be configured to output GGA and RMC NMEA sentences (which is generally the default conf for most GPS devices)
at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino */
#define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
//#define GPS_PROMINI_SERIAL // Will Autosense if GPS is connected when ardu boots.
// avoid using 115200 baud because with 16MHz arduino the 115200 baudrate have more than 2% speed error (57600 have 0.8% error)
#define GPS_BAUD 115200
/* GPS protocol
NMEA - Standard NMEA protocol GGA, GSA and RMC sentences are needed
UBLOX - U-Blox binary protocol, use the ublox config file (u-blox-config.ublox.txt) from the source tree
MTK_BINARY16 and MTK_BINARY19 - MTK3329 chipset based GPS with DIYDrones binary firmware (v1.6 or v1.9)
With UBLOX and MTK_BINARY you don't have to use GPS_FILTERING in multiwii code !!! */
#define NMEA
//#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
#define INIT_MTK_GPS // initialize MTK GPS for using selected speed, 5Hz update rate and GGA & RMC sentence or binary settings
//**!*!*!*!*!*!*!*!*!*!* I2C GPS code is NOT finished in this version, please DON'T USE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/* I2C GPS device made with an independant arduino + GPS device
including some navigation functions
contribution from EOSBandi http://ift.tt/1iUrY5R
You have to use at least I2CGpsNav code r33 */
//#define I2C_GPS
// If your I2C GPS board has Sonar support enabled
//#define I2C_GPS_SONAR
/* indicate a valid GPS fix with at least 5 satellites by flashing the LED - Modified by MIS - Using stable LED (YELLOW on CRIUS AIO) led work as sat number indicator
- No GPS FIX -> LED blink at speed of incoming GPS frames
- Fix and sat no. bellow 5 -> LED off
- Fix and sat no. >= 5 -> LED blinks, one blink for 5 sat, two blinks for 6 sat, three for 7 ... */
#define GPS_LED_INDICATOR
//Enables the MSP_WP command set , which is used by WinGUI for displaying an setting up navigation
//#define USE_MSP_WP
// HOME position is reset at every arm, uncomment it to prohibit it (you can set home position with GyroCalibration)
//#define DONT_RESET_HOME_AT_ARM
/* GPS navigation can control the heading */
// copter faces toward the navigation point, maghold must be enabled for it
#define NAV_CONTROLS_HEADING 1 //(**)
// true - copter comes in with tail first
#define NAV_TAIL_FIRST 0 //(**)
// true - when copter arrives to home position it rotates it's head to takeoff direction
#define NAV_SET_TAKEOFF_HEADING 1 //(**)
/* Get your magnetic declination from here : http://ift.tt/1wkF8Rw
Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
Note the sign on declination it could be negative or positive (WEST or EAST)
Also note, that maqgnetic declination changes with time, so recheck your value every 3-6 months */
#define MAG_DECLINATION 3.38f //(**)
// Adds a forward predictive filterig to compensate gps lag. Code based on Jason Short's lead filter implementation
#define GPS_LEAD_FILTER //(**)
// add a 5 element moving average filter to GPS coordinates, helps eliminate gps noise but adds latency comment out to disable
// use it with NMEA gps only
#define GPS_FILTERING //(**)
// if we are within this distance to a waypoint then we consider it reached (distance is in cm)
#define GPS_WP_RADIUS 200 //(**)
// Safe WP distance, do not start mission if the first wp distance is larger than this number (in meters)
// Also aborts mission if the next waypoint distance is more than this number
#define SAFE_WP_DISTANCE 200 //(**)
//Maximu allowable navigation altitude (in meters) automatic altitude control will not go above this height
#define MAX_NAV_ALTITUDE 50 //(**)
// minimum speed when approach waypoint
#define NAV_SPEED_MIN 80 // cm/sec //(**)
// maximum speed to reach between waypoints
#define NAV_SPEED_MAX 100 // cm/sec //(**)
// Slow down to zero when reaching waypoint (same as NAV_SPEED_MIN = 0)
#define NAV_SLOW_NAV 0 //(**)
// Weight factor of the crosstrack error in navigation calculations (do not touch)
#define CROSSTRACK_GAIN .4 //(**)
// Maximum allowable banking than navigation outputs
#define NAV_BANK_MAX 3000 //(**)
//Defines the RTH altitude. 0 means keep current alt during RTH (in meters)
#define RTH_ALTITUDE 8 //(**)
//Wait to reach RTH alt before start moving to home (0-no, 1-yes)
#define WAIT_FOR_RTH_ALT 1 //(**)
)
QuadX Copter 250 von HK
MultiWii PRO Flight Controller w/MTK GPS Module
und verwende MW2.3 beim FC und bei der WIN GUI
Problem ist folgendes, der Copter fliegt in der Angle und Horizon stellung einigermaßen stabil jedoch wenn ich den GPS Modus aktiviere und leicht Thr gebe drehen 1-2 Motoren auf Vollgas auf und der Copter würe richtung NO abhaun.
Wo könnte das Problem liegen config.h Einstellungen?
Welche Modus muss ich zusätzlich zum GPS Hold aktivieren?
Muss ich ARM voher deaktivieren und neu aktivieren um GPS Hold zu starten oder wie beim Baro währen des Fluges umschalten ( mache ich ungern da er schon mal wo reingekracht is weil er gleich so ausbricht)
In der config.h kann ich nur #define NMEA aktivieren und nicht wie andere auch die #define INIT_MTK_GPS da ich sonst diesen Fehler herausbekomme. (
GPS.cpp:243:23: error: variable or field 'SerialGpsPrint' declared void
void SerialGpsPrint(prog_char* str) {
^
GPS.cpp:243:23: error: 'prog_char' was not declared in this scope
GPS.cpp:243:34: error: 'str' was not declared in this scope
void SerialGpsPrint(prog_char* str) {
^
Error compiling.)
hier noch den wichtigen teil der conifg.h
(//#define GPS_SIMULATOR
/* GPS using a SERIAL port
if enabled, define here the Arduino Serial port number and the UART speed
note: only the RX PIN is used in case of NMEA mode, the GPS is not configured by multiwii
in NMEA mode the GPS must be configured to output GGA and RMC NMEA sentences (which is generally the default conf for most GPS devices)
at least 5Hz update rate. uncomment the first line to select the GPS serial port of the arduino */
#define GPS_SERIAL 2 // should be 2 for flyduino v2. It's the serial port number on arduino MEGA
//#define GPS_PROMINI_SERIAL // Will Autosense if GPS is connected when ardu boots.
// avoid using 115200 baud because with 16MHz arduino the 115200 baudrate have more than 2% speed error (57600 have 0.8% error)
#define GPS_BAUD 115200
/* GPS protocol
NMEA - Standard NMEA protocol GGA, GSA and RMC sentences are needed
UBLOX - U-Blox binary protocol, use the ublox config file (u-blox-config.ublox.txt) from the source tree
MTK_BINARY16 and MTK_BINARY19 - MTK3329 chipset based GPS with DIYDrones binary firmware (v1.6 or v1.9)
With UBLOX and MTK_BINARY you don't have to use GPS_FILTERING in multiwii code !!! */
#define NMEA
//#define UBLOX
//#define MTK_BINARY16
//#define MTK_BINARY19
#define INIT_MTK_GPS // initialize MTK GPS for using selected speed, 5Hz update rate and GGA & RMC sentence or binary settings
//**!*!*!*!*!*!*!*!*!*!* I2C GPS code is NOT finished in this version, please DON'T USE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/* I2C GPS device made with an independant arduino + GPS device
including some navigation functions
contribution from EOSBandi http://ift.tt/1iUrY5R
You have to use at least I2CGpsNav code r33 */
//#define I2C_GPS
// If your I2C GPS board has Sonar support enabled
//#define I2C_GPS_SONAR
/* indicate a valid GPS fix with at least 5 satellites by flashing the LED - Modified by MIS - Using stable LED (YELLOW on CRIUS AIO) led work as sat number indicator
- No GPS FIX -> LED blink at speed of incoming GPS frames
- Fix and sat no. bellow 5 -> LED off
- Fix and sat no. >= 5 -> LED blinks, one blink for 5 sat, two blinks for 6 sat, three for 7 ... */
#define GPS_LED_INDICATOR
//Enables the MSP_WP command set , which is used by WinGUI for displaying an setting up navigation
//#define USE_MSP_WP
// HOME position is reset at every arm, uncomment it to prohibit it (you can set home position with GyroCalibration)
//#define DONT_RESET_HOME_AT_ARM
/* GPS navigation can control the heading */
// copter faces toward the navigation point, maghold must be enabled for it
#define NAV_CONTROLS_HEADING 1 //(**)
// true - copter comes in with tail first
#define NAV_TAIL_FIRST 0 //(**)
// true - when copter arrives to home position it rotates it's head to takeoff direction
#define NAV_SET_TAKEOFF_HEADING 1 //(**)
/* Get your magnetic declination from here : http://ift.tt/1wkF8Rw
Convert the degree+minutes into decimal degree by ==> degree+minutes*(1/60)
Note the sign on declination it could be negative or positive (WEST or EAST)
Also note, that maqgnetic declination changes with time, so recheck your value every 3-6 months */
#define MAG_DECLINATION 3.38f //(**)
// Adds a forward predictive filterig to compensate gps lag. Code based on Jason Short's lead filter implementation
#define GPS_LEAD_FILTER //(**)
// add a 5 element moving average filter to GPS coordinates, helps eliminate gps noise but adds latency comment out to disable
// use it with NMEA gps only
#define GPS_FILTERING //(**)
// if we are within this distance to a waypoint then we consider it reached (distance is in cm)
#define GPS_WP_RADIUS 200 //(**)
// Safe WP distance, do not start mission if the first wp distance is larger than this number (in meters)
// Also aborts mission if the next waypoint distance is more than this number
#define SAFE_WP_DISTANCE 200 //(**)
//Maximu allowable navigation altitude (in meters) automatic altitude control will not go above this height
#define MAX_NAV_ALTITUDE 50 //(**)
// minimum speed when approach waypoint
#define NAV_SPEED_MIN 80 // cm/sec //(**)
// maximum speed to reach between waypoints
#define NAV_SPEED_MAX 100 // cm/sec //(**)
// Slow down to zero when reaching waypoint (same as NAV_SPEED_MIN = 0)
#define NAV_SLOW_NAV 0 //(**)
// Weight factor of the crosstrack error in navigation calculations (do not touch)
#define CROSSTRACK_GAIN .4 //(**)
// Maximum allowable banking than navigation outputs
#define NAV_BANK_MAX 3000 //(**)
//Defines the RTH altitude. 0 means keep current alt during RTH (in meters)
#define RTH_ALTITUDE 8 //(**)
//Wait to reach RTH alt before start moving to home (0-no, 1-yes)
#define WAIT_FOR_RTH_ALT 1 //(**)
)
Multiwii Pro GPS Problem
Categories: Multiwii Pro GPS Problem
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire