HKUST-Aerial-Robotics / open_quadtree_mapping

This is a monocular dense mapping system corresponding to IROS 2018 "Quadtree-accelerated Real-time Monocular Dense Mapping"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Can't read in

hitzhang opened this issue · comments

use VINS publish the two topics
but it is not starting.
i have modified the parameters

The original VINS-MONO publishes camera poses in nav_msgs/Odometry. Here we subscribe the message in geometry_msgs/PoseStamped.
Please modify one of the code so that you can subscribe.
PS, If you are modifying open_quadtree_mapping, please see src/main_ros.cpp, src/depthmap_node.cpp, and include/quadmap/depthmap_node.h.

should i modify const eometry_msgs::/PoseStampedConstPtr &pose_input) to const nav_msgs::OdometryConstPtr &pose_input) in src/depthmap_node.cpp?

there is debug error.
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp: In member function ‘void quadmap::DepthmapNode::Msg_Callback(const ImageConstPtr&, const OdometryConstPtr&)’:
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:131:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘orientation’
pose_input->pose.orientation.w,
^
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:132:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘orientation’
pose_input->pose.orientation.x,
^
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:133:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘orientation’
pose_input->pose.orientation.y,
^
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:134:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘orientation’
pose_input->pose.orientation.z,
^
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:135:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘position’
pose_input->pose.position.x,
^
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:136:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘position’
pose_input->pose.position.y,
^
/home/zhang/azhang/mapmap/src/open_quadtree_mapping/src/depthmap_node.cpp:137:26: error: ‘const pose_type {aka const struct geometry_msgs::PoseWithCovariance<std::allocator >}’ has no member named ‘position’
pose_input->pose.position.z);
^
make[2]: *** [open_quadtree_mapping/CMakeFiles/open_quadtree_mapping_node.dir/src/depthmap_node.cpp.o] 错误 1
make[1]: *** [open_quadtree_mapping/CMakeFiles/open_quadtree_mapping_node.dir/all] 错误 2
make: *** [all] 错误 2
Invoking "make -j8 -l8" failed

It is not that simple.
Additionally, you should include#include <nav_msgs/Odometry.h> and the way to access pose data is different.
Please refer to Odometry.
for example:
quadmap::SE3<float> T_world_curr( pose_input->pose.pose.orientation.w, pose_input->pose.pose.orientation.x, pose_input->pose.pose.orientation.y, pose_input->pose.pose.orientation.z, pose_input->pose.pose.position.x, pose_input->pose.pose.position.y, pose_input->pose.pose.position.z);

Worked. Thanks a lot.

Worked. Thanks a lot.

How did you modify the code to make it worked? I encountered the same trouble. I hope you can give me some advice.

Here, I provide an example to convert.
odom2pose.tar.gz

Here, I provide an example to convert.
odom2pose.tar.gz

Worked. Thank you very much.