-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
5This issue is good for people with a decent to strong familiarity of the code baseThis issue is good for people with a decent to strong familiarity of the code baseRobot Software TeamTeam responsible for robot code updatesTeam responsible for robot code updatesenhancementNew feature or requestNew feature or request
Description
Add unit tests paired to FollowerOdometry to make sure our math is correct.
Tests should instantiate a FollowerOdometry class, and call the update function with respective encoder and gyro values.
Test cases should have encoders in simple locations (ex. directly behind and to the left/right of center), but some simple test cases should be made with off-center locations of encoders).
- Add a class in the kinematics test folder (test_FollowerOdometry.cpp)
- Create test case with x displacement only and make sure Pose is correct
- Create test case with y displacement only and make sure Pose is correct
- Create test case with gyro displacement only and make sure Pose is correct
- Create test case where x and y displacement are changing (no gyro), following a diagonal pattern ((0, 0) -> (10, 10))
- Create test case where x, y, and gyro displacement are changing following a c-curve ((0, 0) -> (5, 5) -> (10, 0)) in an ARC by calling update 5-10 times. Make sure the robot is facing tangent to the curve
- [Nice to have] Create test case where x, y, and gyro displacement are changing, following a diagonal pattern ((0, 0) -> (10, 10)) where the robot starts pointing forward (pi / 2) and ends pointing backwards (-pi / 2). Call update 5-10 times (turning 18 degrees each time)
- Create simple test cases where the sensors aren't in simple locations (far corner of a robot)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
5This issue is good for people with a decent to strong familiarity of the code baseThis issue is good for people with a decent to strong familiarity of the code baseRobot Software TeamTeam responsible for robot code updatesTeam responsible for robot code updatesenhancementNew feature or requestNew feature or request