Pixraxer as a RACER

#46

I’ve posted my ACRO gains for PixRacer here: https://gitter.im/kd0aij/dual_FC_S250AQ?utm_source=share-link&utm_medium=link&utm_campaign=share-link
IMHO, acro mode performance of PixRacer on my dual FC S250AQ is as good as Naze32 now.

#47

I just flew the S250AQ again using CleanFlight/Naze32, and the Acro mode orientation hold with default PID gains was not better than my current tuning for PixRacer. I tried P gains from 1.0 to 1.4 and D gains of 15 and 30. So, in my opinion, PixRacer can easily compete against Naze32 for Acro mode flight.
And both ALTCTL and POSCTL modes performed well on the S250 today under the trees in my yard. Position accuracy was not great, but it stayed within a roughly 3m radius circle and movements were smooth. Altitude held within 2m of starting altitude over the test (< 1 minute).

#48

I’m looking forward to test the new values. Unfortunately your gitter link doesn’t work.

#49

maybe this will work: https://gitter.im/kd0aij/dual_FC_S250AQ?utm_source=share-link&utm_medium=link&utm_campaign=share-link

#50

Sorry. Still not working, even after signing in

#51

oh well… my latest tuning for the S250AQ:
MC_ROLLRATE_P: 0.2
MC_ROLLRATE_I: 0.1
MC_ROLLRATE_D: 0.006
MC_PITCHRATE_P: 0.26
MC_PITCHRATE_I: 0.1
MC_PITCHRATE_D: 0.006

#52

dose anyone fly the pixracer as a racer in a regular basis? I’m still looking for the right pid’s, for the right frame, to set the oneshot preopperly (pwm_disarm/min/max - 100/125/250).

At the moment at very low throttl it dosen’t have any osciations but if I rase the stick to the middle then it start shaking. Both slider are set to the right for pitch and roll.

I’m sure I’ll finde my setup for my raceblade 5" one day :slight_smile:

#53

Hi everybody - I pushed the 1.3.0 release out, which has much better racer support (just better default gains, in fact). Please update your QGC version, flash the latest stable and RESET your airframe configuration (which will keep your RC calibration, but reset your gains to our recommended defaults).

Make sure to use the QAV250 or 250 generic (if you fly something other than a QAV 250) config and give us some good feedback.

The 1.3.0 release is in a “soft release” state, which means we might still make amendments - so any flight testing you can contribute will help us a lot in ensuring we made the progress we wanted to make.

#54

Lorenz

What version of QGC should be used to flash this 1.3.0 release?

Suggestion, when there are new releases, be it QGC or PX4, could you also include what version of the accompanying sw/fw is required/suggested. I personally never know if I should be using the latest, released, beta?

#55

The latest release as per the website or the last Android beta as auto-installed if you are a tester. I still owe you the flight mode docs, they will come on the weekend.

For now:

  • MANUAL / STABILIZED: The same thing on multi rotors, on fixed wing manual = like manual RC and stabilised is attitude control
  • ACRO: Rate control, for quads only right now
  • RATTITUDE: Stabilized around center, rate control on the edge of the stick range
  • ALTITUDE: Altitude hold, attitude stabilisation
  • POSITION: GPS and altitude control, you move the system around with the sticks. Planes fly a straight line with zero stick input, quads hold position
  • AUTO: Pre-programmed missions
  • TAKEOFF: Standard takeoff & holding position (circling for a plane)
  • LAND: Land at the current location (not tested with planes yet, but would work in general)
  • HOLD: Keep the current position, stick inputs disabled. You can update the current hold location via the tablet / GCS

I hope that’s good enough to get you off the ground initially.

#56

Lorenz

With all due respect to the dev’s, is there a reason why questions like this and this (two questions with not one answer) get overlooked? I though it was just me but its looks as though others are confused about QGC flight mode assignment as well. For those new to PX4 FM or QGC SW, wouldn’t some well written documentation (or better yet, a video HOW TO from start to end) on how to set these flight modes up with QGC and TX be beneficial? It would help the forum in two ways, less questions to the dev’s, (more time to develop) and this forum (less clutter)? Any video that I have found is either about MP/ardupilot or some outdated PX4 video and isn’t useful at all. Could someone please help with this matter?

1 Like
#57

snapshot of ACRO mode flip of my Aquacopter Quad:

#58

This is the rate loop impulse response for the AquaQuad, calculated from 20 seconds of log data containing one roll and one flip (gains are in the plot header):

These gains are substantially higher than the defaults for a DJI F450, but they are probably too high to be optimal for operation in stabilized mode.

#59

Could you post your Settings for a F450?

#60

Since the log muncher won’t accept the ulog format I’m using, I think this is the best I can do:
ATT_ACC_COMP 1
ATT_BIAS_MAX 0.05
ATT_EXT_HDG_M 0
ATT_MAG_DECL 0.0
ATT_MAG_DECL_A 1
ATT_VIBE_THRESH 0.2
ATT_W_ACC 0.2
ATT_W_EXT_HDG 0.1
ATT_W_GYRO_BIAS 0.1
ATT_W_MAG 0.1
BAT_CAPACITY 2200.0
BAT_CRIT_THR 0.07
BAT_C_OFFSET -1.0
BAT_C_SCALING 0.0363
BAT_LOW_THR 0.15
BAT_N_CELLS 3
BAT_V_CHARGED 4.1
BAT_V_EMPTY 3.6
BAT_V_LOAD_DROP 0.6
BAT_V_SCALING -1.0
CAL_ACC0_ID 1442826
CAL_ACC0_XOFF -0.028514385
CAL_ACC0_XSCALE 1.0054587
CAL_ACC0_YOFF 0.044672966
CAL_ACC0_YSCALE 1.001324
CAL_ACC0_ZOFF 0.1092782
CAL_ACC0_ZSCALE 0.99737734
CAL_ACC1_ID 1246730
CAL_ACC1_XOFF -0.13994074
CAL_ACC1_XSCALE 1.0017389
CAL_ACC1_YOFF -0.12577438
CAL_ACC1_YSCALE 0.9949499
CAL_ACC1_ZOFF -0.15187359
CAL_ACC1_ZSCALE 0.99711835
CAL_ACC_PRIME 1246730
CAL_BARO_PRIME 0
CAL_GYRO0_ID 2360330
CAL_GYRO0_XOFF 0.04013899
CAL_GYRO0_XSCALE 1.0
CAL_GYRO0_YOFF -0.0021219042
CAL_GYRO0_YSCALE 1.0
CAL_GYRO0_ZOFF -0.03473269
CAL_GYRO0_ZSCALE 1.0
CAL_GYRO1_ID 2164234
CAL_GYRO1_XOFF 0.017690461
CAL_GYRO1_XSCALE 1.0
CAL_GYRO1_YOFF 0.0024321303
CAL_GYRO1_YSCALE 1.0
CAL_GYRO1_ZOFF -0.0012083353
CAL_GYRO1_ZSCALE 1.0
CAL_GYRO_PRIME 2164234
CAL_MAG0_ID 73225
CAL_MAG0_ROT 0
CAL_MAG0_XOFF 0.070425995
CAL_MAG0_XSCALE 1.026106
CAL_MAG0_YOFF 0.15441954
CAL_MAG0_YSCALE 1.1449051
CAL_MAG0_ZOFF 0.1925023
CAL_MAG0_ZSCALE 1.1106336
CAL_MAG1_ID 66826
CAL_MAG1_ROT -1
CAL_MAG1_XOFF -0.07500455
CAL_MAG1_XSCALE 1.0861897
CAL_MAG1_YOFF -0.1839313
CAL_MAG1_YSCALE 1.1197251
CAL_MAG1_ZOFF -0.027568147
CAL_MAG1_ZSCALE 1.203997
CAL_MAG2_ID 263178
CAL_MAG2_ROT -1
CAL_MAG2_XOFF 0.19106089
CAL_MAG2_XSCALE 1.0
CAL_MAG2_YOFF -0.037427083
CAL_MAG2_YSCALE 1.0
CAL_MAG2_ZOFF -0.0135526685
CAL_MAG2_ZSCALE 1.0
CAL_MAG_PRIME 73225
CAL_MAG_SIDES 63
CBRK_AIRSPD_CHK 0
CBRK_BUZZER 0
CBRK_ENGINEFAIL 284953
CBRK_GPSFAIL 240024
CBRK_IO_SAFETY 22027
CBRK_NO_VISION 0
CBRK_RATE_CTRL 0
CBRK_SUPPLY_CHK 894281
CBRK_USB_CHK 197848
COM_AUTOS_PAR 1
COM_DISARM_LAND 0
COM_DL_LOSS_T 10
COM_DL_REG_T 0
COM_EF_C2T 5.0
COM_EF_THROT 0.5
COM_EF_TIME 10.0
COM_FLTMODE1 -1
COM_FLTMODE2 -1
COM_FLTMODE3 -1
COM_FLTMODE4 -1
COM_FLTMODE5 -1
COM_FLTMODE6 -1
COM_HOME_H_T 5.0
COM_HOME_V_T 10.0
COM_LOW_BAT_ACT 0
COM_RC_ARM_HYST 100
COM_RC_IN_MODE 0
COM_RC_LOSS_T 0.5
EKF2_REC_RPL 0
FW_AIRSPD_TRIM 15.0
GF_ACTION 1
GF_ALTMODE 0
GF_COUNT -1
GF_MAX_HOR_DIST -1
GF_MAX_VER_DIST -1
GF_SOURCE 0
INAV_DELAY_GPS 0.2
INAV_DISAB_MOCAP 0.0
INAV_FLOW_DIST_X 0.0
INAV_FLOW_DIST_Y 0.0
INAV_FLOW_K 1.35
INAV_FLOW_Q_MIN 0.3
INAV_LAND_DISP 0.7
INAV_LAND_T 3.0
INAV_LAND_THR 0.2
INAV_LIDAR_ERR 0.2
INAV_LIDAR_EST 0.0
INAV_LIDAR_OFF 0.0
INAV_W_ACC_BIAS 0.05
INAV_W_GPS_FLOW 0.1
INAV_W_MOC_P 10.0
INAV_W_XY_FLOW 0.8
INAV_W_XY_GPS_P 1.0
INAV_W_XY_GPS_V 2.0
INAV_W_XY_RES_V 0.5
INAV_W_XY_VIS_P 7.0
INAV_W_XY_VIS_V 0.0
INAV_W_Z_BARO 0.5
INAV_W_Z_GPS_P 0.005
INAV_W_Z_GPS_V 0.0
INAV_W_Z_LIDAR 3.0
INAV_W_Z_VIS_P 5.0
LNDMC_FFALL_THR 2.0
LNDMC_FFALL_TTRI 0.3
LNDMC_ROT_MAX 20.0
LNDMC_XY_VEL_MAX 1.5
LNDMC_Z_VEL_MAX 0.7
MAV_COMP_ID 1
MAV_FWDEXTSP 1
MAV_PROTO_VER 1
MAV_RADIO_ID 0
MAV_SYS_ID 1
MAV_TEST_PAR 1
MAV_TYPE 2
MAV_USEHILGPS 0
MC_ACRO_P_MAX 360.0
MC_ACRO_R_MAX 360.0
MC_ACRO_Y_MAX 360.0
MC_PITCHRATE_D 0.01
MC_PITCHRATE_FF 0.0
MC_PITCHRATE_I 0.2
MC_PITCHRATE_MAX 720.0
MC_PITCHRATE_P 0.4
MC_PITCH_P 7.0
MC_PITCH_TC 0.2
MC_RATT_TH 0.8
MC_ROLLRATE_D 0.01
MC_ROLLRATE_FF 0.0
MC_ROLLRATE_I 0.2
MC_ROLLRATE_MAX 720.0
MC_ROLLRATE_P 0.4
MC_ROLL_P 7.0
MC_ROLL_TC 0.2
MC_YAWRATE_D 0.0
MC_YAWRATE_FF 0.0
MC_YAWRATE_I 0.1
MC_YAWRATE_MAX 200.0
MC_YAWRATE_P 0.3
MC_YAWRAUTO_MAX 45.0
MC_YAW_FF 0.5
MC_YAW_P 2.8
MIS_ALTMODE 1
MIS_DIST_1WP 900.0
MIS_LTRMIN_ALT 1.2
MIS_ONBOARD_EN 1
MIS_TAKEOFF_ALT 10.0
MIS_YAWMODE 1
MIS_YAW_ERR 12.0
MIS_YAW_TMT -1.0
MPC_ACC_HOR_MAX 10.0
MPC_ALTCTL_DY 0.0
MPC_ALTCTL_DZ 0.1
MPC_ALT_MODE 0
MPC_HOLD_MAX_XY 0.8
MPC_HOLD_MAX_Z 0.6
MPC_HOLD_XY_DZ 0.1
MPC_LAND_SPEED 0.5
MPC_MANTHR_MAX 0.9
MPC_MANTHR_MIN 0.08
MPC_MAN_P_MAX 35.0
MPC_MAN_R_MAX 35.0
MPC_MAN_Y_MAX 200.0
MPC_THR_HOVER 0.5
MPC_THR_MAX 0.9
MPC_THR_MIN 0.12
MPC_TILTMAX_AIR 45.0
MPC_TILTMAX_LND 12.0
MPC_TKO_SPEED 1.5
MPC_VELD_LP 5.0
MPC_XY_CRUISE 5.0
MPC_XY_FF 0.5
MPC_XY_P 1.25
MPC_XY_VEL_D 0.01
MPC_XY_VEL_I 0.02
MPC_XY_VEL_MAX 8.0
MPC_XY_VEL_P 0.09
MPC_Z_FF 0.5
MPC_Z_P 1.0
MPC_Z_VEL_D 0.0
MPC_Z_VEL_I 0.02
MPC_Z_VEL_MAX 1.0
MPC_Z_VEL_MAX_DN 1.0
MPC_Z_VEL_MAX_UP 3.0
MPC_Z_VEL_P 0.2
NAV_ACC_RAD 2.0
NAV_AH_ALT 600.0
NAV_AH_LAT -265847810
NAV_AH_LON 1518423250
NAV_DLL_ACT 0
NAV_DLL_AH_T 120.0
NAV_DLL_CHSK 0
NAV_DLL_CH_ALT 600.0
NAV_DLL_CH_LAT -266072120
NAV_DLL_CH_LON 1518453890
NAV_DLL_CH_T 120.0
NAV_DLL_N 2
NAV_FT_DST 8.0
NAV_FT_FS 1
NAV_FT_RS 0.5
NAV_GPSF_LT 30.0
NAV_GPSF_P 0.0
NAV_GPSF_R 15.0
NAV_GPSF_TR 0.7
NAV_LOITER_RAD 50.0
NAV_MIN_FT_HT 8.0
NAV_RCL_ACT 0
NAV_RCL_LT 120.0
PWM_AUX_DISARMED 1000
PWM_AUX_MAX 2000
PWM_AUX_MIN 1000
PWM_AUX_REV1 0
PWM_AUX_REV2 0
PWM_AUX_REV3 0
PWM_AUX_REV4 0
PWM_AUX_REV5 0
PWM_AUX_REV6 0
PWM_DISARMED 950
PWM_MAX 1950
PWM_MIN 1200
RC10_DZ 0.0
RC10_MAX 2000.0
RC10_MIN 1000.0
RC10_REV 1.0
RC10_TRIM 1500.0
RC11_DZ 0.0
RC11_MAX 2000.0
RC11_MIN 1000.0
RC11_REV 1.0
RC11_TRIM 1500.0
RC12_DZ 0.0
RC12_MAX 2000.0
RC12_MIN 1000.0
RC12_REV 1.0
RC12_TRIM 1500.0
RC13_DZ 0.0
RC13_MAX 2000.0
RC13_MIN 1000.0
RC13_REV 1.0
RC13_TRIM 1500.0
RC14_DZ 0.0
RC14_MAX 2000.0
RC14_MIN 1000.0
RC14_REV 1.0
RC14_TRIM 1500.0
RC15_DZ 0.0
RC15_MAX 2000.0
RC15_MIN 1000.0
RC15_REV 1.0
RC15_TRIM 1500.0
RC16_DZ 0.0
RC16_MAX 2000.0
RC16_MIN 1000.0
RC16_REV 1.0
RC16_TRIM 1500.0
RC17_DZ 0.0
RC17_MAX 2000.0
RC17_MIN 1000.0
RC17_REV 1.0
RC17_TRIM 1500.0
RC18_DZ 0.0
RC18_MAX 2000.0
RC18_MIN 1000.0
RC18_REV 1.0
RC18_TRIM 1500.0
RC1_DZ 10.0
RC1_MAX 2006.0
RC1_MIN 988.0
RC1_REV 1.0
RC1_TRIM 1497.0
RC2_DZ 10.0
RC2_MAX 2000.0
RC2_MIN 982.0
RC2_REV 1.0
RC2_TRIM 1486.0
RC3_DZ 10.0
RC3_MAX 2006.0
RC3_MIN 982.0
RC3_REV 1.0
RC3_TRIM 982.0
RC4_DZ 10.0
RC4_MAX 2006.0
RC4_MIN 982.0
RC4_REV 1.0
RC4_TRIM 1495.0
RC5_DZ 10.0
RC5_MAX 2000.0
RC5_MIN 1000.0
RC5_REV 1.0
RC5_TRIM 1500.0
RC6_DZ 10.0
RC6_MAX 2000.0
RC6_MIN 1000.0
RC6_REV 1.0
RC6_TRIM 1500.0
RC7_DZ 10.0
RC7_MAX 2006.0
RC7_MIN 982.0
RC7_REV 1.0
RC7_TRIM 1494.0
RC8_DZ 10.0
RC8_MAX 2006.0
RC8_MIN 982.0
RC8_REV 1.0
RC8_TRIM 1494.0
RC9_DZ 0.0
RC9_MAX 2000.0
RC9_MIN 1000.0
RC9_REV 1.0
RC9_TRIM 1500.0
RC_ACRO_TH 0.7540623
RC_ASSIST_TH 0.25
RC_AUTO_TH 0.75
RC_CHAN_CNT 18
RC_DSM_BIND -1
RC_FAILS_THR 0
RC_KILLSWITCH_TH 0.25
RC_LOITER_TH 0.216
RC_MAP_ACRO_SW 6
RC_MAP_AUX1 0
RC_MAP_AUX2 0
RC_MAP_AUX3 0
RC_MAP_AUX4 0
RC_MAP_AUX5 0
RC_MAP_FAILSAFE 0
RC_MAP_FLAPS 0
RC_MAP_FLTMODE 0
RC_MAP_KILL_SW 8
RC_MAP_LOITER_SW 6
RC_MAP_MODE_SW 5
RC_MAP_OFFB_SW 0
RC_MAP_PARAM1 0
RC_MAP_PARAM2 0
RC_MAP_PARAM3 0
RC_MAP_PITCH 2
RC_MAP_POSCTL_SW 6
RC_MAP_RATT_SW 6
RC_MAP_RETURN_SW 7
RC_MAP_ROLL 1
RC_MAP_THROTTLE 3
RC_MAP_YAW 4
RC_OFFB_TH 0.5
RC_POSCTL_TH 0.23176013
RC_RATT_TH 0.25
RC_RETURN_TH 0.634
RC_TH_USER 1
RTL_DESCEND_ALT 10.0
RTL_LAND_DELAY 10.0
RTL_MIN_DIST 5.0
RTL_RETURN_ALT 30.0
SDLOG_UTC_OFFSET 0
SENS_BARO_QNH 1013.25
SENS_BOARD_ROT 0
SENS_BOARD_X_OFF -0.14871588
SENS_BOARD_Y_OFF 1.0816213
SENS_BOARD_Z_OFF 0.0
SENS_DPRES_ANSC 0.0
SENS_DPRES_OFF 0.0
SENS_EN_LL40LS 0
SENS_EN_SF0X 0
SENS_EXT_MAG_ROT 0
SYS_AUTOCONFIG 0
SYS_AUTOSTART 4011
SYS_COMPANION 157600
SYS_LOGGER 1
SYS_MC_EST_GROUP 0
SYS_PARAM_VER 1
SYS_RESTART_TYPE 2
SYS_USE_IO 1
TRIG_MODE 0
UAVCAN_ENABLE 0
VT_NAV_FORCE_VT 1
VT_OPT_RECOV_EN 0
VT_TYPE 0
VT_WV_LND_EN 0
VT_WV_LTR_EN 0
VT_WV_YAWR_SCL 0.15

#61

Hi everyone,
I want to share my experience of using Pixracer as a RACER.
That is my first experience of using Pixracer board and this experience was not great at all (compared to Pixhawk and Naze32)

  1. The first thing is that bundled ESP8266 WiFi never worked for me. (I was able to connect to wifi hotspot, but QGC never detected the board).
  2. Pixracer board and ACSP4 don’t seems to be designed for racers
    • These 2 boards can’t be aligned the way to use short power cable and still fit into spacious ZMR250 frame
    • Pixracer board has 2 telemetry ports, CAN and GPS connectors. This all takes extra space and weight which is critical for the racer and will not be used in 99.9% cases.
  3. There are a lot of connectors on the outer sides of the board and they are the first that will be teared off from it. The first one for be was debug port, second - FrSky telemetry port.
  4. All the stock settings for frames are stabilized mode oriented and have very low P and I rate gains. The most critical here is I gain, in my case it end up slightly higher P gain. I have spent a lot of time trying to figure out how to tune it right. I was trying to follow the tuning manual from the px4.io, but it is totally not-relevant for tuning racer (ACRO mode in general). This article helped me greatly on tuning http://myfirstdrone.com/tutorials/how-to-tune-a-quadcopter/
  5. PID tuning with QGC is a pain, especially if you have to use USB connection:
  • The biggest issue is that there is no PID tuning screen, you have to look them up in the general parameters table. So I have developed a PID screen for QGC (will post PR some time soon)
  • If you connect USB while board is powered via the battery QGC will fail to recognize board in 99% of the cases and you will have to restart it. So EVERY single time you need to adjust PID you have to unplug battery and connect USB wait for board to boot, change settings, connect battery back and wait again. This takes enormous amount of time. With Naze32/Cleanflight you can connect USB and GC recognizes it and shows last screen in 1 second or less. It makes tuning very enjoyable. To workaround this I am trying to get BT connection to the board working.
  1. Another issue with PX4 stack in general for ACRO flight is that there is no Expo mode in the flight controller itself and no “Super-expo” or its analogy. It is critical as racers use Expo of 65-85 and having such a big expo on the Tx side significantly reduces sticks resolution. More details on this can be found here https://oscarliang.com/rc-roll-pitch-yaw-rate-cleanflight/
  2. Low throttle flight (20-40%) is very unstable with PX4. It starts to fall to one of the sides or back/front. It might be because of lack of I gain at this throttle. So I am going to play with TPA and gains.

Conclusion - Pixracer and PX4 are not RACER ready but definitely heading this way. If I manage get a replacement boards I might continue contributing to this stack and will implement Expo and Super-expo for the px4, if not I will switch to Cleanflight.

#62

Hi,
Still no expo has implemented?

#63

@dpsoul there’s expo for position control mode. MPC_XY_MAN_EXPO

#64

Sorry to post on an old thread. I’m interested in working on this but Havent been able to find information about the current state of ACRO mode.

Can anyone provide me with some information about what is currently needed to improve the performance of the pixracer as a racer?

#65

Just to log this here for reference: Acro performance has been greatly improved over the last couple of weeks and current master should provide decent performance when tuned correctly.