Skip to content

Commit

Permalink
update calibration and download info
Browse files Browse the repository at this point in the history
  • Loading branch information
hanzheteng committed Oct 28, 2023
1 parent 435ea21 commit 2c5da61
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 8 deletions.
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ CitrusFarm is a multimodal agricultural robotics dataset that provides both **mu

**Authors:** Hanzhe Teng, Yipeng Wang, Xiaoao Song and Konstantinos Karydis from [ARCS Lab](https://sites.google.com/view/arcs-lab/) at [UC Riverside](https://www.ucr.edu/).

**Videos:** Will be posted once available.

**Related Publications:**
H. Teng, Y. Wang, X. Song and K. Karydis, "Multimodal Dataset for Localization, Mapping and Crop Monitoring in Citrus Tree Farms", in the 18th International Symposium on Visual Computing (ISVC 2023). ([preprint](https://arxiv.org/abs/2309.15332))
```
Expand Down
24 changes: 23 additions & 1 deletion docs/calibration.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,26 @@ In summary, these extrinsic parameters are obtained by four steps:
For details regarding how we performed these calibration steps, please refer to our paper or the README file in the calibration data folder.

## Intrinsic Parameter Calibration
TBD.
### Camera Specifications

| Camera | Modality | Shutter | Rate | Resolution | H-FOV | Bit Depth | Channel |
|------------------|---------------|---------|-------|-------------|-------|-----------|---------|
| FLIR Blackfly | Monochrome | Global | 10 Hz | 1440 x 1080 | 72° | 8 | 1 |
| FLIR ADK | Thermal | Global | 10 Hz | 640 x 512 | 65° | 8 | 1 |
| Stereolabs Zed2i | Stereo RGB | Rolling | 10 Hz | 1280 x 720 | 102° | 8 | 3 x 2 |
| Stereolabs Zed2i | Depth | Rolling | 10 Hz | 1280 x 720 | 102° | 32 | 1 |
| Mapir Survey3 | Red-Green-NIR | Rolling | 10 Hz | 1280 x 720 | 85° | 8 | 3 |

Note: Although most cameras can support up to 30 Hz or 60 Hz frame rate, we operate
them at 10 Hz to match LiDAR’s operating rate (and also save storage space).

### Camera Intrinsics
In Kalibr toolbox, the calibration of intrinsic parameters and extrinsic parameters are performed jointly in the nonlinear optimization process. Therefore, the intrinsic parameters of all four cameras are obtained together with their extrinsic parameters in the Multi-camera calibration step.

This file contains all the results: [[01] multi-cam-camchain.yaml](https://ucr-robotics.s3.us-west-2.amazonaws.com/citrus-farm-dataset/Calibration/results/[01]%20multi-cam-camchain.yaml) (included in the Calibration folder of this dataset)

### IMU Intrinsics
The intrinsic parameter calibration of IMU is performed by using this Github repo: [allan_variance_ros](https://github.com/ori-drs/allan_variance_ros).
The calibration result is [microstrain_gx5.yaml](https://ucr-robotics.s3.us-west-2.amazonaws.com/citrus-farm-dataset/Calibration/config/microstrain_gx5.yaml) (included in the Calibration folder of this dataset).

Feel free to [reach out to us](about.html) or open a new issue on the [Github repo](https://github.com/UCR-Robotics/Citrus-Farm-Dataset) if you have any further questions.
42 changes: 40 additions & 2 deletions docs/download.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The primary data format we used in data collection is [ROS bags](http://wiki.ros

You may download only those ROS bags that are of your interest. After download, simply place these ROS bags in the same folder and run `rosbag play *.bag`. ROS will automatically arrange the data across all bags and sequence the playback according to their timestamps.

To accomodate users from diverse application domains, we also provide a Python script that can extract data from rosbags and save them as indivisual files (images, pcd, csv files). See [tools](tools.html) for more information.
To accommodate users from diverse application domains, we also provide a Python script that can extract data from rosbags and save them as individual files (images, pcd, csv files). See [tools](tools.html) for more information.

## Folder Structure
```
Expand Down Expand Up @@ -55,4 +55,42 @@ Alternatively, you may download the dataset from two other backup sources:
- Baidu Pan (TODO)

## ROSbag Info
TBD.

| ROS Bag | ROS Topic | Msg Type | Sensor |
|----------------|-------------------------------------------|-----------------------------------------|----------------|
| adk_*.bag | /flir/adk/image_thermal | sensor_msgs/Image | Thermal Camera |
| | /flir/adk/time_reference | sensor_msgs/TimeReference | Thermal Camera |
| base_*.bag | /microstrain/imu/data | sensor_msgs/Imu | IMU |
| | /microstrain/mag | sensor_msgs/MagneticField | IMU |
| | /piksi/navsatfix_best_fix | sensor_msgs/NavSatFix | GPS-RTK |
| | /piksi/debug/receiver_state | piksi_rtk_msgs/<br>ReceiverState_V2_4_1 | GPS-RTK |
| | /velodyne_points | sensor_msgs/PointCloud2 | LiDAR |
| blackfly_*.bag | /flir/blackfly/cam0/image_raw | sensor_msgs/Image | Mono Camera |
| | /flir/blackfly/cam0/time_reference | sensor_msgs/TimeReference | Mono Camera |
| mapir_*.bag | /mapir_cam/image_raw | sensor_msgs/Image | R-G-NIR Camera |
| | /mapir_cam/time_reference | sensor_msgs/TimeReference | R-G-NIR Camera |
| odom_*.bag | /gps/fix/odometry | nav_msgs/Odometry | GPS-RTK |
| | /jackal_velocity_controller/odom | nav_msgs/Odometry | Wheel Odometry |
| zed_*.bag | /zed2i/zed_node/confidence/confidence_map | sensor_msgs/Image | Zed camera |
| | /zed2i/zed_node/depth/camera_info | sensor_msgs/CameraInfo | Zed camera |
| | /zed2i/zed_node/depth/depth_registered | sensor_msgs/Image | Zed camera |
| | /zed2i/zed_node/imu/data | sensor_msgs/Imu | Zed camera |
| | /zed2i/zed_node/imu/mag | sensor_msgs/MagneticField | Zed camera |
| | /zed2i/zed_node/left/camera_info | sensor_msgs/CameraInfo | Zed camera |
| | /zed2i/zed_node/left/image_rect_color | sensor_msgs/Image | Zed camera |
| | /zed2i/zed_node/pose | geometry_msgs/PoseStamped | Zed camera |
| | /zed2i/zed_node/right/camera_info | sensor_msgs/CameraInfo | Zed camera |
| | /zed2i/zed_node/right/image_rect_color | sensor_msgs/Image | Zed camera |

Notes about the three GPS-RTK data types:
- `/piksi/navsatfix_best_fix` is the raw RTK data recorded in the fixed mode;
- `/piksi/debug/receiver_state` is the debugging data to show info such as number of satellites;
- `/gps/fix/odometry` is the post-processed data (via WGS84) that can serve as the **ground-truth trajectories**.
- Lastly, we ensured that the GPS-RTK system was always operating in the fixed mode (more accurate than the floating mode) in all experiments, thanks to the high-gain antennas.

Notes about time synchronization:
- `/*/time_reference` recorded the hardware clock time of cameras if available, in case they are useful at some point. In general, you can ignore this topic unless you know what you are doing.
- In experiments, we have observed that using hardware clock time of each camera can result in larger drift, since these cameras are of different kinds/types (with distinct crystal oscillators, some are running faster while others slower).
- Ideally, for the best performance, we shall have hardware synchronization on professional cameras that provide an interface to connect to an external reference clock. In our case, using software time (ROS time) is also fine.

Please see [Calibration](calibration.html) for more information regarding sensor setup, camera specifications, intrinsic and extrinsic parameters.
2 changes: 0 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ CitrusFarm is a multimodal agricultural robotics dataset that provides both **mu

**Authors:** Hanzhe Teng, Yipeng Wang, Xiaoao Song and Konstantinos Karydis from [ARCS Lab](https://sites.google.com/view/arcs-lab/) at [UC Riverside](https://www.ucr.edu/).

**Videos:** Will be posted once available.

**Related Publications:**
H. Teng, Y. Wang, X. Song and K. Karydis, "Multimodal Dataset for Localization, Mapping and Crop Monitoring in Citrus Tree Farms", in the 18th International Symposium on Visual Computing (ISVC 2023). ([preprint](https://arxiv.org/abs/2309.15332))
```
Expand Down
14 changes: 13 additions & 1 deletion docs/tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,16 @@ layout: article
title: Tools
---

TBD.
## Python Scripts
Dataset-related scripts:
- [gen_dataset_file_list.py](https://raw.githubusercontent.com/UCR-Robotics/Citrus-Farm-Dataset/main/scripts/gen_dataset_file_list.py) To generate file list for this dataset
- [download_citrusfarm.py](https://raw.githubusercontent.com/UCR-Robotics/Citrus-Farm-Dataset/main/scripts/download_citrusfarm.py) To help download this dataset
- bag2files.py To convert downloaded rosbags into individual files (images, pcd and csv files)

For sensor calibration:
- [kalibr_create_target_pdf.py](https://ucr-robotics.s3.us-west-2.amazonaws.com/citrus-farm-dataset/Calibration/scripts/kalibr_create_target_pdf.py) This script is modified from Kalibr toolbox, and it can generate the 24-inch checkerboard and april-grid calibration targets used in this dataset
- [interactive_recording.py](https://ucr-robotics.s3.us-west-2.amazonaws.com/citrus-farm-dataset/Calibration/scripts/interactive_recording.py)
- [publish_camera_info.py](https://ucr-robotics.s3.us-west-2.amazonaws.com/citrus-farm-dataset/Calibration/scripts/publish_camera_info.py)

Evaluation scripts for odometry algorithms:
- TODO

0 comments on commit 2c5da61

Please sign in to comment.