Arkflow and Z drop

Oh dear, sound like you are first time flying a drone. Hmmm, and you immediately jump into 18" propeller drone. You are lucky if you are not injured. I think you have more things to read up first. please familiarize yourself what are the differences between Alt Hold, Loiter and Stabilize modes.

PILOT_THR_BHV,7
RC3_TRIM, low throttle stick value.

That’s some solid input Gay.

Just make sure to tell anyone on this forum they should not build drones if they have any issues with Ardupilot.

In my mind, “Center stick is zero throttle” means that at center stick, the Herelink will output a PWM throttle value of 1000 us. The Herelink doesn’t transmit a throttle value to the motors, the onboard flight controller running Ardupilot deals with that. Herelink only sends PWM values for each axis (Aileron axis, Elevator axis, Rudder axis and Throttle axis). Those are the original names of each command sent out from an RC transmitter.

Ardupilot interprets these commands depending on the flight mode. For example, in Loiter, the Elevator/Aileron/Throttle commands are converted to forward/sideways/vertical velocity commands. When AP receives a throttle command of 1000, it interprets that as “descend as fast as possible”. When it receives 1500, AP interprets that as “hover”. The internal PID loops and motor mixer use these velocity commands to generate the throttle values to send to each motor. These throttle values are not the same thing as the throttle command that comes out of your RC transmitter.

If the Herelink outputs a throttle command of 1000 or 1100 at center stick, this is 100% the cause of your issue. At center stick, the throttle command sent out of the Herelink should be 1500.

In my mind, “Full down stick is zero throttle” means the Herelink will output 1000 when the throttle stick is full down, and 1500 when it is centered, which is what you want! I currently don’t have a Herelink lying around to check, my colleague has left with both of ours.

EDIT: If you want even more detail (but this will not help your issue):
One of the outputs of the PID loops is a value called “thrust”. This corresponds to the average throttle that will be sent out to your motors, and then the Mixer adds and subtracts values to that “thrust” value depending on the roll/pitch/yaw commands and errors. From your message, it seems you are worried that your throttle command from your RC transmitter will translate directly into “thrust”. In loiter, this is not the case. It would be the case for flight modes like Stabilize, but you’re not flying in Stabilize (your issue with your old 4:1 X-Class drone probably happened because you were in Stabilize mode). In loiter, for hover, AP uses the MOT_THST_HOVER parameter to approximate the thrust required for hover, but then the Integrator error (the “I” in PID) will adjust the “thrust” if the drone rises or descents when MOT_THST_HOVER is being used. This happens in the first few seconds of flight. So it’s always good practice to set MOT_THST_HOVER as close as possible to the “thrust” value. To find out what value to use for MOT_THST_HOVER, try to hover as best as you can, then look at the CTUN.ThO value in the logs. You can also enable MOT_HOVER_LEARN, and it will estimate what is the thrust value for hover. You can view the calculated value with CTUN.ThH.

But again, your issue is most likely that the RC transmitter is not outputting 1500 when you center your stick. When AP receives a throttle command of 1500, then it will use and adjust MOT_THST_HOVER to send to the mixer, which then creates the throttle command for each individual motor.

1 Like

@RT22,

If you could try changing the check box to “Full down stick is zero throttle” and give it a test that would be great.

Re the comment, “the drone will require constant throttle input to maintain altitude” this is not true for Loiter mode (or AltHold, PosHold, etc) becauise these modes include an altitude controller. The pilot’s throttle stick does not directly control the thrust output, instead it is an input to the altitude controller.

Yes, what @bobzwik says is correct.

I am afraid you are still applying 20th century car operation to today modern cars. You accidently or occasionally step on the car’s brake then make noise auto drive not working, something like that.

I don’t think my comment anywhere from solid.
The solid comment truly is from @bobzwik telling you how a modern car engine works.

By the way, do you know there is a guide teaching user on building modern car today? Previously was a handbook. Unless the RC hardware or firmware issue, I have not read problem cause by the RC compatibility issue for a few years already. Unfortunately, you have been writing for a few days already.

I’ll upload logs after I review them but I made the recommended changes, had an exceptionally unstable flight, altitude drop just as before and then crash.

New logs and parameters: Full down stick is zero throttle and Pilot_Thr_BHV, 7:

Same issue but much, much worse–highly unstable, lost altitude, and crash. I shouldn’t have flown the second time but I was trying to get decent data on throttle / altitude. There were a few moments when I could come off the throttle to show that I’m still descending but the drone was very unstable, I could barely risk it going more than 2 meters. My second attempt at getting the data was a loss of control, resulting in a crash. I’m out of propellers until Saturday or Sunday.

More importantly, and I want add huge emphasis to this, I don’t think it’s the throttle because I’ve always lost altitude when reducing throttle in loiter. It’s not that I only loose altitude at center stick, it’s that I begin loosing altitude the moment I begin to come off throttle (say 70-80%).

Here’s the test flight leading up to the crash.

Here’s the parameters.

Hi @RT22,

These are just parameter files so not much good really.

The PILOT_THR_BHV parameter doesn’t affect the PWM values sent to AP for the throttle channel. That just affects a couple of situations including when the propellers start to spin up.

I think this issue can be uncovered without flying the vehicle. I guess you saw the image I posted above from Mission Planner’s Radio Calibration screen? I think doing that will show that the green throttle bar is not moving correctly.

This line below is completely consistent with zero throttle being from mid-stick. If zero is mid-stick, then half throttle would be 75%, full throttle would be 100%.

It’s not that I only loose altitude at center stick, it’s that I begin loosing altitude the moment I begin to come off throttle (say 70-80%).

Please please follow my advice. If you can’t connect Mission Planner then we can find another way to show you again that it is the RC throttle stick that is the issue.

My apologies: Here’s the log:

I’ll hook up to mission planner and make a video tonight.

Hi @RT22,

Thanks for the log. So two things I notice:

  1. it looks like the vehicle is flying Copter-4.3.5. This is the 4.5.0 forum so it would be best to either upgrade or we can move this discussion to the 4.3 forum. 4.3.5 is very stable and certainly it is a configuration issue.

  2. RC3_TRIM = 1111. It shouldn’t matter but you could change this to 1500.

Let’s keep it here, it might be beneficial for someone in the future. I’m updating everything now to the latest firmware but here’s a video from integrating the first GCS in mission planner. When this GCS wasn’t holding altitude, I switched to a controller that I trusted (herelink).

I’ll make a video of herelink controller as well but here’s this for now. Center is 1500.

If you set your RC transmitter at “Center stick is zero throttle”, then 1500 throttle (which is what Ardupilot interprets as “hover”) is at 3/4 of the way up of your throttle stick. Anything lower than 75% throttle stick position will lead to your drone descending in Loiter mode.

Ideally, like @rmackay9 says, you could connect your flight controller to Mission Planner on another computer, either via usb or with telemetry radios, to see what the flight controller is receiving from your Herelink when the throttle stick is centered.

If that’s not possible, than how about you create a log, in which you don’t fly or even arm (make sure that LOG_DISARMED is enabled to allow logging as soon as the flight controller turns on). With that parameter enabled:

  • Turn off your flight controller.
  • Power on your Herelink or other RC transmitter that causes your drone to descend.
  • Make sure throttle stick is centered.
  • Turn on your flight controller.
  • Play around with the Aileron/Elevator stick, but don’t touch the throttle. This is just to be able to confirm that the flight controller was indeed receiving commands from the RC transmitter.
  • Turn off your flight controller after 20 seconds or more.
  • Get the log. We should then be able to see if the throttle command (a perfect horizontal line since you didn’t move the throttle stick) is either at 1500 or 1000/1100.

Maybe do this twice, once with your Herelink set as “Center stick is zero throttle” and once with the other option.

1 Like

But just by looking at your previous logs, it really looks like your center throttle is not 1500, especially this one where you said you spent a longer longer time at center stick (I suspect that moment was when the drone was loosing altitude at the end of the flight), RCIN.C3 is low at 1100.

Ok, I’ll make a disarmed log like you mentioned but this will be with the changes that were recommended by rmackay9 (RC3_TRIM = 1500).

I updated mission planner as well and noticed the PWM signal at center RC3 is 1514 rather than 1500–step in the right direction I suppose. Times like this I wish I owned my own hanger so I don’t need to wait until daylight to try optical flow again…

Making a disarmed log now…

1 Like

@RT22,

Thanks for the movie. So you are indeed using an actual joystick. This is probably why the RC3_TRIM matters. Mission Planner uses the RC3_MIN, RC3_TRIM and RC3_MAX parameters from the autopilot to decide what PWM values to send. So I suspect it is all fixed now.

By the way, I was suggesting looking at MP’s Setup, Mandatory Hardware, Radio Calibration screen to see what PWM is being sent for RC Throttle input.

Our wiki page for Joystick setup using MP is here.

1 Like

This view @RT22, RC connection if you are not aware of, assuming you are using a Cube Pilot hardware.

You rejected my idea to provide a photo for the kind experts to assist you.

1 Like

Thanks but regarding herelink, there’s only one way to hook RC up to a cube–it’s not the issue. This drone has a few hours total flying just fine with GPS etc but now that I’m moving it to optical flow, there’s issues with… well… this whole thread is full of issues.

I’m using a joystick, herelink, and some other GCS’s that I’m not able to detail because of NDA’s. But in all, yes, joystick.

I’ll make this pre-arm log in a moment.

I think we’re getting close to a conclusion…

Ok, I think this is what you two are looking for:

I can see RC3 hanging out at ~1110. Never touched throttle.