Skip to content
Merged
Show file tree
Hide file tree
Changes from 9 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ RUN apt-get update \
ros-"$ROS_DISTRO"-mola-lidar-odometry \
python3-pip \
python3-vcstool \
wget \
&& pip install --no-cache-dir mcap pandas colorama \
segments-ai awscli boto3 scipy watchdog colorlog \
&& pip install --no-cache-dir --upgrade setuptools pip \
Expand Down Expand Up @@ -69,7 +70,7 @@ RUN groupadd -g $GROUP_ID $USERNAME && \
usermod -aG sudo $USERNAME && \
echo "$USERNAME ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

# Setup ros2_bag_exporter
# Setup tartan_rosbag_exporter
RUN apt-get update \
&& DEBIAN_FRONTEND=noninteractive \
apt-get -y --quiet --no-install-recommends install \
Expand All @@ -87,11 +88,12 @@ RUN apt-get update \
&& pip install --no-cache-dir mcap colorama \
&& rm -rf /var/lib/apt/lists/*

ENV EXPORTER=$ROS_WS/src/tartan_rosbag_exporter
RUN git clone -b 1.1.0 https://github.com/ipab-rad/tartan_rosbag_exporter.git $EXPORTER \
RUN mkdir -p "$ROS_WS"/src \
&& wget -q -O /tmp/exporter.tar.gz "https://github.com/ipab-rad/tartan_rosbag_exporter/archive/refs/tags/2.0.0.tar.gz" \
&& tar -xzf /tmp/exporter.tar.gz -C "$ROS_WS"/src \
&& . /opt/ros/"$ROS_DISTRO"/setup.sh \
&& colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release \
&& rm -rf $ROS_WS/build $EXPORTER
&& rm -rf "$ROS_WS"/build /tmp/exporter.tar.gz "$ROS_WS"/src

# Give read/write permissions to the user on the ROS_WS directory
RUN chown -R $USERNAME:$USERNAME $ROS_WS && \
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ To use the `labelling_preproc`'s modules to upload and add a **multi-sensor sequ
Create a file named `dataset_keys.env` inside a `keys` directory in the parent directory of this repository:

```bash
mkdir -p keys && touch keys/dataset_keys.env
mkdir -p keys && touch .../tartan_forklift/keys/dataset_keys.env
```

Add the following environment variables to `dataset_keys.env`:
Expand All @@ -29,7 +29,8 @@ Add the following environment variables to `dataset_keys.env`:
AWS_ACCESS_KEY_ID=my_access_key_id
AWS_SECRET_ACCESS_KEY=my_secret_access_key
AWS_ENDPOINT_URL=my_s3_organisation_url
BUCKET_NAME=my_bucket_name
AWS_BUCKET_NAME=my_bucket_name
AWS_ROSBAG_BACKUP_BUCKET_NAME=my_backup_bucket_name
EIDF_PROJECT_NAME=my_projectxyz

# Segments.ai key
Expand Down Expand Up @@ -318,3 +319,4 @@ The resulting merged `.mcap` file will be saved within the specified directory u
└── 2024_10_24-14_15_33_haymarket_mapping.mcap # Larger file
...
```

68 changes: 42 additions & 26 deletions config/av_sensor_export_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,65 +5,93 @@ storage_id: "mcap"
# List of topics to extract from the ROS2 bag
topics:
# Configuration for Pointclouds, defined first to use their timestamp for sensor sync
- name: "/sensor/lidar/top/points" # 10Hz
- name: "/sensor/lidar/top/points"
type: "PointCloud2"
sample_interval: 1 # 10Hz
sample_interval: 1
topic_dir: "lidar/top"

# Configuration for Compressed Images
- name: "/sensor/camera/fsp_l/image_rect_color/compressed" # 20Hz
- name: "/sensor/camera/fsp_l/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1 # 20Hz
sample_interval: 1
timestamp_offset_ms: 70
topic_dir: "camera/fsp_l"

- name: "/sensor/camera/fsp_l/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/fsp_l"

- name: "/sensor/camera/rsp_l/image_rect_color/compressed" # 20Hz
- name: "/sensor/camera/fsp_r/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1
timestamp_offset_ms: 70
topic_dir: "camera/fsp_r"

- name: "/sensor/camera/fsp_r/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/fsp_r"

- name: "/sensor/camera/rsp_l/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1 # 20Hz
sample_interval: 1
timestamp_offset_ms: 20
topic_dir: "camera/rsp_l"

- name: "/sensor/camera/rsp_l/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/rsp_l"

- name: "/sensor/camera/lspf_r/image_rect_color/compressed" # 20Hz
- name: "/sensor/camera/rsp_r/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1
timestamp_offset_ms: 20
topic_dir: "camera/rsp_r"

- name: "/sensor/camera/rsp_r/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/rsp_r"

- name: "/sensor/camera/lspf_r/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1 # 20Hz
sample_interval: 1
timestamp_offset_ms: 51
topic_dir: "camera/lspf_r"

- name: "/sensor/camera/lspf_r/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/lspf_r"

- name: "/sensor/camera/lspr_l/image_rect_color/compressed" # 20Hz
- name: "/sensor/camera/lspr_l/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1 # 20Hz
sample_interval: 1
timestamp_offset_ms: 38
topic_dir: "camera/lspr_l"

- name: "/sensor/camera/lspr_l/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/lspr_l"

- name: "/sensor/camera/rspf_l/image_rect_color/compressed" # 20Hz
- name: "/sensor/camera/rspf_l/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1 # 10Hz
sample_interval: 1
timestamp_offset_ms: 88
topic_dir: "camera/rspf_l"

- name: "/sensor/camera/rspf_l/camera_info"
type: "CameraInfo"
sample_interval: 0
topic_dir: "camera/rspf_l"

- name: "/sensor/camera/rspr_r/image_rect_color/compressed" # 20Hz
- name: "/sensor/camera/rspr_r/image_rect_color/compressed"
type: "CompressedImage"
sample_interval: 1 # 20Hz
sample_interval: 1
timestamp_offset_ms: 101
topic_dir: "camera/rspr_r"

- name: "/sensor/camera/rspr_r/camera_info"
Expand All @@ -75,15 +103,3 @@ topics:
type: "TF"
sample_interval: 1
topic_dir: "extrinsics"

# # Configuration for IMU
# - name: "/sensor/imu/front/data" # 200Hz
# type: "IMU"
# sample_interval: 1 # 200Hz
# topic_dir: "imu"

# # Configuration for GPS
# - name: "/sensor/gps/nav_sat_fix" # 20Hz
# type: "GPS"
# sample_interval: 1 # 20Hz
# topic_dir: "gps"
Loading
Loading