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

automated robot moving to collect data for camera in hand configuration and ROS based api #23

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Ruthrash
Copy link
Collaborator

@Ruthrash Ruthrash commented Apr 5, 2023

usage:
python3 ROSCameraRobotCalibration.py --move_robot_automatically True --use_delta_poses False/True ....other args...

@kouroshD kouroshD requested a review from n-yoshikawa April 12, 2023 16:05
@n-yoshikawa
Copy link
Collaborator

n-yoshikawa commented Apr 12, 2023

I tested the calibration script.

What I did

  1. Start bash script
cd /root/git/frankapy
bash ./bash_scripts/start_control_pc.sh -i 172.16.0.4 -u sf3202inuc -d /root/git/franka-interface -a 172.16.0.2 -w 172.16.0.3
  1. Start camera based on a previous comment at Test camera in environment calibration #22 (comment)
roslaunch realsense2_camera rs_camera.launch filters:=pointcloud enable_infra1:=false enable_infra2:=false
  1. Start end-effctor tf (for customized gripper)
cd ~/git/frankapy/catkin_ws/src/franka_control
python3 ee_robotiq_transformation.py
  1. Start calibration
python3 ROSCameraRobotCalibration.py --move_robot_automatically True --robot_base_frame_name /panda_link0 --ee_frame_name /virtual_eef_link --rgb_image_topic /camera/color/image_raw --rgb_camera_info_topic /camera/color/camera_info

Result

  • The robot moved automatically
  • The camera looked working because reprojection error was calculated
  • The automatic pose was not suitable for our custom gripper that is parallel to table
  • Problem 1: reprojection error was too high at some poses (maybe because I could not take enough distance between gripper and markers)
reprojection error 0.4223259860582057
#### Very high reprojection error ####
#### Ignoring this sample ####
  • Problem 2: ArUco tag was not detected in many poses because camera was not oriented to the markers.
No aruco tag detected in this sample
accepted pairs of pose, no. of frames processed 0 4
  • As a result, I could not get a calibration value and evaluate its correctness.

Setup

PXL_20230412_203205813

@n-yoshikawa
Copy link
Collaborator

n-yoshikawa commented May 2, 2023

after truying the autoamtic calibration from the reset_arm confgituration, we had the following observations:

  • some times the robot ee was not pointing toward the borad, i.e., maybe those intermediate waypoints should be updated.
  • We tried two times and in both times the robot reached a joint limit and therefore stopped moving. here is a photo of the robot in joint limit:
  • it would be nice to print the following as a user feedback while running automatic trajectory: waypoint X/Y so that the user knows when to expect to finish the data collection.

images of two scenarios robot reacing joint limits:
image
image

@n-yoshikawa
Copy link
Collaborator

n-yoshikawa commented May 2, 2023

as we discussed we started the robot from another configuration, as shown below, and right after starting the robot goes to initial reset configuration and starts moving. So, regardless of initial configuration set by user, the robot always goes to reset configuration. However this is different from what we have discussed in the meeting and we were expecting, but we think it is safer to be this way, since the robot motion is quite wide. So, for different robot, maybe it is safer the user moves the robot ee.


initial configuration:
image

image

image

@n-yoshikawa
Copy link
Collaborator

There should be a photo with inidication of distances from the robot for the user, so that they know where to place the apriltag board.

Comment on lines +143 to 144
2.a. If you are using relative poses, the robot will move relative to the initial end-effector configuration when you start the script, therefore, before starting frankapy, point the camera(camera in hand case) or the calibration tag(camera in environment case) to the calibration tag or the camera respectively. Ensure, the calibration tag's normal is close to perpendicular to the camera and there's around ~30cm between the tag and the camera.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How can we enable relative poses? Mayebe we can say the option that should be True to use relative pose.

@@ -187,6 +190,9 @@ optional arguments:
is first manually moved to an initial pose and the script controls EE to
predefined relative poses. If false, the EE should be moved manually(white
status LED) and press enter to collect data
--use_delta_poses [USE_DELTA_POSES]:True(default)/False
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it the same as using relative poses?

Comment on lines +42 to 43
For the camera-in-environment case, the calibration tag needs to be **rigidly** attached to the robot's End-Effector. You could use the provided CAD files for the finger tips and gripping points in [models_4_3d_printing](../models_4_3d_printing). The [finger tips](../models_4_3d_printing/franka_custom_finger_tips.stl) are to be attached to Franka End-effector and the [gripping points](../models_4_3d_printing/finger_grasp_points.stl) or [handle plate](../models_4_3d_printing/finger_handle_plate.stl) are drilled/screwed onto the calibration tag. Now make the Franka End-effector with custom finger tips(figure 1) grasp the calibration tag(as show in figure 3) with the attached custom gripping points(figure 2), this ensures that the tag remains rigid with respect to the End-effector.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Images can be helpful to show the configuration that you are refering to.

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

Successfully merging this pull request may close these issues.

3 participants