CMM-22 / a2

CMM Assignment 2 - Kinematic walking controller
1 stars 0 forks source link

Frequent QnA #2

Open eastskykang opened 2 years ago

eastskykang commented 2 years ago

Q: Is it okay to hard code length of the links for the exercises? A: No. Your implementation should be general for ANY kinematic tree.


Q: The feet of the robot are under the ground when I play the app. A: Once you complete the IK solver, the robot's base and feet will follow the position target.


Q: Do we need to use analytical Jacobian for IK solver? A: No. Let's stick to numerical Jacobian for IK solver.


Q: Can I increase the number of IK iteration? A: Yes. But if you use Gauss-Newton method, 10 will be enough.


Q: (Ex.5) Do I need to generate trajectory considering the terrain height? A: No. Adding offset (ground height) to IK target is just enough. Either way, if your robot walk on the terrain without any problem, we consider it as a successful implementation.


Q: Should I always use hint, or is it just okay to ignore it. A: Of course it's totally fine to ignore hints we provided. But please remember, if your implementation causes some side effects (e.g. some state changes of the robot that was not expected or not intended) although your implementation seemingly do the right thing, you may lose some points. So I strongly recommend you to stick to hints and our guides as much as possible.


Q: Often the knee of the robot snap to the other way as the following image

image

A: We don't take into account joint limit in our IK, so it's very normal. Specifically, if a leg is in near singularity condition (due to too high forward speed command etc.) this can happen. But, if this happens too often, you should do a double check if something wrong in your implementation.


Q: My code crashes. I want to know on which line the code crashes. A: If you build your code in Debug mode and run a debugger, the debugger will let you know on which line the code crashes.

grafik


Q: App is extremely slow... A: Make sure you build and run your code in Release mode.


Q: How does test-a2 work (exercise 4)? A: test-a2 compares the value of each entry of analytic Jacobian and numerical Jacobian (the one computed by the finite difference) for a given robot configuration. If the difference is less than a tolerance, the test code decides the test is passed. Here, we assume your numerical Jacobian (you implemented in Ex.2) is correct. If that's not the case, the test code may fail although your analytic Jacobian is correct.