❗❗❗
The old algorithm rests upon the assumption that it knows which point of the each leg is in contact with the ground. This assumption seems to be true for all possible cases for
leg-patterns page and inverse-kinematics page.
But this is not true for all possible angle combinations (18 angles) that can be defined in
the kinematics page.
This current algorithm will still be used for the leg-patterns page, and the inverse-kinematics page. A more general algorithm will be used for the kinematics page
The following algorithm can be used for the leg-patterns page and inverse-kinematics page.
(How to find the ground contact points, tilt, and height of the hexapod)
But this can't be used in general.
This is because how we determine the ground contact ie Linkage.compute_ground_contact() doesn't always yield the correct result.
|
def compute_ground_contact(self): |
Here's the new algorithm that accounts for most cases
|
def compute_orientation_properties(legs): |
❗❗❗
The old algorithm rests upon the assumption that it knows which point of the each leg is in contact with the ground. This assumption seems to be true for all possible cases for
leg-patterns page and inverse-kinematics page.
But this is not true for all possible angle combinations (18 angles) that can be defined in
the kinematics page.
This current algorithm will still be used for the leg-patterns page, and the inverse-kinematics page. A more general algorithm will be used for the kinematics page
The following algorithm can be used for the leg-patterns page and inverse-kinematics page.
(How to find the ground contact points, tilt, and height of the hexapod)
hexapod-robot-simulator/hexapod/ground_contact_solver.py
Line 1 in 45acb5a
But this can't be used in general.
This is because how we determine the ground contact ie
Linkage.compute_ground_contact()doesn't always yield the correct result.hexapod-robot-simulator/hexapod/linkage.py
Line 162 in 45acb5a
Here's the new algorithm that accounts for most cases
hexapod-robot-simulator/hexapod/ground_contact_solver/ground_contact_solver2.py
Line 52 in 531fbb3