IFL-CAMP / easy_handeye

Automated, hardware-independent Hand-Eye Calibration
Other
865 stars 217 forks source link

Error processing request: "camera_marker" passed to lookupTransform argument source_frame does not exist. #51

Closed honggesmile closed 4 years ago

honggesmile commented 4 years ago

I use the pachage easy_handeye.when I clicked "take sample",error occured:"[ERROR] [1575441599.802618]: Error processing request: "camera_marker" passed to lookupTransform argument source_frame does not exist. " have anyone help me ? Thanks very much. note:I use realsense D435 and elfin Robot. my launch file is in here:

ayeyemeng commented 4 years ago

Open the rqt-image-view through plugin while calibrating? However, this did not work with my things but you can make a try

desstiony commented 4 years ago

Hello i encountered the same error, did you fix it?

marcoesposito1988 commented 4 years ago

Hi @honggesmile,

is the marker visible to the camera, and detected? Working marker tracking is a prerequisite for running the calibration.

desstiony commented 4 years ago

Hi @honggesmile,

is the marker visible to the camera, and detected? Working marker tracking is a prerequisite for running the calibration.

The marker is visible to the camera and is detected because you can see that the coordinate system is displayed Error screenshot Error screenshot

marcoesposito1988 commented 4 years ago

If you look at the logs, you can see that there is some problem with tf. It is discarding some data because it is apparently too old. Maybe some component is not using the ROS time for the timestamps?

In your case, the calibration can only work when this works: rosrun tf tf_echo camera_color_optical_frame camera_marker since it is what easy_handeye is doing in the background.

desstiony commented 4 years ago

If you look at the logs, you can see that there is some problem with tf. It is discarding some data because it is apparently too old. Maybe some component is not using the ROS time for the timestamps?

In your case, the calibration can only work when this works: rosrun tf tf_echo camera_color_optical_frame camera_marker since it is what easy_handeye is doing in the background.

Thank you for your answer, I have solved my problem, I separate the work in the launch file to run separately; 1. start the robot arm, 2. run realsense, 3. start single under ArUco, 4. start easy_handeye The tf of camera_color_frame and maker_frame were successfully established, but when single and easyhand under ArUco were started in a launch file, the tf relationship between camera_color_frame and maker_frame could not be established. I don't understand what caused it. xarm_realsense_calibration.launch single.launch

marcoesposito1988 commented 4 years ago

This is bizarre. You may try my new ArUco wrapper, and see if that helps.

Exchizz commented 4 years ago

I had the same error - Error processing request: "camera_marker" passed to lookupTransform argument source_frame does not exist. When looking at the /aruco_tracker/result image, I could see the markerid of the marker I'm using. It was not the same as specified in my launch file.

I could have been nice if the tracker-node was saying something like "Detected marker 545, expected 3".....

marcoesposito1988 commented 4 years ago

This seems to be a configuration problem. Thanks for the observation, @Exchizz! I will try to do this in easy_aruco.