Task: Get Ground Truth Odometry Data
ysims opened this issue · 3 comments
Note: This task is aimed at people who are not very confident with webots and would like to get familiar with it. This task will give someone experience with webots controllers and supervisors. There is some linear algebra involved - ask your teammates for help if you need it!
This task relates to issue #58 on tests. This is applicable to all tests.
Ground Truth Odometry Data
This task involves creating a new controller which will be the basis for getting ground truth odometry data, and will be used by all tests.
- See this link on how to create a controller.
- You will need to track the
Htw
matrix - that is worldw
to torsot
. The world is defined as the point between the robots legs on the ground at start up. It does not move. Note that the webots simulator has its own world reference point, which I'll callr
. One way to handle this is to record webots world to robot world (Hwr
) at the beginning and keep it stored as a constant. Then you can get the webots world to torso (Htr
) on each time update. By multiplying these (Htr * Hwr.inverse()
) we can getHtw
, the intended matrix. - Check out the NUbook mathematics page for some information about these matrices.
- To get the robot's position relative to the webots world, you will need to use a webots supervisor.
- You will need to do the linear algebra in Eigen. See the vision controller for examples of using Eigen.
- I found it can be useful to look up the functions in the actual code, since all the docs are C functions. ie if you want to know all functions that the supervisor can use in C++, open the webots codebase and open the file
Supervisor.hpp
. Same thing for Nodes and Robots.
Most importantly ask for help if you need it in the webots channel on Slack!
I want to work on this task.
I want to work on this task.
Here is our documentation on getting started. If you wish to make any changes, please make a fork then a pull request.
This good first issue was meant for our current junior members and currently we're focusing on getting ready for Robocup 2021 as the competition is less than a month away. This means that we don't have much resources for helping prospective members.
Also the team is apart of University of Newcastle as described here and is generally aimed towards people that study at UoN.