Arkflow and Z drop

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.

@RT22,

OK, so it’s still not working correctly.

Did you see the video above by @Jai.GAY?. I’d like to see the equivalent although I think the Herelink sticks are not being used so instead we’d like to see the joystick in the frame.

Here’s a video of my setup using a joystick

If you’re using a Joystick controlled though MP, then make sure that the Herelink’s yellow and black RC cable is not connected to the autopiot’s RCIn port.

The issue must be in MP’s Joystick control but I’d also like to see the autopilot upgraded to 4.5.0

Also could you make sure that you’ve done a windows joystick calibration?

Here’s another log with RC3 showing 1514 or so at center. This is most recent, after I changed “center stick” in Herelink’s Q ground control.

I’ll go back to the joystick like you mentioned and test that as well (and update firmware).

So based on this, are we on the right track? What about the Pilot_Thr_BHV at 7 setting?

I’ll respond to the other messages, just keeping this one on the subject of log 227.

Unfortunately because of an NDA, I can’t show the joystick but what we’re really trying to achieve here is a pwm signal of 1500-1515 at RC3 center stick, correct?

@RT22,

Txs for the log. The RCIN.C3 value is 1515 which is close enough.

The PILOT_THR_BHV parameter won’t have any effect on the PWM from the throttle.

Yes, the PWM should be in these ranges depending upon the throttle position.

throttle pulled low: pwm = 1000 ~ 1100
throttle centered: pwm = 1480 ~ 1520
throttle high: pwm = 1900 ~ 2000

OK, if you can’t show us a video that’s fine but you should be able to reproduce yourself what I’ve shown in the video. If the throttle stick movements match the green lines in MP like I’ve shown then it should be fine.

Also to be clear, the joystick “driver” is built into the Ground station. The ground station is responsible for reading in the values from the joystick using some Windows driver and it then converts that to a PWM value and sends it to AP. So the joystick configuration is held within the GCS. If you’re changing between MP, QGC, etc… that’ll affect what is sent to AP. Just because it works on MP or works on QGC, that doesn’t mean it will work on the closed source GCS you’ve got.

So I think the best we can do here is show it works with MP or QGC and then if the custom GCS doesn’t work then you’ll have to bring it up with whomever developed it.

Thank you. I think we’re ready for another test flight when the props come in. Maybe I’ll find some other ones laying around tomorrow…

So to summarize, if this works, it was fixed by 1: Unchecking center stick as zero in QGC and 2: Adjusting RC3_TRIM in MP?

@RT22,

Yes, if the joystick is connected to the QGC ground station then it is important that QGC’s “Full down stick is zero throttle” is checked.

Yes, the ArduPilot flight code parameter, RC3_TRIM, should be set to about 1500. It’s not immediately clear which ground stations use this parameter as part of their joystick drive code but probably MP and maybe QGC.

If the joystick doesn’t work with the closed source GCS, you’ll have to bring that up with those developers.

1 Like

If you want to validate if these changes fixes your issue, before receiving your new props, there is a way. Yes, it’s rudimentary, but it works! I’ve done it multiple times when debugging custom flight modes.

1- Put drone on ground
2- Turn on transmitter and drone.
3- Wait for drone to be ready to arm. Switch to Loiter or AltHold.
4- Arm drone (WITHOUT PROPS)
5- Bring throttle stick to center. there will probably be a bump in RPM.
6- With a colleague, one of you increase the throttle stick from 50% (center) to 60 or 70%. At the same time, the other one of you lifts up the drone slowly.
7- Try not to block the ArkFlow measurements while doing this.
8- Bring throttle back to center (50%), and stop rising the drone, keep it at a steady altitude.
9- Lower the throttle to 40% and descend then drone until touchdown
10- Disarm.

Coordination between the both of you is important. Then in the logs, you should be able to see the desired altitude increase at the same time as the actual altitude, and both should remain steady when you were “hovering”, and then both should decrease at the same time before touchdown. I like using PSCD.PD and PSCD.TPD, which are the logged position and target position for the “Down” direction of the Position Controller (PSC). You can also look at PSCD.VD and DVD (velocity and desired velocity).
NOTE: In PSCD, negative values means “going up”. The reference frame is flipped compared to CTUN. So you can probably keep using CTUN if you’re more comfortable with that.

It’s normal that the desired altitude and actual altitude diverge, since it is hard to manually lift the drone at the velocity commanded by your throttle inputs of 60% and 40%. You might get a “Thrust loss” warning, but that’s okay.

Other note: Don’t take too long to do this test. Some motors don’t enjoy turning no-load for long durations, I’ve had a few heat up (they obviously don’t receive any airflow). Keep the whole test under 1 minute. 20-30 seconds should be perfect.

I did that with my companion computer.

Alright, the props wouldn’t arrive until Monday and I couldn’t wait.

So I threw on some 18.5" KDE props and attempted Loiter mode again and…

It holds position! Quite well I must say.

Special thanks to rmackay9, bobzwik, and Jai.Gay for catching something I was missing entirely.

3 Likes

@RT22,

Great stuff and thanks for the feedback!

1 Like