You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
❗Add more generalized algorithm to compute ground contacts + chores (#78)
* Add a new the more general algorithm to computer orientation properties
- Incorporate both ground contact solver algorithms in updating hexapod pose depending on situation
- Use the more general algorithm for the kinematics page
- Incorporate new algorithm in test
* Fix ground contact solver module
- Move ground contact solver to own module
- Replace check stability with function that accounts for all cases
- Simplify and refactor ground contact solver, remove duplicate operations
* Do pylint chores
- Remove unused ignore declarations on pylint file
- Dont ignore tests directory since it's not pylint isn't ignoring directories anyway
* Update README
Copy file name to clipboardExpand all lines: README.md
+17-12Lines changed: 17 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
8
8
|||||
9
9
|---------|---------|---------|---------|
10
-
||<imgsrc="https://mithi.github.io/robotics-blog/v2-hexapod-1.gif"width="550"/>|<imgsrc="https://mithi.github.io/robotics-blog/v2-hexapod-2.gif"width="500"/>||
10
+
||<imgsrc="https://mithi.github.io/robotics-blog/v2-hexapod-1.gif"width="550"/>|<imgsrc="https://mithi.github.io/robotics-blog/v2-hexapod-2.gif"width="500"/>||
@@ -57,13 +57,15 @@ Running on http://127.0.0.1:8050/
57
57
58
58
- Definitions
59
59
-[`Linkage`](./hexapod/linkage.py)
60
-
-[`VirtualHexapod`](./hexapod/models.py#L94)
60
+
-[`VirtualHexapod`](./hexapod/models.py)
61
61
- The [Inverse Kinematics Algorithm](./hexapod/ik_solver/README.md) used for this project
62
-
-[How to find the ground contact points, tilt, and height of the hexapod](./hexapod/ground_contact_solver.py#L43)
63
-
-[How to make the hexapod step on the correct target ground contacts](./hexapod/ik_solver/recompute_hexapod.py#L15)
62
+
- How to find the orientation of the hexapod with respect to the ground given we know all the orientations of the six legs with respect to the robot's body.
63
+
-[Algorithm 1](./hexapod/ground_contact_solver/ground_contact_solver.py) when we know which of the three points of each leg could contact the ground
64
+
-[Algorithm 2](./hexapod/ground_contact_solver/ground_contact_solver2.py) when we **don't** know which of points of which legs could be in contact with the ground
65
+
-[How to make the hexapod step on the correct target ground contacts](./hexapod/ik_solver/recompute_hexapod.py)
64
66
- How to determine if the hexapod should twist and by how much
@@ -73,15 +75,18 @@ Running on http://127.0.0.1:8050/
73
75
74
76
## 🕷️ Notes
75
77
76
-
-❗Now live on https://hexapod-robot-simulator.herokuapp.com ! **BUT** (and a big one) I highly suggest that you run it locally. When run locally, it's pretty speedy! On the other hand, the link above is barely usable. Might convert this to to be a fully client-side Javascript app later, maybe?
78
+
- Now live on https://hexapod-robot-simulator.herokuapp.com ! **BUT** (and a big one) I highly suggest that you run it locally. When run locally, it's pretty speedy! On the other hand, the link above is barely usable. Might convert this to to be a fully client-side Javascript app later, maybe?
77
79
78
-
-❗This implementation uses matrices, **NOT** quaternions. I'm aware that quaternions is far superior in every single way. In the (un)forseeable future, maybe?
80
+
- This implementation uses matrices, **NOT** quaternions. I'm aware that quaternions is far superior in every single way. In the (un)forseeable future, maybe?
79
81
80
-
-❗Frankly, [My IK algorithm](https://github.com/mithi/hexapod-robot-simulator/blob/master/hexapod/ik_solver/README.md)isn't all that great, it's just something I came up with based on what I remember back in college plus browsing through the [Mathematics Stack Exchange](https://math.stackexchange.com/). It might not be the best, but it's the most intuitive that I can think of. If you want something closer to the state-of-the-art, maybe checkout [Unity's Fast IK](https://assetstore.unity.com/packages/tools/animation/fast-ik-139972) or [ROS IKFast](http://wiki.ros.org/Industrial/Tutorials/Create_a_Fast_IK_Solution).
82
+
-Honestly, [My IK algorithm](./hexapod/ik_solver/README.md)is just something I came up with based on what I remember back in college plus browsing through the [Mathematics Stack Exchange](https://math.stackexchange.com/). It's just the most intuitive that I can think of. I'm open to hearing other ways to approach this. If you want something closer to the state-of-the-art, maybe checkout [Unity's Fast IK](https://assetstore.unity.com/packages/tools/animation/fast-ik-139972) or [ROS IKFast](http://wiki.ros.org/Industrial/Tutorials/Create_a_Fast_IK_Solution).
81
83
82
-
- I believe that the idea that it's best to be kind to one another shouldn't be controversial. And I shouldn't be afraid to say that. [](https://www.contributor-covenant.org/)
84
+
- I would also love to here new ideas on how to improve the [algorithms currently used](./hexapod/ground_contact_solver/) to find the orientation of the hexapod given we know the orientation of the legs with respect to the body.
85
+
86
+
- I believe that the idea that it's best if we are kind to one another shouldn't be controversial. And I shouldn't be afraid to say that. [](https://www.contributor-covenant.org/)
0 commit comments