Why does package place (payload_place) not work....sometimes?

Having a great time testing the payload_place command (aka: package place) and finding some weird behavior with the payload release. Sometimes it works perfectly, but about 20% of the time it will release the payload well above the ground and then continue the mission, about 20% of the time it will touch down the payload but not drop it, and the remainder it works perfectly.

I’d like to think that with payload_place, the payload weight could be reasonably varied (100g-500g on 450 quad) and still work and trigger a meaningful HOVER THROTTLE DELTA and actuate the gripper. Maybe there is some descent rate or climb/descent or throttle-related P tuning that would smooth out the normal throttle output variations, separate from the payload set-down.

Please let me know what you think!

All missions are roughly: take off, climb 30 or 50m AGL, do a circuit or hit a waypoint, return approximately to operations area, initiate payload_place from an altitude above or below 10m AGL, then hit another circuit or waypoint, then land.

Logs: https://drive.google.com/drive/folders/19JcJ3U21dkZ5J_iD89t9s-gvNrFDhOCo?usp=sharing

In every test, there is a single HOVER THROTTLE DELTA logged, varying from about 0.07 to 0.0004. I thought there might be a correlation, like a low HTD value might not release Gripper, but it seems like it’s all over the place. Sometimes low HTD releases and high HTD does not.

It seems like maybe heavier payloads (400g) beginning payload_place command below 10m AGL worked more reliably and lighter payloads (100-200g) beginning payload_place command above 10m AGL didn’t work as reliably. But test iterations were limited.

Here is a too-high release of a 100g payload, with a 4m sling, but dropped at about 15m AGL. RCout7 is the payload release servo, green line. Log names are in screenshots, and logs are below.

HTD logged, and quite low, probable normal throttle variation, but apparently enough to release the gripper:

Similar too-high release, 400g payload:

Here it sensed HTD, but then proceeded to land, and THEN released, and did not take off and continue the mission:

Here, HTD sensed at 3m (correct sling length), but still proceeded to descend to about 50cm AGL, then activated maximum descent and resumed mission, did not release. This was 200g payload, payload_place activated at 20m AGL, and iterated twice, same result. In the same log, a 400g payload did work twice.

Now, successes!

200g on 3m sling with payload_place initiated at 8m AGL worked twice. On this flight, the third ascent was with 0g payload (slipped out of sling) and landed, released, and terminated mission.

Here’s 400g on 3m sling initiated at 8m AGL. Worked perfectly twice.

These logs are here:

Yes! Some parameterisation would be good :slight_smile: A high-powered Copter with
low descent rates could easily get fooled one way or the other, I expect.

Glad you’re having fun with it.

Thanks for your response Peter. I’d really like to make package_place my go-to dropoff mode. Land-and-release(do_digicam_control) is reliable and easy, but if the terrain at that spot is not level and smooth, it may not go well. Package-place solves that!

Can you tell me if the “hover throttle delta” event is THE triggering event for the gripper release or is it a setting of a variable that then must be exceeded afterwards in order to release? I see that the release is often a short time after the hover throttle delta message occurs. If I can better understand the chain of events maybe I can tune better for it.

Can you (or anyone) suggest any parameters I can optimize to make the gripper release trigger more reliably on the ground and not high, or not at all? I’m using an average-powered 450 quad, running about 25% at hover with 400g payload. Perhaps Throttle Acccel P, Throttle Rate P, Altitude P? Trying to think of parameters that will even out power output. I don’t completely understand some of these.

Seems like the faster the descent, the lower the throttle output but the more erratic the attitude (especially straight vertical descent) and therefore the throttle is more variable. I would therefore think that a slower descent may reduce the throttle noise and make the payload set-down throttle drop stand out more. Can that be confirmed or refuted?

green graph line altitude, red graph line throttle, red arrow throttle climbing, blue arrow throttle descending


Peter, could you maybe give me a hint on which parameters I might adjust? And in the log, is the hover delta throttle the variable-setting event or the gripper-triggering event?

Ah, sorry, I wasn’t particularly clear. There are currently no parameters

  • the constants that are currently used seemed to work for people…

I was suggesting parameters might need to be added.


I just played around with auto-missions and the payloadPlace function. I have a powerful copter, with high configured speeds and acceleration, which causes that it detects the gripper load release while descending. I like the idea of payloadPlace, because I just need a hook to release a package and no servo. I use a hook that is opening when the strain reliefs.

I collected the dataflash log and two videos from today.
Dropbox – Octo

Maybe this is interesting for you :slight_smile:

Can you summarize how this unloading works? For example, which parameters should I set for 3 servo load tasks?