# Voxl-Mapper pipe to ROS2

Source: https://forum.modalai.com/topic/3444/voxl-mapper-pipe-to-ros2
Category: General Questions (https://forum.modalai.com/category/2/general-questions)
Posted: 2024-05-16 17:31:31 UTC by Jeffrey Mao
Replies: 4 · Views: 1057

## Jeffrey Mao · 2024-05-16 17:31:31 UTC

Does there exist any tools to pipe the output of Voxl-mapper to a topic in ROS2? Also is it possible to use voxl-mapper with just stereo cameras generating pointclouds or is a ToF sensor needed

## Reply by tom (ModalAI staff) · 2024-05-16 17:35:15 UTC

@Jeffrey-Mao Have you experimented with `voxl-mpa-to-ros2`?: https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros2

## Reply by tom (ModalAI staff) · 2024-05-16 17:35:28 UTC (in reply to tom)

@tom https://docs.modalai.com/ros2-installation-voxl2/#mpa-to-ros2

## Reply by Jeffrey Mao · 2024-05-16 19:59:40 UTC (in reply to tom)

@tom We have experimented with it, but I am not sure about the format of voxl-mapper, and have trouble getting voxl-mapper working with just stereo cameras.  Do you guys have more resources on it besides the github page?

We are also wondering if it is worth it getting the voxl-mapper working, or will it automatically work with voxl_mpa_to_ros2 pointcloud interface or have some different representation which requires us writing our own piep interface?

Also what branch is the stable version of voxl_mpa_to_ros2 because I can see the master branch doesn't allow us to stream QVIO odometry?

https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-to-ros2/-/blob/master/colcon_ws/src/voxl_mpa_to_ros2/src/interfaces/qvio_interface.cpp?ref_type=heads

I believe you are publishing the same topic 2 different message types which I don't believe is allows in ROS2. 

void QVIOInterface::AdvertiseTopics(){

    char topicName[64];

    sprintf(topicName, "%s", m_pipeName);
    pose_pub_ = m_rosNodeHandle->create_publisher<geometry_msgs::msg::PoseStamped>
        (topicName, rclcpp::SensorDataQoS());

    odom_pub_ = m_rosNodeHandle->create_publisher<nav_msgs::msg::Odometry>
        (topicName, rclcpp::SensorDataQoS());

    m_state = ST_AD;

}

## Reply by Jeffrey Mao · 2024-05-20 15:41:51 UTC (in reply to Jeffrey Mao)

Nevermind I figured it out. Once the voxl_mapper service is running it is automatically configured to run the voxl_mpa_ros2 as a pointcloud
