Skip to content
This repository was archived by the owner on Feb 3, 2023. It is now read-only.

Turns shortest angle in OdomChassisController#485

Merged
Octogonapus merged 19 commits into
OkapiLib:masterfrom
jazonshou:master
Jun 8, 2022
Merged

Turns shortest angle in OdomChassisController#485
Octogonapus merged 19 commits into
OkapiLib:masterfrom
jazonshou:master

Conversation

@jazonshou
Copy link
Copy Markdown
Contributor

Description of the Change

OdomChassisController will now turn the shortest turn when turnToAngle is called.

Motivation

Currently, turnToAngle will only turn clockwise. For example, if I wanted to turn to 270_deg, it would turn 270 degrees clockwise instead of turning 90 degrees counterclockwise.

Possible Drawbacks

None that I can think of right now

Verification Process

The turnToPoint function uses a similar method of constraining the desired turn angle to [-180, 180], and it works, so this change for turnToAngle should work too.

Applicable Issues

#468

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2022

Codecov Report

Merging #485 (b27ee15) into master (d92f307) will decrease coverage by 0.26%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #485      +/-   ##
==========================================
- Coverage   89.36%   89.11%   -0.26%     
==========================================
  Files         139      139              
  Lines        6140     6143       +3     
==========================================
- Hits         5487     5474      -13     
- Misses        653      669      +16     

@Octogonapus
Copy link
Copy Markdown
Member

Please allow edits from maintainers.

@jazonshou
Copy link
Copy Markdown
Contributor Author

Please allow edits from maintainers.

They should be allowed....

@Octogonapus
Copy link
Copy Markdown
Member

I get this error when pushing to your branch

To github.com:Ryan4253/OkapiLib.git
 ! [remote rejected]   HEAD -> master (permission denied)
error: failed to push some refs to 'github.com:Ryan4253/OkapiLib.git'

@jazonshou
Copy link
Copy Markdown
Contributor Author

To github.com:Ryan4253/OkapiLib.git

That's odd. I'm trying to merge changes from Yessir120/OkapiLib. Is it possible that there is a problem on my side?

@Octogonapus
Copy link
Copy Markdown
Member

I'm not convinced the PR is set up correctly, but regardless, it's now just faster for me to request changes instead

Copy link
Copy Markdown
Member

@Octogonapus Octogonapus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please also add a test. Like this one:

diff --git a/test/defaultOdomChassisControllerTest.cpp b/test/defaultOdomChassisControllerTest.cpp
index f4de0276..faf0a8f9 100644
--- a/test/defaultOdomChassisControllerTest.cpp
+++ b/test/defaultOdomChassisControllerTest.cpp
@@ -158,6 +158,11 @@ TEST_F(DefaultOdomChassisControllerTest, TurnAboveThreshold) {
   EXPECT_EQ(controller->lastTurnAngleTargetQAngle, 6_deg);
 }
 
+TEST_F(DefaultOdomChassisControllerTest, BoundTurn) {
+  drive->turnToAngle(270_deg);
+  EXPECT_EQ(controller->lastTurnAngleTargetQAngle, -90_deg);
+}
+
 TEST_F(DefaultOdomChassisControllerTest, SetStateTest) {
   auto stateBefore = drive->getState();
   assertOdomStateEquals(0, 0, 0, stateBefore);

Comment thread include/okapi/api/chassis/controller/chassisController.hpp Outdated
Comment thread include/okapi/api/chassis/controller/chassisController.hpp Outdated
@Octogonapus Octogonapus merged commit 92982dd into OkapiLib:master Jun 8, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants