GuiRitter / OpenBase

An omnidirectional mobile platform with a 3 omnidirectional wheels layout
MIT License
142 stars 45 forks source link

Kinematics Equations question #18

Closed AltziTS007 closed 4 years ago

AltziTS007 commented 4 years ago

Hi there!

First of all, you did nice work with your project well done! Can you explain how you ended up in those 3 equations Vx, Vy, w because I ended up with

Inkeddirkine_LI

Thank you and sorry for my english.

GuiRitter commented 4 years ago

Hi!

Thanks for your kind words!

I'll try to explain using the references contained in this project's README.md.

The first time I learned about these equations, I mostly based myself on the equations in [4] but, what Borenstein et. al. called V3, V1 and V2, I called V1, V2 and V3, respectively, except for the fact that my robot is mirrored: their V1 is the front of their robot, while my V2 is the rear of the robot.

You can derive the equations for Vx, Vy and ωp by using a system of equations. I can't tell you exactly how because I myself don't know the right way to do it. The reason is because I know that, if done incorrectly, solving a system of equations generates nonsense results.

When I worked on these equations, I used Maxima to solve them for me. I used solve([V1=..., V2=..., V3=...], [Vx, Vy, ωp]) and it worked like a charm.

I tried this manually and it worked, though (considering my equations for V1, V2 and V3):

  1. Let's call the equations for V1, V2 and V3 as E1, E2 and E3, respectively.
  2. From E2, isolate ωp. Call it E4.
  3. Replace ωp in E1 using E4. Call it E5.
  4. Replace ωp in E3 using E4. Call it E6.
  5. From E5, isolate Vx. Call it E7.
  6. From E6, isolate Vy. Call it E8.
  7. Replace Vy in E7 using E8. Call it E9.
  8. Isolate Vx in E9. Now you have Vx dependant of V1, V2 and V3 only and it matches the equation I provided.

Most likely you done some small mistake in the manual solution. One thing that works even better is to use the matrix form for these equations. This is explained in more detail in [5], but mostly you only need equation (2) on section 2.1.

If you still need help, I can try to make it clearer and type the equations here in full LaTeX glory, but that will take some time.

Otherwise, if it's all clear, you can close the issue.

Your English is fine, by the way!

AltziTS007 commented 4 years ago

Fantastic! you helped me a lot! Thank you for your time, and keep up your great work!