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.
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.
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: