You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR adds the following samples:
- Hand eye calibration samples based on RoboDK
- Firmware updater
- ROI box via checkerboard
It also formats and standardize all samples.
Copy file name to clipboardExpand all lines: README.md
+18-12Lines changed: 18 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,6 +60,7 @@ from the camera can be used.
60
60
- [camera\_user\_data](https://github.com/zivid/zivid-python-samples/tree/master//source/camera/info_util_other/camera_user_data.py) - Store user data on the Zivid camera.
61
61
- [capture\_with\_diagnostics](https://github.com/zivid/zivid-python-samples/tree/master//source/camera/info_util_other/capture_with_diagnostics.py) - Capture point clouds, with color, from the Zivid camera,
62
62
with settings from YML file and diagnostics enabled.
63
+
- [firmware\_updater](https://github.com/zivid/zivid-python-samples/tree/master//source/camera/info_util_other/firmware_updater.py) - Update firmware on the Zivid camera.
63
64
- [get\_camera\_intrinsics](https://github.com/zivid/zivid-python-samples/tree/master//source/camera/info_util_other/get_camera_intrinsics.py) - Read intrinsic parameters from the Zivid camera (OpenCV
64
65
model).
65
66
- [print\_version\_info](https://github.com/zivid/zivid-python-samples/tree/master//source/camera/info_util_other/print_version_info.py) - Print version information for Python, zivid-python and
-[mask\_point\_cloud](https://github.com/zivid/zivid-python-samples/tree/master//source/applications/advanced/mask_point_cloud.py) - Read point cloud data from a ZDF file, apply a binary
99
100
mask, and visualize it.
101
+
-[roi\_box\_via\_checkerboard](https://github.com/zivid/zivid-python-samples/tree/master//source/applications/advanced/roi_box_via_checkerboard.py) - Filter the point cloud based on a ROI box given relative
-[robodk\_hand\_eye\_calibration](https://github.com/zivid/zivid-python-samples/tree/master//source/applications/advanced/hand_eye_calibration/robodk_hand_eye_calibration/robodk_hand_eye_calibration.py) - Generate a dataset and perform hand-eye calibration
107
+
using the Robodk interface.
103
108
-[utilize\_hand\_eye\_calibration](https://github.com/zivid/zivid-python-samples/tree/master//source/applications/advanced/hand_eye_calibration/utilize_hand_eye_calibration.py) - Transform single data point or entire point cloud from
104
109
camera frame to robot base frame using Hand-Eye
105
110
calibration
@@ -111,43 +116,44 @@ from the camera can be used.
111
116
-**sample\_utils**
112
117
-[display](https://github.com/zivid/zivid-python-samples/tree/master//source/sample_utils/display.py) - Display relevant data for Zivid Samples.
113
118
-[paths](https://github.com/zivid/zivid-python-samples/tree/master//source/sample_utils/paths.py) - Get relevant paths for Zivid Samples.
119
+
-**applications**
120
+
-**advanced**
121
+
- **hand\_eye\_calibration**
122
+
- **robodk\_hand\_eye\_calibration**
123
+
- [robot\_tools](https://github.com/zivid/zivid-python-samples/tree/master//source/applications/advanced/hand_eye_calibration/robodk_hand_eye_calibration/robot_tools.py) - Robot Control Module
*[CLI application][CLI application-url] which takes a collection of pose pairs (e.g. output of steps i.-iii. in [HandEyeCalibration][HandEyeCalibration-url]) and returns a **Transformation Matrix**. This application comes with the Windows installer and is part of the tools deb for Ubuntu.
19
+
*[CLI application][CLI application-url] which takes a collection of pose pairs (e.g. output of steps 1-3 in [HandEyeCalibration][HandEyeCalibration-url]) and returns a **Transformation Matrix**. This application comes with the Windows installer and is part of the tools deb for Ubuntu.
20
+
21
+
-----------------
22
+
23
+
There are two samples that show how to perform acquisition of the hand-eye calibration dataset in this repository.
24
+
Both samples go through the process of acquiring the pose and point cloud pairs and then process them to return the resulting hand-eye **Transform Matrix**.
The second sample uses RoboDK for robot control and can be used with any robot that the software supports.
34
+
The list for the robots that they support can be found [**here**][robodk-robot-library-url].
35
+
Poses must be added by the user to their personal rdk file.
36
+
To find best pose practice follow the instructions provided on the Zivid knowledge base for the [hand-eye calibration process][ZividHandEyeCalibration-url].
20
37
21
38
-----------------
22
39
The following applications assume that a **Transformation Matrix** has been found
@@ -31,27 +48,31 @@ The following applications assume that a **Transformation Matrix** has been foun
31
48
32
49
[**PoseConversions**][PoseConversions-url]:
33
50
34
-
* Zivid primarily operate with a (4x4) Transformation Matrix (Rotation Matrix + Translation Vector). This example shows how to use Eigen to convert to and from:
51
+
* Zivid primarily operate with a (4x4) **Transformation Matrix** (Rotation Matrix + Translation Vector). This example shows how to use Eigen to convert to and from:
Visually demonstrates the hand-eye calibration accuracy by overlapping transformed points clouds.
57
+
40
58
* The application asks the user for the hand-eye calibration type (manual entry).
41
-
* After loading the hand-eye dataset (point clouds and robot poses) and the hand-eye output (transformation matrix), the application repeats the following process for all data pairs:
59
+
* After loading the hand-eye dataset (point clouds and robot poses) and the hand-eye output (**transformation matrix**), the application repeats the following process for all data pairs:
42
60
1. Transforms the point cloud
43
61
2. Finds cartesian coordinates of the checkerboard centroid
44
62
3. Creates a region of interest around the checkerboard and filters out points outside the region of interest
45
63
4. Saves the point cloud to a PLY file
46
64
5. Appends the point cloud to a list (overlapped point clouds)
47
-
This application ends by displaying all point clouds from the list.
48
-
49
65
66
+
This application ends by displaying all point clouds from the list.
Hand-eye calibration is a necessity for any picking scenario that involves a camera and a robot.
4
+
This sample offers an easy and adaptable method to perform hand eye with a variety of robots that are supported in RoboDK.
5
+
6
+
For more on Hand-Eye Calibration, please see the [tutorial](https://support.zivid.com/latest/academy/applications/hand-eye.html) in our Knowledge Base.
7
+
8
+
If you need help with the sample, visit our Knowledge Base article [here](help.zivid.com) (To be updated)
9
+
10
+
This sample is made and modeled with a Universal Robots UR5e robot.
11
+
It is a requirement that you make your own poses that suit your environment.
12
+
If you have a different robot from a UR5e you will need to load in the corresponding robot to your rdk file.
0 commit comments