Skip to content

Commit 417761f

Browse files
committed
name changes, started the README
1 parent 3348de3 commit 417761f

32 files changed

+259
-789
lines changed

.gitignore

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
*.npy
22
*.pcd
3-
**/pointclouds/*
4-
**/pointclouds/**/*
5-
**/pointclouds2/*
6-
**/pointclouds2/**/*
3+
**/pointclouds*/*
4+
**/pointclouds*/**/*
75
*.bag

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
# rpad_ros
22
Place where R-pad ROS stuff lives.
3+
4+
http://wiki.ros.org/pcl_ros/Tutorials/filters

calibration.md

-12
This file was deleted.

calibration_overview.png

254 KB
Loading

camera_calibration.md

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Camera Calibration Handbook
2+
3+
A spectre is is haunting robotics - the spectre of calibration.
4+
5+
In this repository, we're gonna focus on
6+
7+
## Overview
8+
9+
![](calibration_overview.png)
10+
11+
[Drive Link](https://docs.google.com/drawings/d/1KTcM1QniX58rSm84I1FFqzv54V7orZXqCRdcAiAHqxo/edit)
12+
13+
## Intrinsics
14+
15+
Note: stock intrinsics on the Kinect are OK - not great, not terrible. However, slight inaccuracies in the calibration cause issues, in particular color bleeding and non-planar surfaces...
16+
17+
Known issue: depth-to-rgb
18+
19+
Check k4aviewer
20+
21+
### RGB Camera
22+
23+
### IR Camera
24+
25+
## Validating Intrinsics
26+
27+
## Extrinsics
28+
29+
### Manual
30+
31+
#### Independent Calibration
32+
33+
#### Calibration adjustment
34+
35+
### easy_handeye
36+
37+
### moveit_calibration
38+
39+
TODO: not really supported...
40+
41+
### Polymetis
42+
43+
### Kalibr
44+
45+
### Idealized Joint Calibration Setup...
46+
47+
## Validating Extrinsics
48+
49+
### Single Camera
50+
51+
### Multi-Camera
52+
53+
54+
55+
56+
57+
Possible future options:
58+
* Perform calibration from rgb_to_depth. The justification here is that if we calibrate to the depth camera's frame, then the error profile will be better aligned with our downstream output (good point clouds). However, it's a bit spotty visually, so apriltags may not be visualized properly.
59+
60+
61+
https://calib.io/blogs/knowledge-base/camera-models
62+
63+
64+
https://rosindustrial.org/3d-camera-survey
65+

launch/README.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
Pipeline for nonsense:
22

33
```
4-
ROS_HOME="`pwd`" roslaunch rpad_ros record_pcs_for_alignment.launch
5-
```
4+
mkdir pointclouds
5+
mkdir 0 1 2 3
6+
ROS_HOME="`pwd`" roslaunch rpad_ros record_table1_pcs_for_calibration_refinement.launch
7+
```
8+

launch/calibrate.launch launch/calibrate_extrinsics_easyhandeye.launch

+5-27
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,6 @@
33
<!-- CAMERA -->
44
<arg name="camera_id" default="0"/>
55

6-
<!-- Cameras:
7-
0: Left of the robot (closest to the computer)
8-
1: Across from the robot
9-
2: Right of the robot
10-
3: Directly next to the robot
11-
-->
12-
<!-- Derive the sensor serial name from the id indexing into this list. It's a bit of a hack.
13-
In a different robot configuration, you'd use something different. -->
14-
<arg name="sensor_sn" default="$(eval '000003493812,000180921812,000059793712,000263392612'.split(',')[arg('camera_id')])"/>
15-
166
<!-- ROBOT -->
177
<!-- Robot arguments. The defaults are for the franka, but you could change. -->
188
<arg name="move_group" default="panda_arm"/>
@@ -31,22 +21,10 @@
3121

3222

3323
<!-- Launch the camera driver -->
34-
<group ns="k4a_$(arg camera_id)">
35-
<include file="$(find azure_kinect_ros_driver)/launch/kinect_rgbd.launch">
36-
<arg name="sensor_sn" value="$(arg sensor_sn)"/>
37-
38-
<!-- Naming. -->
39-
<arg name="tf_prefix" value="k4a_$(arg camera_id)/"/>
40-
41-
<!-- Sensor properties -->
42-
<arg name="color_resolution" value="2160P"/>
43-
<!-- <arg name="color_resolution" value="1080P"/> -->
44-
45-
<!-- ROS node properties. -->
46-
<arg name="required" value="true"/>
47-
<arg name="overwrite_robot_description" value="false"/>
48-
</include>
49-
</group>
24+
<include file="$(find rpad_ros)/launch/launch_rgbd.launch">
25+
<arg name="camera_id" value="$(arg camera_id)"/>
26+
<arg name="synchronized" value="false"/>
27+
</include>
5028

5129
<!-- Launch the tracker. -->
5230
<include file="$(find rpad_ros)/launch/aruco_single.launch">
@@ -58,7 +36,7 @@
5836
</include>
5937

6038
<!-- Launch static publishers which describe the frame of the tag w.r.t. the robot. -->
61-
<include file="$(find rpad_ros)/launch/calibration_frame_publishers.launch" />
39+
<include file="$(find rpad_ros)/launch/tag_mount_publishers.launch" />
6240

6341
<!-- Launch the robot planning scene! -->
6442
<include file="$(find rpad_ros)/launch/table1_planning_scene.launch" />
+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<launch>
2+
3+
<!-- CAMERA -->
4+
<arg name="camera_id" default="0"/>
5+
6+
<!-- FIDUCIAL TAG DETECTION FRAME -->
7+
<arg name="aruco_marker_id" default="581"/>
8+
<arg name="aruco_marker_size" default="0.045"/>
9+
10+
<!-- Launch the camera driver -->
11+
<include file="$(find rpad_ros)/launch/launch_rgbd.launch">
12+
<arg name="camera_id" value="$(arg camera_id)"/>
13+
<arg name="synchronized" value="false"/>
14+
</include>
15+
16+
<!-- Launch the tracker. -->
17+
<include file="$(find rpad_ros)/launch/aruco_single.launch">
18+
<arg name="markerId" value="$(arg aruco_marker_id)"/>
19+
<arg name="markerSize" value="$(arg aruco_marker_size)"/>
20+
<arg name="camera_frame" value="k4a_$(arg camera_id)/rgb_camera_link"/>
21+
<arg name="camera_info_topic" value="/k4a_$(arg camera_id)/rgb/camera_info"/>
22+
<arg name="image_rect_color_topic" value="/k4a_$(arg camera_id)/rgb/image_rect_color"/>
23+
</include>
24+
25+
<!-- Launch static publishers which describe the frame of the tag w.r.t. the robot. -->
26+
<include file="$(find rpad_ros)/launch/tag_mount_publishers.launch" />
27+
28+
<!-- Launch the robot planning scene! -->
29+
<include file="$(find rpad_ros)/launch/table1_planning_scene.launch" />
30+
31+
<!-- Launch rviz with saved stuff. -->
32+
<node type="rviz" name="rviz" pkg="rviz" required="true" args="-d $(find rpad_ros)/launch/rviz/calibrate.rviz" />
33+
</launch>
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<launch>
2+
<!-- CAMERA -->
3+
<arg name="camera_id" default="0"/>
4+
5+
<!-- FIDUCIAL TAG DETECTION FRAME -->
6+
<arg name="aruco_marker_id" default="581"/>
7+
<arg name="aruco_marker_size" default="0.045"/>
8+
9+
<!-- Launch the camera driver -->
10+
<include file="$(find rpad_ros)/launch/launch_rgbd.launch">
11+
<arg name="camera_id" value="$(arg camera_id)"/>
12+
<arg name="synchronized" value="false"/>
13+
</include>
14+
15+
<!-- Launch static publishers which describe the frame of the tag w.r.t. the robot. -->
16+
<include file="$(find rpad_ros)/launch/tag_mount_publishers.launch" />
17+
18+
<!-- Launch the robot planning scene! -->
19+
<include file="$(find rpad_ros)/launch/table1_planning_scene.launch" />
20+
21+
<!-- Launch rviz with saved stuff. -->
22+
<node type="rviz" name="rviz" pkg="rviz" args="-d $(find rpad_ros)/launch/rviz/calibrate_moveit.rviz" />
23+
</launch>

launch/calibrate_intrinsics.launch launch/calibrate_intrinsics_ros.launch

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<arg name="square" default="0.034" />
99
<arg name="ir_mono8_scaling_factor" value="0.05" />
1010

11-
11+
<!-- TODO: decide if this should just be the driver, without the rectification. -->
1212
<group ns="k4a_$(arg camera_id)">
1313
<include file="$(find azure_kinect_ros_driver)/launch/kinect_rgbd.launch">
1414
<arg name="sensor_sn" value="$(arg sensor_sn)"/>

launch/calibrate_manual.launch

-69
This file was deleted.

launch/calibrate_moveit.launch

-69
This file was deleted.

0 commit comments

Comments
 (0)