ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. Roya Salehzadeh
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 2
    • Best 0
    • Controversial 0
    • Groups 0

    Roya Salehzadeh

    @Roya Salehzadeh

    0
    Reputation
    2
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Roya Salehzadeh Unfollow Follow

    Latest posts made by Roya Salehzadeh

    • RE: Starling 2 SLAM ROS2 Foxy

      @teddy-zaremba Thanks for the information.
      I am working with George on the same project. We’ve installed the required packages, and voxl-mapper is working properly in the VOXL Portal. We can also see the /voxl_mapper_aligned_ptcloud topic available in ROS 2. However, we have a few questions and would really appreciate your guidance.

      1. Is /voxl_mapper_aligned_ptcloud the accumulated 3D map of the environment? If so, we assume this topic contains the fused and globally aligned point cloud (not just live frame-by-frame sensor data).
      2. If the answer to (1) is yes, can we use ros2 bag record to save this map and later visualize it in RViz? Specifically:
      • Will the recorded data still reflect the accumulated map, or will it only include a stream of point clouds per frame?
      • What are the best practices to record and visualize the full map offline?
      1. RViz does not recognize any transformation (TF) tree, which causes issues in data visualization. We understand we need to publish appropriate transforms to view data correctly in RViz. Here are our observations and questions:

      a. /voxl_mapper_aligned_ptcloud uses frame_id: "world" — but this world frame comes from VOXL and is not part of our RViz TF tree.
      When we visualize this point cloud in RViz, we have to run:

      ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 map world

      This lets us see the point cloud, but only as a live stream — not the full accumulated map.

      We’re trying to build the following TF chain to resolve this:

      NED → map (static)
      map → odom (static or dynamic)
      odom → base_link (dynamic, from QVIO)
      base_link → tof (static) or voxl_mapper_aligned_ptcloud
      tof or voxl_mapper_aligned_ptcloud → world (static)

      For each of these we take the extrinsic information that we have to find the translation and orientation of these coordinate systems.

      Does this seem correct for enabling RViz to visualize the accumulated map properly?

      b. Even for /tof_pc, we also need to publish a static transform like:

      ros2 run tf2_ros static_transform_publisher 0 0 0 0 0 0 map world
      to view data in RViz. But again, this only gives us frame-by-frame output. Should we instead define a more complete set of transforms from base_link to world?

      c. We’re currently unable to display QVIO odometry data in RViz to track the drone’s path.
      VOXL publishes QVIO data on /qvio in two message types: nav_msgs/Odometry and geometry_msgs/PoseStamped. However, neither of these messages includes a valid frame_id, which prevents RViz from interpreting the data.

      • What frame_id should we assign to these messages?
      • What transforms should we publish so that we can correctly display odometry and the drone's trajectory in RViz?

      We would be very thankful for your help.
      Thanks,
      Roya

      posted in Ask your questions right here!
      Roya SalehzadehR
      Roya Salehzadeh
    • RE: Send ESDF/TSDF information from voxl-mapper to ROS2

      @Jeffrey-Mao Hello Jeffery, We are currently working on implementing SLAM for the Starling 2 platform. Our initial approach involved using the available ROS 2 topics provided by voxl_mpa_to_ros2, installing standard SLAM packages, and using RViz for visualization. However, we've encountered a major issue: most of the topics do not have a frame_id defined, and there is no existing transform (TF) tree that can be used with RViz.

      So far, we've only been able to visualize the tof_pc (Time-of-Flight point cloud) data. To do this, we had to manually publish a static transform between the TOF frame (which is named world) and map. However, in this setup, the drone's location does not update dynamically. To address this, we're considering writing a transformation node to define the relationships between coordinate frames (e.g., map, odom, base_link, tof, etc.). However, developing this from scratch is proving to be time-consuming and error-prone.

      I also noticed that you were able to generate a map using voxl-mapper and et the map in ROS2 with the mpa_ros2 interface. This could be a much more efficient path for us to pursue. Could you please explain in detail:

      What exact steps you followed to export the map using voxl-mapper?

      Is it possible to regenerate or update the map in real-time in RViz, or export it to another visualization tool?

      Thanks

      posted in Modal Pipe Architecture (MPA)
      Roya SalehzadehR
      Roya Salehzadeh