- Notifications
You must be signed in to change notification settings - Fork 2
Feature: Basic Robot Simulator #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| How do you think this compares to running gzserver in the CI? Maybe we will have use cases for both? |
| This is fine for unit testing methods, gzserver is suited for things that require running the stack imo |
| @SomaGallai fyi the last commit broke the CI but it's still building locally |
jcmonteiro left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would approve if not for the #include syntax. It is a detail, but we should keep it consistent so that others copy the correct syntax when using this code as reference.
| When this gets merged, can you create a new tag please. https://github.com/cmrobotics/odom_tf_publisher/pull/1 is failing due to tests_utils not being up-to-date. |
jcmonteiro left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The PR is looking really good! I just made some small comments to help improve it a little bit, but you could even see them as optional.
To document what we briefly talked about, I would favor passing ros::Time and ros::Duration objects or plain std::chrono whenever time variables are used. This is to prevent a developer messing up the function call. For example, thinking the function receives a uint64_t value in milliseconds when it actually is a double value in seconds.
Purpose
There are a fair amount of untested packages, because we had no ways to simply emulate the movements of a robot. (i.e.
docking_controller,relative_move...)Approach
Here I developed a Node that listens to a
velocitytopic and broadcasts a projectedglobal_frametobase_frametransform. It of cours abstracts all hardware issues and assumes the kinematic model is perfect.