Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Cannot calibrate from current position", how solve this problem ? #64

Open
makangzhe opened this issue Oct 21, 2020 · 9 comments
Open

Comments

@makangzhe
Copy link

makangzhe commented Oct 21, 2020

In the gui rqt_easy_hand_eye,when i click "check starting pose " ,it return "Cannot calibrate from current position " . i try alter my origanal pose ,but it not work . help me please!!!

@makangzhe
Copy link
Author

i am using old version .

@makangzhe
Copy link
Author

this is my launch file

<arg name="robot_ip" doc="The IP address of the UR5 robot" default="192.168.0.100" />

<arg name="marker_size" doc="Size of the ArUco marker used, in meters" default="0.08"/>

<arg name="marker_id" doc="The ID of the ArUco marker used" default="100"/>



<!-- start ArUco -->
<node name="aruco_tracker" pkg="aruco_ros" type="single">
    <remap from="/camera_info" to="/camera/color/camera_info" />
    <remap from="/image" to="/camera/color/image_raw" />
    <param name="image_is_rectified" value="true"/>
    <param name="marker_size"        value="$(arg marker_size)"/>
    <param name="marker_id"          value="$(arg marker_id)"/>
    <param name="reference_frame"    value="camera_link"/>
    <param name="camera_frame"       value="camera_color_optical_frame"/>
    <param name="marker_frame"       value="camera_marker" />
</node>

<!-- start the robot -->
<include file="$(find aubo_i5_moveit_config)/launch/moveit_planning_execution.launch">
    <arg name="sim" value="false" />
    <arg name="robot_ip" value="192.168.0.100" />
</include>

<!-- start easy_handeye -->
<include file="$(find easy_handeye)/launch/calibrate.launch" >
    <arg name="namespace_prefix" value="$(arg namespace_prefix)" />
    <arg name="eye_on_hand" value="true" />

    <arg name="tracking_base_frame" value="camera_link" />
    <arg name="tracking_marker_frame" value="camera_marker" />
    <arg name="robot_base_frame" value="base_link" />
    <arg name="robot_effector_frame" value="wrist3_Link" />

    <arg name="freehand_robot_movement" value="false" />
    <arg name="robot_velocity_scaling" value="0.5" />
    <arg name="robot_acceleration_scaling" value="0.2" />
</include>

@makangzhe makangzhe changed the title when i click "next pose" and then "plan", the program is broken. "Cannot calibrate from current position", how solve this problem ? Oct 22, 2020
@makangzhe
Copy link
Author

@marcoesposito1988

@marcoesposito1988
Copy link
Collaborator

marcoesposito1988 commented Oct 23, 2020

Hello @makangzhe,

I added a configuration for the aubo i5 robot to easy_handeye_demo; you can find it here.

I did not have any problems calibrating with the simulator. Can you also try it? (I used the latest master of easy_handeye)

If you have problems with the simulator as well, please try another starting position for the robot.

Otherwise, please check that you can move the robot with MoveIt and pay attention to the easy_handeye logs, to see if there are problems in the connection between easy_handeye and MoveIt.

@lucamarchionna
Copy link

Hi everyone, I am experiencing the same problem. Basically, I have launched all the needed files to perform calibration, according to the step you described. However, when I click on the 'check starting pose' button, it returns "Cannot calibrate from current position". For sure, I am skipping some important steps but I don't know which one. In addition, I am able to successfully move the robot within RViZ.
Below, you can find the launch file and a photo of the result.

Photo:
forum_easyendeye

Launch file:
forum_launch

@marcoesposito1988
Copy link
Collaborator

Sorry, just saw this; the answer is here

@lucamarchionna
Copy link

Thank you for the reply @marcoesposito1988 . I have just checked different random positions in MoveIT and the check starting pose always fails.

I am performing the setup in simulation moving the camera by hand- not together with robot end-effector- just to see if a starting pose is available. By the way, what is the argument to reduce the rotations and translation?

In addition, I saw that 'freehand_robot_movement' is present, but I don't know how it works. Can you explain what this is, please? Thank you in advance.

@marcoesposito1988
Copy link
Collaborator

You can find the arguments related to the automatic robot movement here

freehand_robot_movement will disable the robot movements GUI, so it won't try to connect to an existing MoveIt group and it won't clutter your logs with errors if it doesn't succeed. You still need a robot_state_publisher running to have the pose of the base and effector frames in tf for the whole thing to work though.

rotation_delta_degrees and translation_delta_meters specify how far apart the calibration poses should be from the starting pose.

Is the description of your robot public? If so, I can maybe take a look at it and try to figure out why the IK is failing

@lucamarchionna
Copy link

Great documentation for this package, congrats. Thus, the /joint_states publishes its pose and seems to work. I cannot detect which could be the error although it is still present. It would be great if you can check. I am using e.Do robot, here the robot description package: https://github.com/Pro/edo_gripper_moveit

Thanks again for your support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants