I am trying to use apriltags with a flea3 USB camera by pointgrey. The resolution of the camera is too big and therefore I need to reduce it via the image_pipeline stack of ROS. I can't reduce it through the official SDK FlyCapture (It should be a known problem of the SDK).
Anyway, I use the image_pipeline to decimate the image via the following launch file
After doing this the pose estimated through the apriltag gets wrong, in the sense that I have a z which is 4 times the real one, and the same goes for x and y.
I can solve that by dividing the size of the marker by 4 in the example.launch file which I use to launch the apriltag ros node, which looks like that:
<launch>
<node pkg="apriltags_ros" type="apriltag_detector_node" name="apriltag_detector" output="screen">
<!-- Remap topic required by the node to custom topics -->
<remap from="image_rect" to="/camera_5_drop/image_raw" />
<remap from="camera_info" to="/camera_5_drop/camera_5_info" />
<!-- Optional: Subscribe to the compressed stream-->
<param name="image_transport" type="str" value="compressed" />
<!-- Select the tag family: 16h5, 25h7, 25h9, 36h9, or 36h11(default) -->
<param name="tag_family" type="str" value="36h11" />
<!-- Enable projected optical measurements for more accurate tag transformations -->
<!-- This exists for backwards compatability and should be left true for new setups -->
<param name="projected_optics" type="bool" value="true" />
<!-- Describe the tags -->
<rosparam param="tag_descriptions">[
{id: 0, size: 0.0215},
{id: 1, size: 0.086, frame_id: a_frame},
{id: 2, size: 0.167,frame_id: a_frame},
{id: 3, size: 0.167},
{id: 4, size: 0.167},
{id: 5, size: 0.167}]
</rosparam>
</node>
</launch>
I don't think this is a SOLUTION but just a workaround. Could you please help me to understand this?
I think that the problem has to be found in the binning parameter sent on the camera_info topic. If the apriltags_ros node does not support the camera_info binning parameter , for sure this will not work.
If you look at the camera_info in the case of the original image I have:
Hi everyone,
I am trying to use apriltags with a flea3 USB camera by pointgrey. The resolution of the camera is too big and therefore I need to reduce it via the image_pipeline stack of ROS. I can't reduce it through the official SDK FlyCapture (It should be a known problem of the SDK).
Anyway, I use the image_pipeline to decimate the image via the following launch file
After doing this the pose estimated through the apriltag gets wrong, in the sense that I have a z which is 4 times the real one, and the same goes for x and y.
I can solve that by dividing the size of the marker by 4 in the
example.launch
file which I use to launch the apriltag ros node, which looks like that:I don't think this is a SOLUTION but just a workaround. Could you please help me to understand this?
I think that the problem has to be found in the binning parameter sent on the camera_info topic. If the apriltags_ros node does not support the camera_info binning parameter , for sure this will not work.
If you look at the camera_info in the case of the original image I have:
While for the decimated image is:
EDIT: I posted the same on https://github.com/RIVeR-Lab/apriltags_ros/issues/15, probably it is more appropriate. Feel free to close the issue if you need to. Thanks in advance.