1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Angular constraints on the Inverted Double Pendulum - 'Acrobot'

  1. Feb 13, 2013 #1
    I am attempting to recreate Sutton's work on the 'Acrobot' and have modeled a good solution to the following:

    The physics is implemented in exactly the same way, however my particular Java implementation requires some constraint satisfaction so that particular movements cannot occur. As it stands, the Acrobot will gain momentum and then begin the second pendulum will rotate 360°. The purpose is to model a gymnast swinging on a high bar.


    From the case figures, the two angles of the two joints are measured independently of one another. Suppose the angular velocity of the first joint is positive and starts from 0, as it revolves, the accumulated angle will eventually reach 2∏ and be reset to zero. Vice versa, a negative velocity will accumulate a negative angle until it reaches -2∏ and be reset to 0. Another point of interest is in Figure 1, θ1 is true if the ω1 >0, however if ω1 < 0 then the θ (which is already known, so we don't need this calculation, but in the context of the Figure) would be -(2π - θ1).

    If you imagine the second joint as the 'hips' of an acrobat, the inner angle between the two cannot become 0. On the other hand, suppose the acrobot is vertical and the second joint has a positive velocity, it is fine for the second pendulum to continue around, but here the new angle between must not reach zero.

    So, what is required are constraints that stop the inner angle becoming zero in particular scenarios. I have attempted a faulty solution that you can see below. I have also attempted to think about measuring the angle between the two, but cannot figure out a method.

    I would greatly appreciate some help, as this should be simple but perhaps I am over complicating it.

    I created multiple cases, such that if ω1 > 0 and ω2 < 0, and θ1 + θ2 > ∏ then θ2 = -(∏ - θ1). Others include using just the angles, splitting the area into spaces and solely the velocities. All of them show bugs if the acrobot suddenly changes angular velocity or goes overhead.
  2. jcsd
  3. Feb 13, 2013 #2


    User Avatar
    2017 Award

    Staff: Mentor

    I would use those angles as primary variables to describe the state of the acrobot.
    How do you want to add the constraint on the opening angle? As physical barrier? Add a potential which is large for small opening angles, and negligible elsewhere.

    Why did you open a second thread? It is easier if you post everything in one thread.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook