Closed a-uhlig closed 10 months ago
What do you think about adding this here as well?
I only published the transformation on the tf
topic as you will need it to connect different transformation trees. I think it is redundant to publish the same pose on multiple topics. I originally intended that the custom AprilTag messages (AprilTagDetection.msg
) are used for debugging/visualisation or for some low-level usage when you are only interested in the homography.
We could still discuss which message type is useful. Originally a geometry_msgs/PoseWithCovarianceStamped is used. But there is no coraiance and the stamp is already in the general msg header. Apart from compatibility reasons I think a geometry_msgs/Transform would make sense.
Adding a WithCovarianceStamped
type of message does not make sense to me if we do not set or use the covariance. A geometry_msgs/Transform
or geometry_msgs/Pose
make more sense. I am already creating a geometry_msgs/TransformStamped
for the tf
topic. We could reuse this message, as it also contains the child_frame_id
, but then the header
would be redundant again.
For me it is easier to create a callback to a Topic than to look for the TFs (in the subscriber node in matlab).
Does Matlab not offer a similar TF buffer system like the C/C++ and Python API? You can always subscribe directly to the tf
topic and filter based on the "parent frame" via the frame_id
in the header
and the child_frame_id
that contains the name of the tag.
Yes, you are right it would be redundant. But depending on the application, different formats may come in handy.
I think Matlab has the same API. But I am still not sure how to solve this properly.
If I use lookupTransform
I have to poll the whole time to get a new tf immediately. If I use a subscriber callback
for the tf topic, I have a lot of overhead callbacks with tfs i do not need.
I'm not sure, maybe I'm missing something but both variants don't convince me.
Instead of adding the transformation to the AprilTagDetection.msg
, we could also create a new topic (E.g. tag_pose
as geometry_msgs/TransformStamped
. This has the advantage that we can select it via parameter and don't have to change the AprilTagDetection.msg
.
If you are interested I could write a PR.
If I use a
subscriber callback
for the tf topic, I have a lot of overhead callbacks with tfs i do not need.
If you do not need the tag poses on the tf
topic, you can simply remap the tf
topic for the apriltag_node
to something else and subscribe to this, to just get the published tag poses. Otherwise, you can still remap the topic to get the filtered topics and then relay the remapped topic back to the tf
topic using the "topic tools": https://github.com/ros-tooling/topic_tools/blob/main/README.md#relay
Hello, it's me again.
I miss getting the pose of the tags as a message. In ROS1 the Pose is included in the AprilTagDetection message. Here is only a TF available. What do you think about adding this here as well?
For me it is easier to create a callback to a Topic than to look for the TFs (in the subscriber node in matlab).
We could still discuss which message type is useful. Originally a geometry_msgs/PoseWithCovarianceStamped is used. But there is no coraiance and the stamp is already in the general msg header. Apart from compatibility reasons I think a geometry_msgs/Transform would make sense.
Thanks, Andreas