Skip to content

Conversation

@guilyx
Copy link
Contributor

@guilyx guilyx commented May 17, 2022

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 velocity topic and broadcasts a projected global_frame to base_frame transform. It of cours abstracts all hardware issues and assumes the kinematic model is perfect.

@guilyx guilyx requested review from cmraaron and jcmonteiro May 17, 2022 17:25
@jcmonteiro
Copy link

How do you think this compares to running gzserver in the CI? Maybe we will have use cases for both?

@guilyx
Copy link
Contributor Author

guilyx commented May 17, 2022

This is fine for unit testing methods, gzserver is suited for things that require running the stack imo
Ex: gzserver is good if you need to run a test that needs a map and proper instantiation of the whole stack, this is good for testing minimal things like "when I request rotating 90 degrees, are the commands received actually going to get me to 90 degrees"

@guilyx
Copy link
Contributor Author

guilyx commented May 17, 2022

@SomaGallai fyi the last commit broke the CI but it's still building locally

TanmayDeshmukh
TanmayDeshmukh previously approved these changes May 18, 2022
Copy link

@jcmonteiro jcmonteiro left a 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.

SomaGallai
SomaGallai previously approved these changes May 19, 2022
@SomaGallai
Copy link
Contributor

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.

TanmayDeshmukh
TanmayDeshmukh previously approved these changes May 19, 2022
@guilyx guilyx dismissed stale reviews from TanmayDeshmukh and SomaGallai via 6d1821b May 24, 2022 16:20
Copy link

@jcmonteiro jcmonteiro left a 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.

TanmayDeshmukh
TanmayDeshmukh previously approved these changes May 29, 2022
@guilyx guilyx requested a review from jcmonteiro May 30, 2022 07:42
@guilyx guilyx merged commit a3674c7 into galactic-devel Jun 2, 2022
@guilyx guilyx deleted the feature/basic-robot-sim branch June 2, 2022 14:54
@guilyx guilyx restored the feature/basic-robot-sim branch June 17, 2022 05:23
@arekin19 arekin19 deleted the feature/basic-robot-sim branch November 28, 2023 10:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

6 participants