A rope suspended between two mounting points follows a catenary curve. This principle finds application in robotics, in scenarios containing hanging ropes, where the mounting points can be drones and robotic arms.
The python scripts of this repo contain two functions that create a 2D and a 3D catenary curve.
Catenary_2D output | Catenary_3D output |
---|---|
Catenary_2D(L, dx, dz) creates a catenary curve on x-z plan, placing the reference mounting point on (0,0).
Variable | Description |
---|---|
L | The length of the rope |
dx | The horizontal distance of the 2 mounting points |
dz | The vertical distance of the 2 mounting points |
<<<<<<< HEAD Catenary_3D Catenary_3D(x1,y1,z1,f) geseneralizes the catenary created by Catenary_2d into three-dimensional space. This is why the position of the reference mounting point is needed as well as the rotation of the curve around the z-axis.
Catenary_3D(x1,y1,z1,f) generalizes the catenary created by Catenary_2d into three-dimensional space. This is why the position of the reference mounting point is needed as well as the rotation of the curve around the z-axis.
refs/remotes/origin/master
Variable | Description |
---|---|
x1 | Reference mounting point position on x-axis |
y1 | Reference mounting point position on y-axis |
z1 | Reference mounting point position on z-axis |
f | Rotation of the curve on around z-axis in radians |
The method is a little bit different than the one used for determining parameters here. The equation of a catenary, the curve formed by a uniform string hanging between two points, is:
However, this solution assumes that the curve is in a standing position with its lowest point above x = 0. In order to allow for the catenary to be centered at any point, its equation is written as:
where
By letting
Its form does not allow for a closed-form solution, so a numerical approach is implemented. Then, the three parameters
where
After finding the catenary curve in two-dimensions, it can be easily generalized into a three-dimensional space.
The curve is always laying on the plane perpendicular to the ground formed by the two mounting points. A local coordinate system is introduced. Its origin lies on the reference mounting point, its x-axis is parallel to the ground facing along the curve plane and its z-axis is perpendicular to the ground. The coordinates of every point on the local coordinate system {A} can be transfered to the global coordinate system {U} through the transformation matrix
where