This is my first Pixhawk build.

Pretty much have a Jazzy wheelchair subframe set up in skid steer.

Using a 2x32 Dimension Engineering ESC in "independent channel" mode.

Using a low cost 6 channel E-Sky radio and receiver.

I can successfully drive the rover around with the RC controller....sweet!!

BUT...today I attempted my first autonomous test.....FAIL :(

I set up a very simple Home to Waypoint #1 scenario and switched to Auto mode.

The rover turns to face the way-point but when it should begin forward motion it just oscillates Left and Right. It will continue this indefinitely. I then take it out of Auto mode, manually reposition the drone and if I go back to Auto it will turn the vehicle in the exact same manner as before and just oscillate.It oscialltes less than an inch in very rapid succession.

Running version 2.49 of Rover.....Should I roll back to an earlier version?.

Any parameters that I should be looking to tweak?

Thanks for the help.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Daniel,

    I know this is old but did you have any luck getting your drone working on auto? I'm resurrecting a project that is similar to your's although mine is a track vehicle but uses the same controller and motors and the Pixhawk. I remember that I had the same issue worked great in manual acted erratic in auto. Let me know if and how you resolved this.

    Thanks,

    Robert

  • So no takers on this problem??

    Really unsure on how to proceed.

    A hint in the right direction is all I ask for.

    Thanks

    • Admin

      Hi Daniel,

      It sounds like you have completed all of the right steps in attempting to troubleshoot your issue in the Auto Mode.

      The fact that the chair does not run smoothly sometimes in the Manual Mode may indicate an issue with the calibration of the ESC. It sounds like the ESC's neutral (1500us) position may not be the same every time the Pixhawk boots up. The Pixhawk should be outputting a PWM signal of 1500us at neutral and the ESC should look for that when it starts up so it knows what the neutral value is. 

      What is the model and brand of your ESC?

      Does it have reverse?

      DC motors draw the most current at startup and 32 amps per side may not be enough to get the wheel chair rolling where the drive current is much less.

      You might want to get the specs on the wheel chair motors and make sure your ESC has sufficient peak current capacity. Just because the ESC runs cool may not be an indication of proper operation and the ESC maybe current limiting, due to the startup current requirement of the motor, going on in the ESC at motor startup.

      I assume that you are using the elevator joystick for forwards/reverse speed control and the roll joystick for the throttle?

      As far as the Auto Mode steering goes, have you tried checking the roll "reverse" box on the Radio Calibration page?

      You might want to consider using an exponential throttle curve on your transmitter to help reduce the low speed acceleration and current draw in the Manual Mode.

      In the Auto Mode you can use the THR_SLEWRATE parameter to control the rate at which the motors are accelerated.

      Since your wheel chair is heavy and has a lot of inertia, you are going to have to work with the NAVL1_PERIOD and DAMPING parameters to get smooth operation in the Auto Mode.

      I suggest that you start with a NAVL1_PERIOD value of around 25 and reduce it a little at a time until the chair starts to weave and then move it back up slightly. You also need to work with the STEER2SRV_X parameters which is really just a cut and try process adjusting only one parameter at a time and see what the results are. Start with the P value.

      Could you please provide a text file of your full parameter list. You can save the full parameter list using the "Save" button in the Full Parameter List section of the MP Configuration screen.

      Regards,

      Tom C AVD

    • Tom:

      I did put an amp clamp on one of the motors.

      Without pegging the throttle I was able to determine that current during normal travel across pavement or grass did not exceed 10 amps. The peak was actually 7.9 amps. If I purposely stall the motor with my hands and feet  (which is not exactly easy to do with a geared down wheel chair motor...these things got some torque) I can surpass 40 amps peak. I exceeded the 40 amp scale and had to switch over to the 400 amp dc scale and I think I read somewhere around 47 amps. In my application I do not think my rover should encounter anything near stall current and I really do not need speed so I think if I keep the max speed dialed back I can stay in a safe current consumption area. Interestingly enough I was able to get the motors to jump when under 10 amps. My clamp was set to record and hold max peak and I noted the peak did not exceed 10 amps when the motors go into bucking bronco mode. Easing off the throttle to a full stop and then resuming will cause it to stop bucking.

      I had my kid try the "reverse roll" switch. Oddly enough the axis on the RC controller just rotated 90 degrees. I had to hold the RC controller sideways to drive the vehicle. Even more strange is the fact that when I switched to auto the vehicle did move somewhere. It didnt go to the way-point but I did get some travel. I guess some movement is better than nothing at all at this point. I put the reverse switch back and recorded the settings I am using in the attached file. I did change some of the parameters as you suggested. Please look at the file and let me know if you see anything unusual.

      Thanks again.

      UpdatedFile.param

      https://storage.ning.com/topology/rest/1.0/file/get/3702698842?profile=original
    • Daniel, Has this been resolved? Did you disable the brakes from the motors? I had similar experience with yours. Without knowing about the brakes, I kept burning the 40A fuses. After taking out the brakes, everything went well. When the rover moves, the total amperage should be around 4. 

      Would love to know whether your issue has been resolved.

      Andy

    • What is the model and brand of your ESC?

      I am using a Dimension Engineering 2x32 ESC.

      I currently have it set to independent channel mode (no mixing)

      Sabertooth Controller 2x32

      It does support reverse.

      The device, by default, will learn throttle positions but I have overridden this feature and hard coded HI, NEUTRAL, and LOW values that coincide with the min/max values that I get from Mission Planner during radio calibration. The nuetral is @1500, and from memory I think HI is @1830 and low is @1125 (cannot remember exact values at the moment).

      DC motors draw the most current at startup and 32 amps per side may not be enough to get the wheel chair rolling where the drive current is much less.

      I concur with you on this. I will put my DC amp clamp on the motors and verify the max current on takeoff. The controller is supposed to be able to deliver up to 64 amps per channel for brief durations. The frame of the wheelchair has essentially been stripped down to only the bare frame and wheels so I did not see any potential for overloading the controller. It will randomly get glitchy/jumpy whether it is on a smooth surface or grass. I have seen other projects use the smaller 2 x 25 version of this controller for similar robots so I thought I was doing the right thing by over-engineering with a larger controller. According to Dimension Engineering "Sabertooth 3x32 is a high power component,capable of supplying up to two kilowatts of continuous output power". I do not need a fast rover anyway, so if I have to tinker with acceleration curves to manage current consumption I will do so. My real problem lies with autonomy. I think if I can get past that I can work out current consumption, even if it means throwing a larger controller at the project.

      I assume that you are using the elevator joystick for forwards/reverse speed control and the roll joystick for the throttle?

      I have my E-Sky radio set up for Mode 2. I am using the right stick for total control. My left stick is doing nothing at the moment. I have set up the skid steer OUT parameter to 1. I am not clear what skid steer IN is for and I left it at 0. I was thinking all was correct with this configuration as the drone does drive as expected in Manual mode. Did I mis-configure something here? I removed any mixing that was programmed into the RC controller with the simple programming software that came with it. It was initially set up for a helicopter but I put it in ACRO mode 2 and removed any mixing.

      As far as the Auto Mode steering goes, have you tried checking the roll "reverse" box on the Radio Calibration page?

      I have not. I imagined doing that would reverse my current setup in Manual mode. Is that not the case? I will try it as soon as I get home from work.

      You might want to consider using an exponential throttle curve on your transmitter to help reduce the low speed acceleration and current draw in the Manual Mode.

      I can do that too. I was concerned that the Pixhawk would not really know how to handle an exponential throttle curve if I plotted one in the ESC via the Sabertooth programming software. I think I just confused myself a little more. It seems like there are so many different places an exponential throttle curve could be implemented. I could so it in the ESC, I could do it in the RC controller or I imagine there is some way to do it within the Pixhawk. Where is the best place to do that? I also think the Sabertooth may have a motor ramping feature that I could take advantage of.

      Could you please provide a text file of your full parameter list. You can save the full parameter list using the "Save" button in the Full Parameter List section of the MP Configuration screen.

      Sure I can. I thought the file I posted earlier, "WheelchairSet.param", was the file you needed. I will look at it again and send it. I may have saved the wrong parameters.

      Thanks for your help.

      Sabertooth 2x32 regenerative dual motor driver
  • #NOTE: 5/12/2015 9:48:08 PM Frame :
    AHRS_COMP_BETA,0.1
    AHRS_EKF_USE,0
    AHRS_GPS_GAIN,1
    AHRS_GPS_MINSATS,6
    AHRS_GPS_USE,1
    AHRS_ORIENTATION,0
    AHRS_RP_P,0.2
    AHRS_TRIM_X,0
    AHRS_TRIM_Y,0
    AHRS_TRIM_Z,0
    AHRS_WIND_MAX,0
    AHRS_YAW_P,0.2
    AUTO_KICKSTART,0
    AUTO_TRIGGER_PIN,-1
    BATT_AMP_OFFSET,2
    BATT_AMP_PERVOLT,18.0018
    BATT_CAPACITY,2200
    BATT_CURR_PIN,3
    BATT_MONITOR,4
    BATT_VOLT_MULT,10.2
    BATT_VOLT_PIN,2
    BATT2_AMP_OFFSET,0
    BATT2_AMP_PERVOL,17
    BATT2_CAPACITY,3300
    BATT2_CURR_PIN,3
    BATT2_MONITOR,0
    BATT2_VOLT_MULT,10.1
    BATT2_VOLT_PIN,2
    BRAKING_PERCENT,0
    BRAKING_SPEEDERR,3
    BRD_PWM_COUNT,4
    BRD_SAFETYENABLE,1
    BRD_SBUS_OUT,0
    BRD_SER1_RTSCTS,2
    BRD_SER2_RTSCTS,2
    CAM_DURATION,10
    CAM_SERVO_OFF,1100
    CAM_SERVO_ON,1300
    CAM_TRIGG_DIST,0
    CAM_TRIGG_TYPE,0
    CH7_OPTION,1
    COMPASS_AUTODEC,1
    COMPASS_DEC,0
    COMPASS_DEV_ID,73225
    COMPASS_DEV_ID2,131594
    COMPASS_DEV_ID3,0
    COMPASS_EXTERN2,0
    COMPASS_EXTERN3,0
    COMPASS_EXTERNAL,1
    COMPASS_LEARN,1
    COMPASS_MOT_X,0
    COMPASS_MOT_Y,0
    COMPASS_MOT_Z,0
    COMPASS_MOT2_X,0
    COMPASS_MOT2_Y,0
    COMPASS_MOT2_Z,0
    COMPASS_MOT3_X,0
    COMPASS_MOT3_Y,0
    COMPASS_MOT3_Z,0
    COMPASS_MOTCT,0
    COMPASS_OFS_X,38.40076
    COMPASS_OFS_Y,-162.9169
    COMPASS_OFS_Z,30.31838
    COMPASS_OFS2_X,-58.46968
    COMPASS_OFS2_Y,4.145552
    COMPASS_OFS2_Z,-597.7983
    COMPASS_OFS3_X,0
    COMPASS_OFS3_Y,0
    COMPASS_OFS3_Z,0
    COMPASS_ORIENT,0
    COMPASS_ORIENT2,0
    COMPASS_ORIENT3,0
    COMPASS_PRIMARY,0
    COMPASS_USE,1
    COMPASS_USE2,1
    COMPASS_USE3,1
    CRUISE_SPEED,2.5
    CRUISE_THROTTLE,30
    EKF_ABIAS_PNOISE,0.0002
    EKF_ACC_PNOISE,0.25
    EKF_ALT_NOISE,1
    EKF_EAS_GATE,10
    EKF_EAS_NOISE,1.4
    EKF_FALLBACK,1
    EKF_FLOW_DELAY,25
    EKF_FLOW_GATE,5
    EKF_FLOW_NOISE,0.15
    EKF_GBIAS_PNOISE,1E-06
    EKF_GLITCH_ACCEL,150
    EKF_GLITCH_RAD,15
    EKF_GND_GRADIENT,2
    EKF_GPS_TYPE,0
    EKF_GYRO_PNOISE,0.015
    EKF_HGT_GATE,10
    EKF_MAG_CAL,1
    EKF_MAG_GATE,3
    EKF_MAG_NOISE,0.05
    EKF_MAGB_PNOISE,0.0003
    EKF_MAGE_PNOISE,0.0003
    EKF_MAX_FLOW,2.5
    EKF_POS_DELAY,220
    EKF_POS_GATE,10
    EKF_POSNE_NOISE,0.5
    EKF_RNG_GATE,5
    EKF_VEL_DELAY,220
    EKF_VEL_GATE,6
    EKF_VELD_NOISE,0.7
    EKF_VELNE_NOISE,0.5
    EKF_WIND_PNOISE,0.1
    EKF_WIND_PSCALE,0.5
    FORMAT_VERSION,16
    FS_ACTION,2
    FS_GCS_ENABLE,0
    FS_THR_ENABLE,1
    FS_THR_VALUE,910
    FS_TIMEOUT,5
    GND_ABS_PRESS,101758.1
    GND_ALT_OFFSET,0
    GND_TEMP,29.54821
    GPS_AUTO_SWITCH,1
    GPS_MIN_DGPS,100
    GPS_MIN_ELEV,-100
    GPS_NAVFILTER,8
    GPS_SBAS_MODE,2
    GPS_TYPE,1
    GPS_TYPE2,0
    INITIAL_MODE,0
    INS_ACC2OFFS_X,0
    INS_ACC2OFFS_Y,0
    INS_ACC2OFFS_Z,0
    INS_ACC2SCAL_X,1
    INS_ACC2SCAL_Y,1
    INS_ACC2SCAL_Z,1
    INS_ACC3OFFS_X,0
    INS_ACC3OFFS_Y,0
    INS_ACC3OFFS_Z,0
    INS_ACC3SCAL_X,0
    INS_ACC3SCAL_Y,0
    INS_ACC3SCAL_Z,0
    INS_ACCOFFS_X,0
    INS_ACCOFFS_Y,0
    INS_ACCOFFS_Z,0
    INS_ACCSCAL_X,1
    INS_ACCSCAL_Y,1
    INS_ACCSCAL_Z,1
    INS_GYR2OFFS_X,-0.005661437
    INS_GYR2OFFS_Y,-0.03558189
    INS_GYR2OFFS_Z,0.01222242
    INS_GYR3OFFS_X,0
    INS_GYR3OFFS_Y,0
    INS_GYR3OFFS_Z,0
    INS_GYROFFS_X,-0.003027781
    INS_GYROFFS_Y,0.01662399
    INS_GYROFFS_Z,0.01078254
    INS_MPU6K_FILTER,5
    INS_PRODUCT_ID,5
    LEARN_CH,7
    LOG_BITMASK,65535
    MAG_ENABLE,1
    MIS_RESTART,0
    MIS_TOTAL,3
    MNT_ANGMAX_PAN,4500
    MNT_ANGMAX_ROL,4500
    MNT_ANGMAX_TIL,4500
    MNT_ANGMIN_PAN,-4500
    MNT_ANGMIN_ROL,-4500
    MNT_ANGMIN_TIL,-4500
    MNT_DEFLT_MODE,3
    MNT_JSTICK_SPD,0
    MNT_LEAD_PTCH,0
    MNT_LEAD_RLL,0
    MNT_NEUTRAL_X,0
    MNT_NEUTRAL_Y,0
    MNT_NEUTRAL_Z,0
    MNT_RC_IN_PAN,0
    MNT_RC_IN_ROLL,0
    MNT_RC_IN_TILT,0
    MNT_RETRACT_X,0
    MNT_RETRACT_Y,0
    MNT_RETRACT_Z,0
    MNT_STAB_PAN,0
    MNT_STAB_ROLL,0
    MNT_STAB_TILT,0
    MNT_TYPE,0
    MODE_CH,8
    MODE1,10
    MODE2,10
    MODE3,2
    MODE4,2
    MODE5,0
    MODE6,0
    NAVL1_DAMPING,0.75
    NAVL1_PERIOD,8
    PIVOT_TURN_ANGLE,30
    RC1_DZ,30
    RC1_MAX,1900
    RC1_MIN,1100
    RC1_REV,1
    RC1_TRIM,1500
    RC10_DZ,0
    RC10_FUNCTION,0
    RC10_MAX,1900
    RC10_MIN,1100
    RC10_REV,1
    RC10_TRIM,1500
    RC11_DZ,0
    RC11_FUNCTION,0
    RC11_MAX,1900
    RC11_MIN,1100
    RC11_REV,1
    RC11_TRIM,1500
    RC12_DZ,0
    RC12_FUNCTION,0
    RC12_MAX,1900
    RC12_MIN,1100
    RC12_REV,1
    RC12_TRIM,1500
    RC13_DZ,0
    RC13_FUNCTION,0
    RC13_MAX,1900
    RC13_MIN,1100
    RC13_REV,1
    RC13_TRIM,1500
    RC14_DZ,0
    RC14_FUNCTION,0
    RC14_MAX,1900
    RC14_MIN,1100
    RC14_REV,1
    RC14_TRIM,1500
    RC2_DZ,0
    RC2_FUNCTION,0
    RC2_MAX,1900
    RC2_MIN,1100
    RC2_REV,1
    RC2_TRIM,1500
    RC3_DZ,30
    RC3_MAX,1900
    RC3_MIN,1100
    RC3_REV,1
    RC3_TRIM,1500
    RC4_DZ,0
    RC4_FUNCTION,0
    RC4_MAX,1900
    RC4_MIN,1100
    RC4_REV,1
    RC4_TRIM,1500
    RC5_DZ,0
    RC5_FUNCTION,0
    RC5_MAX,1900
    RC5_MIN,1100
    RC5_REV,1
    RC5_TRIM,1500
    RC6_DZ,0
    RC6_FUNCTION,0
    RC6_MAX,1900
    RC6_MIN,1100
    RC6_REV,1
    RC6_TRIM,1500
    RC7_DZ,0
    RC7_FUNCTION,0
    RC7_MAX,1900
    RC7_MIN,1100
    RC7_REV,1
    RC7_TRIM,1500
    RC8_DZ,0
    RC8_FUNCTION,0
    RC8_MAX,1900
    RC8_MIN,1100
    RC8_REV,1
    RC8_TRIM,1500
    RC9_DZ,0
    RC9_FUNCTION,0
    RC9_MAX,1900
    RC9_MIN,1100
    RC9_REV,1
    RC9_TRIM,1500
    RCMAP_PITCH,2
    RCMAP_ROLL,1
    RCMAP_THROTTLE,3
    RCMAP_YAW,4
    RELAY_DEFAULT,0
    RELAY_PIN,54
    RELAY_PIN2,55
    RELAY_PIN3,-1
    RELAY_PIN4,-1
    RNGFND_DEBOUNCE,2
    RNGFND_FUNCTION,0
    RNGFND_MAX_CM,700
    RNGFND_MIN_CM,20
    RNGFND_OFFSET,0
    RNGFND_PIN,-1
    RNGFND_PWRRNG,0
    RNGFND_RMETRIC,1
    RNGFND_SCALING,3
    RNGFND_SETTLE,0
    RNGFND_STOP_PIN,-1
    RNGFND_TRIGGR_CM,100
    RNGFND_TURN_ANGL,45
    RNGFND_TURN_TIME,1
    RNGFND_TYPE,0
    RNGFND2_FUNCTION,0
    RNGFND2_MAX_CM,700
    RNGFND2_MIN_CM,20
    RNGFND2_OFFSET,0
    RNGFND2_PIN,-1
    RNGFND2_RMETRIC,1
    RNGFND2_SCALING,3
    RNGFND2_SETTLE,0
    RNGFND2_STOP_PIN,-1
    RNGFND2_TYPE,0
    RSSI_PIN,-1
    RST_SWITCH_CH,0
    SCHED_DEBUG,0
    SERIAL0_BAUD,115
    SERIAL1_BAUD,57
    SERIAL1_PROTOCOL,1
    SERIAL2_BAUD,57
    SERIAL2_PROTOCOL,2
    SERIAL3_BAUD,38
    SERIAL3_PROTOCOL,5
    SERIAL4_BAUD,38
    SERIAL4_PROTOCOL,6
    SKID_STEER_IN,0
    SKID_STEER_OUT,1
    SKIP_GYRO_CAL,0
    SPEED_TURN_DIST,2
    SPEED_TURN_GAIN,50
    SPEED2THR_D,0.2
    SPEED2THR_I,0.2
    SPEED2THR_IMAX,4000
    SPEED2THR_P,0.7
    SR0_EXT_STAT,2
    SR0_EXTRA1,10
    SR0_EXTRA2,10
    SR0_EXTRA3,2
    SR0_PARAMS,10
    SR0_POSITION,3
    SR0_RAW_CTRL,2
    SR0_RAW_SENS,2
    SR0_RC_CHAN,2
    SR1_EXT_STAT,2
    SR1_EXTRA1,10
    SR1_EXTRA2,10
    SR1_EXTRA3,2
    SR1_PARAMS,10
    SR1_POSITION,3
    SR1_RAW_CTRL,2
    SR1_RAW_SENS,2
    SR1_RC_CHAN,2
    SR2_EXT_STAT,1
    SR2_EXTRA1,1
    SR2_EXTRA2,1
    SR2_EXTRA3,1
    SR2_PARAMS,10
    SR2_POSITION,1
    SR2_RAW_CTRL,1
    SR2_RAW_SENS,1
    SR2_RC_CHAN,1
    STEER2SRV_D,0.005
    STEER2SRV_I,0.2
    STEER2SRV_IMAX,1500
    STEER2SRV_MINSPD,1
    STEER2SRV_P,1.8
    STEER2SRV_TCONST,0.75
    SYS_NUM_RESETS,22
    SYSID_MYGCS,255
    SYSID_SW_TYPE,20
    SYSID_THISMAV,1
    TELEM_DELAY,0
    THR_MAX,100
    THR_MIN,0
    THR_SLEWRATE,100
    TURN_MAX_G,2
    WP_RADIUS,2

  • Admin

    @Daniel,

    How about providing a file of your full parameter list so we can help resolve your issue?

    Regards,

    TCIII AVD

    • Okay no problem.

      File attached.

      Thanks.

      For future reference should I post the actual parameters in-line or is it better to just attach the actual file?

      WheelchairSet.param

      https://storage.ning.com/topology/rest/1.0/file/get/3702566072?profile=original
This reply was deleted.