Angular constraints on the Inverted Double Pendulum - 'Acrobot'

AI Thread Summary
The discussion focuses on implementing constraints in a Java model of the Acrobot, inspired by Sutton's work, to prevent the inner angle between the two joints from reaching zero during movement. The model accurately simulates the physics, but issues arise when the second pendulum rotates 360°, causing momentum problems. The user has attempted various solutions, including conditional checks based on angular velocities and angles, but these have led to bugs during sudden changes in angular velocity. Suggestions include using a physical barrier or a potential function to manage the opening angle constraints effectively. The need for a cohesive thread to streamline the discussion is also highlighted.
Lavace
Messages
62
Reaction score
0
I am attempting to recreate Sutton's work on the 'Acrobot' and have modeled a good solution to the following:
http://webdocs.cs.uAlberta.ca/~sutton/book/ebook/node110.html

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.

WP_001320.jpg


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.

Attempt:
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.
 
Physics news on Phys.org
I have also attempted to think about measuring the angle between the two, but cannot figure out a method.
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.
 
Hi there, im studying nanoscience at the university in Basel. Today I looked at the topic of intertial and non-inertial reference frames and the existence of fictitious forces. I understand that you call forces real in physics if they appear in interplay. Meaning that a force is real when there is the "actio" partner to the "reactio" partner. If this condition is not satisfied the force is not real. I also understand that if you specifically look at non-inertial reference frames you can...
I have recently been really interested in the derivation of Hamiltons Principle. On my research I found that with the term ##m \cdot \frac{d}{dt} (\frac{dr}{dt} \cdot \delta r) = 0## (1) one may derivate ##\delta \int (T - V) dt = 0## (2). The derivation itself I understood quiet good, but what I don't understand is where the equation (1) came from, because in my research it was just given and not derived from anywhere. Does anybody know where (1) comes from or why from it the...
Back
Top