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

Error converting ROS2 bag to NuScenes #10

Open
Zakhar02 opened this issue Jun 27, 2024 · 13 comments
Open

Error converting ROS2 bag to NuScenes #10

Zakhar02 opened this issue Jun 27, 2024 · 13 comments

Comments

@Zakhar02
Copy link

terminate called after throwing an instance of 'pcl::IOException'
  what():  : [pcl::PCDWriter::writeBinary] Error during open!

how can be reproduced: ./rosbag2nuscenes ../../bag/ ../conf.yml /workspace/src/rosbag2nuscenes/NuScenes/ 8
C++17

@Zakhar02
Copy link
Author

I suppose the problem is in SensorDataWriter.cpp::25, pcl::io::raw_open returns -1

@john-chrosniak
Copy link
Collaborator

Sorry for the delayed response! Could you paste the output of ros2 bag info <path to bag>?

@Zakhar02
Copy link
Author

image

@Zakhar02
Copy link
Author

Turned out it is throwing No plugin found providing serialization format 'cdr'. Error, as mentioned in #13

@Bungehurst
Copy link

Turned out it is throwing No plugin found providing serialization format 'cdr'. Error, as mentioned in #13

This warning can be ignored. After checking the config file, I find the topic name of the dataset is not consistant with the 'mit.yaml'. When I change it to the right one, the program runs well.

@Zakhar02
Copy link
Author

That's right, the problem is database opens in READ_ONLY mode
image

@john-chrosniak
Copy link
Collaborator

Opening with read only is fine since the library does not write back to the ROS bag. Could you include your conf.yml file?

@Zakhar02
Copy link
Author

Zakhar02 commented Sep 2, 2024

BAG_INFO:
  TEAM: Self.AI
  DESCRIPTION: SK
  ODOM_TOPIC: /reaper/odom
  TRACK: IMS
  URDF: urdf/mark3.urdf
SENSOR_INFO:
  LIDAR_FRONT:
    TOPIC: /bnk/top/points
    FRAME: robot_base
  # LIDAR_LEFT:
  #   TOPIC: /robosense/left/points
  #   FRAME: robot_base
  # LIDAR_RIGHT:
  #   TOPIC: /robosense/right/points
  #   FRAME: robot_base
  CAMERA_FRONT:
    TOPIC: /stereo/center/image_raw_unsync/compressed
    FRAME: robot_base
    CALIB: /stereo/center/camera_info_raw

@john-chrosniak
Copy link
Collaborator

This looks fine to me. Does this same error happen if you use the provided instructions for docker instead of building locally?

@Zakhar02
Copy link
Author

Zakhar02 commented Sep 3, 2024

image
I am getting SegFault, actually I've visualized urdf file, all frames are present

@Zakhar02
Copy link
Author

Zakhar02 commented Sep 5, 2024

The picture above is the output of docker run

@john-chrosniak
Copy link
Collaborator

I'm afraid I can't help debug this further without access to the bag file. If this is something you are comfortable sharing, could you upload the bag file and the yaml configuration to a file share site so I can test?

@john-chrosniak
Copy link
Collaborator

I just tested with the data you shared. There were two issues:

  1. In param.yaml, the FRAME for each sensor needs to match the frame_id messages are sent on in the ROS2 bag. Instead of robot_base, this needs to be lidar_top/os_sensor for LIDAR_FRONT and center for CAMERA_FRONT. I realize the documentation isn't very clear on this, so I'll work on making it a bit more thorough.
  2. The frames that your sensors are publishing on (lidar_top/os_sensor and center) are not in the URDF you shared, so it is not possible to transform these to a common frame. You will need to create a URDF that has the transformations from these frames to your odometry frame (i.e. robot_base) to use the tool.

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

No branches or pull requests

3 participants