Demonstrating The Mars Rover Pendulum Problem With A Drone On Earth

The sky crane system used on the Perseverance and Curiosity Mars rovers is a challenging control system problem that piqued [Nicholas Rehm]’s curiosity. Constrained to Earth, he decided to investigate the problem using a drone and a rock.

The setup and the tests are simple, but clearly illustrate the problem faced by NASA engineers. [Nicholas] attached a winch mechanism to the bottom of a racing-type quadcopter, and tied a mass to the end of the winch line. At first, he built a foam model of the rover, but it proved to be unstable in the wake of the quadcopter’s propellers, so he used a rock instead. The tests start with the quadcopter taking off with the rock completely retracted, which is then slowly lowered in flight until it reaches the end of the line and drops free. As soon as the rock was lowered, it started swinging like a pendulum, which only got worse as the line got longer. [Nicholas] attempted to reduce the oscillations with manual control inputs, but this only made it worse. The quadcopter is also running [Nicholas]’s own dRehmFlight flight controller that handles stabilization, but it does not account for the swinging mass.

[Nicholas] goes into detail on the dynamics of this system, which is basically a two-body pendulum. The challenges of accurately controlling a two-body pendulum are one of the main reasons the sky crane concept was shelved when first proposed in 1999. Any horizontal movement of either the drone or the rock exerts a force on the other body and will cause a pendulum motion to start, which the control system will not be able to recover from if it does not account for it. The real sky crane probably has some sort of angle sensing on the tether which can be used to compensate for any motion of the suspended rover.

We’re hoping that [Nicholas] will follow up on this experiment with a demonstration of using his dRehmFlight flight controller to solve this problem. The customizability of dRehmflight should make it the perfect tool for the job

Be sure to check out [Dan Maloney]’s deep dive on the “Seven minutes of terror” of the Perseverance landing procedure, and of course the incredible video of the successful landing.

39 thoughts on “Demonstrating The Mars Rover Pendulum Problem With A Drone On Earth

      1. Its only relatively recently we have had a concept of correct spelling at all – and folks from before it could communicate in writing just fine, as the rules of letter sounds creating words still applied. And being terrible with spelling myself I rather wish that was still the case, as ‘correct’ spelling just makes for more pointless busy work that isn’t communicating the idea at all.

        Next you’ll demand that everyone talks English in the BBC accent (or your preferred dialect), its got no purpose as long as the speaker can be understood, but its correct! So of course anybody who does not must be wrong/ignored/belittled etc…

      1. And probably pushing the load the extra few inches to put it on to the bolts.
        Not to detract from the skill of those pilots, but those aircraft simply aren’t that accurate, especially given things like turbulence.

          1. You’re right. One of the things that nagged me when writing that comment is how specialized this type of equipment can be to have incredible accuracy.
            On the other hand, even with regular cranes, you still normally see a person at the site where the load is supposed to go to help manually guide it in. (Sometimes that person is also operating the crane.)

  1. Actually the problems you experienced are mainly due to your suspension system. You only used a single line. What you duplicated is not Percy but either a sling load or a long line load. Those are methods used by helicopters to carry external loads. If you watch some videos you might get and idea of how to fly but not having direct feedback and under a small drone I doubt you will get the fine control needed. It is the single most difficult thing to learn how to do and even with experience you can have exciting times.

    1. Came to say the same thing. I used my quad to clear leaves from the valleys on mine and my neighbors’ roofs.
      Single line, definitely hard to control – a couple crashes later taught me that’s just not a good way to do it.
      Experimenting, I found 4 lines (from out on each arm) going down to a single connection point inhibits swaying of the hook I’m using to “encourage” the pine needles off the roof.

      Sling-loads on military helicopters (like the 101st Airborne sling loading artillery pieces) are not done with a long single line either. The fulcrum/connection is right up by the helicopter itself…
      Some heli pilots do use single line, but they are usually using a very long line and have far more mass on the helicopter itself than the load they’re dangling.
      Where’s that YouTube video of the heli pilot loading Christmas trees? Ah, here it is:

      When there’s a lot of mass on the end of a long tether, it can be very difficult even for an experienced pilot:

  2. How much difference is made by Perseverance having 3 cables? There is also a 4th cable, but that seems to be to support an ethernet umbilical connecting the rocket platform cameras and computer with the main computer on the rover. I don’t know whether it is also a support. I need to watch some of JPL’s videos about the engineering. I’ve been wondering if they can use the tether winches to control the pendulum effect.

    In any case it was a superb piece of engineering and watching it live was probably the most exciting space overage since I watched John Young bringing the first shuttle back to land nearly 40 years ago! When I saw that they had the actual live telemetry superimposed on the simulation we were watching it made it even more immediate.

    1. Well, in a perfect world, having three lines would keep the rover in a fixed position (so long as the gravity is enough.) As long as gravity keeps the lines taut, they act like a reverse tripod and keep the load from moving.

      1. The lines between the rover and crane were mostly parallel. Parallel lines do not behave in the way you describe. Also, I’m pretty sure your goal cannot be accomplished with just 3 lines.

        1. You are correct about the parallel lines. Lateral movement is possible with parallel lines because they form a weak rectangle. (This is also true for the truncated triangular prism that you are probably envisioning.)

          However, if at the connection to the load the three lines meet, they form a full triangular prism (which is a rigid structure.) While this would mean the load would be hanging from one point just above it, it would stay in mostly the same location.

          For demonstration, I have created some crude ASCII art.
          (This is a ‘2D’ view, so there are actually three lines, not two.)

          / \
          / \
          / \
          | |
          \ /
          | |
          \ /
          | | <== Cables
          \ /
          {} <== point from which
          rover is suspended.

          The cables form a triangle, which is rigid.
          If my sorry excuse for an illustration does not look right, I blame the monospace font (there's something wrong with my cache rn and it won't load fonts for me. It has defaulted to a monospace, and it looks right to me.)

      2. If there wasn’t enough gravity you could use a downward thruster on the load to keep it taut. (Of course if you did it would be “fun” if the thruster kept going after the load was released!)

  3. The crane is controlled by a computer making umpteen hundred of corrections per minute, you being human, can’t come close to that, so I suspect your model should be done under software control, and, as was mention upthread, with more than a single cable.

    1. I think the whole point was to demonstrate that there is a natural instability in this arrangement. It gives us an appreciation for how much work has gone into putting Percy on Mars.

      To take your argument to the logical conclusion, you might as well say “well you didn’t do it on mars, and you didn’t do it with the same hardware and software they used. Not a fair test”

  4. If the quad wasn’t trying to maintain position you wouldn’t have energy feeding into the pendulum motion. Trying to correct manually only makes it worse. Forming three-cable rigid pyramid would also allow oscillation as tilting the drone platform adds energy to the pendulum. You need P-D or P-I-D control to damp out the oscillations, and a single tether since the quadcopter doesn’t have horizontal thrusters and needs the gimbal freedom to generate horizontal thrust.

    1. Because the skycrane engines are canted to the sides, the skycrane’s attempts to generate horizontal movement would also pitch the crane body in a similar fashion to a quad as the engine providing horizontal impulse also lifted that side of the crane simultaneously.

  5. Rather than trying to do all the complex math, have you considered using fuzzy logic? I had read somewhere that original hard control problems, like an inverted pendulum, could be done by fuzzy logic. If nothing else, since you seem to like control software, it might be fun. And after that, maybe write some neural net software for a AI control solution :-)

  6. I don’t see the relevance to the Mars landing procedure. The drone blades make turbulence below and cause additional force on the rock. Mars lander crane had angled thrusters which made far less turbulance and excerted far less force on the rover.
    I think this is a big difference. Maybe it is not, maybe it is. From physics side of things, it is very important difference.

  7. Is this a variation of the control-theory problem of a gantry crane?

    Gantry cranes have to move an unknown mass from one position to another in 1-dimension as quickly as possible keeping swinging within limits. The don’t usually (in the text-book exercises) know the angle-of-dangle, but have to infer it from it’s effects on the position, speed and acceleration of the crane.

    Granted, when flying movement is in 3-dimensions and when using rockets, the mass of the lifting object is changing.

  8. I’ve done my master thesis on control of this system. I’ve got fairly good result using only input shaping control without any feedback. You just need to send half of the energy in other direction than the first half. So accelerate to half of demandend speed, then wait half of the period and then accelerate from half to the full speed – these two impulses will cancel each other. This system is used on cranes for a long time. Using the quadcopter is more complex in calculation of oscilation frequency, but when you are able to measure it without crashing the quad you don’t need to calculate it.

  9. So this would probably be a cool variation on the same old, same old, lunar lander game that’s been written for everything from Altair upwards. 2D of course, but swinging mass of lander on the sky hook will add complexity. We can call it, “lunar lander on an alternative planet with a swinging lander on a rope.” or just be unimaginative and call it Martian Lander I guess.

  10. If you raise the pivot point of the tether above the center-of-mass (COM) of the drone then you will get passive stability.

    With the high pivot point, the rock pulls the string to the right, the string pull tilts the drone so that it tries to go right and get more over the rock. The net effect is to damp out the oscillation.

    With the attachment below the COM, you get passive instability and runaway oscillation. (As you have noticed.)

    How passive stability/instability interacts with the dynamic stability of the drone’s control system depends on the details of the control loop.

    You can either raise the pivot point, or lower the COM by attaching foot masses at the end of rigidly-attached legs that stick down from the drone.

    Note that the rotor height relative to the attachment point and COM doesn’t matter (google “rocket pendulum fallacy” for more details).

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.