tigercontrol.problems.control.DoublePendulum

class tigercontrol.problems.control.DoublePendulum[source]

Acrobot is a 2-link pendulum with only the second joint actuated. Initially, both links point downwards. The goal is to swing the end-effector at a height at least the length of one link above the base. Both links can swing freely and can pass by each other, i.e., they don’t collide when they have the same angle. STATE: The state consists of the sin() and cos() of the two rotational joint angles and the joint angular velocities : [cos(theta1) sin(theta1) cos(theta2) sin(theta2) thetaDot1 thetaDot2]. For the first link, an angle of 0 corresponds to the link pointing downwards. The angle of the second link is relative to the angle of the first link. An angle of 0 corresponds to having the same angle between the two links. A state of [1, 0, 1, 0, …, …] means that both links point downwards. ACTIONS: The action is either applying +1, 0 or -1 torque on the joint between the two pendulum links.

__init__()[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__() Initialize self.
close() Description: closes the problem and returns used memory
help() Description: prints information about this class and its methods
initialize() Description: resets problem to time 0
render([mode])
reset()
step(a) Description: run one timestep of the problem’s dynamics.

Attributes

LINK_COM_POS_1 [m] position of the center of mass of link 1
LINK_COM_POS_2 [m] position of the center of mass of link 2
LINK_LENGTH_1
LINK_LENGTH_2
LINK_MASS_1 [kg] mass of link 1
LINK_MASS_2 [kg] mass of link 2
LINK_MOI moments of inertia for both links
MAX_VEL_1
MAX_VEL_2
action_arrow
actions_num
domain_fig
dt
metadata
spec
torque_noise_max