Skip to content

Conversation

@gmfricke
Copy link
Contributor

@gmfricke gmfricke commented May 5, 2021

Measured the wheel radius and wheel base and updated the wheel encoder node to match.
Noetic displays a timestamp warning for every message that is not later than the last message received. This makes the repl unusable. Added a minimum delta time between publishing to avoid that problem. Still need to figure out the minimum delta. This issue of spamming warnings is under active discussion on the devs github.

Measured the wheel radius and wheel base and updated the wheel encoder node to match.
Noetic displays a timestamp warning for every message that is not later than the last message recieved. This makes the repl unusable. Added a minimum delta time between publishing so avoid that problem. Still need to figure out the minimum delta. This issue of spamming warnings is under active discussion on the devs github.
@gmfricke gmfricke requested a review from abbypribis May 5, 2021 19:02
@Carter90
Copy link
Contributor

Carter90 commented May 5, 2021

@Carter90
Copy link
Contributor

Carter90 commented May 5, 2021

I'm concerned about the timing in the driver it is making decisions at 10hz and I've considered moving that up to 100hz so the odom only being every second will cause issues.
might need to agree on timing for the robot with constraints limited by the sensors

@gmfricke
Copy link
Contributor Author

gmfricke commented May 5, 2021 via email

@gmfricke
Copy link
Contributor Author

gmfricke commented May 5, 2021 via email

@Carter90
Copy link
Contributor

Carter90 commented May 7, 2021

Agreed - we can set the encoder to update at any rate you want.

Lets try 10hz for this PR and see how it goes

@gmfricke
Copy link
Contributor Author

gmfricke commented May 7, 2021

Uncomment wheel_encoders in SC2/src/scoot/launch/scoot.launch



# Check that sufficient time has passed to avoid duplicate time stamps
if dt < 1: # Requre at least 1 second to have passed between function execution
Copy link
Contributor

Choose a reason for hiding this comment

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

Lets try at most a 10th of a second

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The minimum time delta between messages is now 1/10th sec. Strangely the odom estimate is much worse when the update rate is changed from 1/10 s. :(

For some reason the pose handler for the wheels is in degrees so had to add a conversion to radians (this must be new)
The IMU's yaw is offset from the rover by 45 degrees

Had to add a factor of 2pi. I can see no reason why this was needed but results in a usable wheel encoder.
@abbypribis
Copy link
Contributor

How should I test this pull request?

@gmfricke
Copy link
Contributor Author

gmfricke commented Jun 4, 2021 via email

@abbypribis
Copy link
Contributor

Everything runs well on my end - I don't have a good intuition on how well the odometry should perform. Once Carter's recommendations are implemented, I can approve.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants