ar_pose+ceiling camera+calibration file
Hello,
I have a ceiling camera that publishes images in the topic "/camera/image_raw" (working and publishing perfectly through the network). I have also calibrated this camera using openCV calibration procedures and saved this calibration in a .yaml file. I am trying to use ar_pose_multi to get the data published in /ar_pose_marker. When I run:
roslaunch ar_pose ar_pose_multi.launch
it opens rviz simulator and there is the following error:
ERROR: cannot launch node of type [usb_cam/usb_cam_node]: usb_cam
I ignored this error because I dont have usb_cam...I get my images from the ceiling camera (but I dont know if I can ignore this). Finally, I printed a pattern present in /ccny_vision/ar_pose/data/4x4/ and put bellow the camera and I have tried different heights and distances from the camera.
My questions are:
1) I dont want to use the calibration procedure from ROS... Is it possible to use the .yaml calibration file that I already have to feed the topic /camera/camera_info, required by ar_pose_multi?
2) I used rostopic echo with /camera/image_raw and /camera/camera_info and there are data (although calibration has the majority of data without any values), but when I used rostopic echo with /ar_pose_marker there is no output. Do you have any idea about how ar_pose publishes in /ar_pose_marker?
3) Rviz opens normally, but it seems to be completely detached from the camera, so nothing appears on the screen.
I dont know if I have no output because my marker is too small, or my calibration file is wrong, or the usb_cam error is relevant.. I am a little lost :(
================ BEGIN EDIT: Adding more information that can be helpful:
1) I calibrated again the camera using the calibration procedure from ROS and now the calibration is successfully published in "camera/camera_info" topic.
2) the topic "/camera/image_raw" is also OK and I can see the image if I add the component "Image" to Rviz. However with the component "Camera" I have a warning "No Image received"
3) No error is triggered when I run the ar_pose_multi.launch node. But even so, when I put a marker below the camera, nothing happens, no marker seems to be tracked. Also, the topic "/ar_pose_makers" does not presents any value to me.
================ END EDIT
================ BEGIN EDIT: (2)
maybe it is helpful: I am using ROS indigo and Ubuntu 14.04
my ar_pose_multi-launch is:
<launch>
<node pkg="rviz" type="rviz" name="rviz"/>
args="-d $(find ar_pose)/launch/live_single.vcg"/>
<node pkg="tf" type="static_transform_publisher" name="world_to_cam"
args="0 0 0.5 -1.57 0 -1.57 world usb_cam 1" />
<node name="ar_pose" pkg="ar_pose" type="ar_multi" respawn="false" output="screen">
<param name="marker_pattern_list" type="string" value="$(find ar_pose)/data/object_4x4"/>
<param name="threshold" type="int" value="100"/>
</node>
</launch>
The output of rostopic for /camera/camera_info is:
---
header:
seq: 131827
stamp:
secs: 1422538316
nsecs: 930701784
frame_id: /camera
height: 1920
width: 2560
distortion_model: plumb_bob
D: [-0.477363, 0.142675, 0.003122, -0.00082, 0.0]
K: [1294.855301, 0.0 ...
yes, you are right, ar_pose is not subscribing to the image topic. but notice that it is subscribing to a topic that starts with "/usb_cam/" which is weird since it should start with "/camera/". did you manage to get the whole system working with ar_single or not? that was not clear.
checking ar_pose, did you tried to run the demos (as explained in the bottom of the page)? if so, did it work? can you run all the tools (rqt_graph, rosnode info, etc.) to see what are the topics names and the workflow?
Sorry for my delay, I was testing many things with my colleague to put the system to work. But it is still not working. I edited the post (5) with the questions you did...thanks
The problem is now solved. I am using now a usb camera that works OK with the usb_cam driver. Unfortunately I couldn't find the reason for the older camera don't work. I also changed ar_multi.h to publish in /usb_cam/camera_info and /usb_cam/image_raw and rebuilt the project. Thanks.
i'm glad you manage to solve your problem. maybe you can create an answer with the steps to solve the problem, so others can benefit from it.
Sure, I can do that. I will provide a detailed answer soon. Thanks again!