Skip to content

What can I do once it works? #9

@OdedHorowits

Description

@OdedHorowits

Hi!

So, after making it work comes the real question -
How can use the results of the algorithm? Lets say I move my drone around and map the area.
How can I use that map?
Can I use it on-the-fly for navigation?

In details:
The ORB_SLAM3 app publishes into to topics:

ros2 topic echo /drone0/map_data
ros2 topic echo /drone0/map_points

ros2 topic info /drone0/map_data says it uses slam_msgs/msg/MapData and
ros2 topic info /drone0/map_points says it uses sensor_msgs/msg/PointCloud2

Trying to echo /drone0/map_points gave me nothing. I though that the reason is the msg is too big, but using rviz I get nothing also when adding a PointCloud that subscribes to this topic.
Echoing slam_msgs/msg/MapData however gives me some results.
The structure of the msg is a following:

std_msgs/Header header
	builtin_interfaces/Time stamp
		int32 sec
		uint32 nanosec
	string frame_id

#optimized graph
slam_msgs/MapGraph graph
	std_msgs/Header header
		builtin_interfaces/Time stamp
			int32 sec
			uint32 nanosec
		string frame_id
	int32[] poses_id
	geometry_msgs/PoseStamped[] poses
		std_msgs/Header header
			builtin_interfaces/Time stamp
				int32 sec
				uint32 nanosec
			string frame_id
		Pose pose
			Point position
				float64 x
				float64 y
				float64 z
			Quaternion orientation
				float64 x 0
				float64 y 0
				float64 z 0
				float64 w 1

#graph data
slam_msgs/KeyFrame[] nodes
	int32 id
	geometry_msgs/Point[] word_pts
		float64 x
		float64 y
		float64 z

Using a python subscriber I can extract the results, that looks like this:

====================================================================

[INFO] [1719309314.196997704] [map_data_subscriber]: Graph Header:
[INFO] [1719309314.197535030] [map_data_subscriber]: Frame ID: map
[INFO] [1719309314.198119681] [map_data_subscriber]: Timestamp: 0s 0ns

[INFO] [1719309314.198958030] [map_data_subscriber]: Optimized Graph:
[INFO] [1719309314.199700617] [map_data_subscriber]:   Frame ID: 
[INFO] [1719309314.200628111] [map_data_subscriber]:   Timestamp: 0s 0ns
[INFO] [1719309314.201512677] [map_data_subscriber]: Poses ID: [0, 4, 1, 2, 3, 14, 38, 48, 62, 65, 67, 68, 73, 90, 84, 86, 70, 91, 89, 87, 88, 81]
[INFO] [1719309314.202609746] [map_data_subscriber]: Poses:
[INFO] [1719309314.203258511] [map_data_subscriber]:   Pose:
[INFO] [1719309314.203961693] [map_data_subscriber]:     Position: x=0.000, y=0.000, z=0.000
[INFO] [1719309314.205278722] [map_data_subscriber]:     Orientation: x=0.000, y=0.000, z=0.000, w=1.000
[INFO] [1719309314.206490162] [map_data_subscriber]:   Pose:
[INFO] [1719309314.209347471] [map_data_subscriber]:     Position: x=-0.013, y=0.002, z=2.565
[INFO] [1719309314.211288744] [map_data_subscriber]:     Orientation: x=0.002, y=-0.034, z=0.000, w=0.999
[INFO] [1719309314.212159562] [map_data_subscriber]:   Pose:
[INFO] [1719309314.212974634] [map_data_subscriber]:     Position: x=0.011, y=-0.000, z=1.097
[INFO] [1719309314.213891018] [map_data_subscriber]:     Orientation: x=0.003, y=-0.003, z=0.001, w=1.000
[INFO] [1719309314.214714715] [map_data_subscriber]:   Pose:
[INFO] [1719309314.215618662] [map_data_subscriber]:     Position: x=0.010, y=0.001, z=1.138
[INFO] [1719309314.216503208] [map_data_subscriber]:     Orientation: x=0.004, y=0.024, z=0.001, w=1.000
[INFO] [1719309314.217514307] [map_data_subscriber]:   Pose:
[INFO] [1719309314.218166416] [map_data_subscriber]:     Position: x=0.006, y=-0.005, z=1.731
[INFO] [1719309314.218971740] [map_data_subscriber]:     Orientation: x=-0.001, y=-0.032, z=0.001, w=1.000
[INFO] [1719309314.219560311] [map_data_subscriber]:   Pose:
[INFO] [1719309314.220058909] [map_data_subscriber]:     Position: x=-0.012, y=-0.019, z=3.652
[INFO] [1719309314.220551867] [map_data_subscriber]:     Orientation: x=-0.003, y=-0.037, z=0.002, w=0.999
[INFO] [1719309314.221097756] [map_data_subscriber]:   Pose:
[INFO] [1719309314.221565057] [map_data_subscriber]:     Position: x=-0.014, y=-0.002, z=3.654
[INFO] [1719309314.222104117] [map_data_subscriber]:     Orientation: x=-0.000, y=-0.026, z=0.001, w=1.000
[INFO] [1719309314.222826841] [map_data_subscriber]:   Pose:
[INFO] [1719309314.223358593] [map_data_subscriber]:     Position: x=-0.001, y=-0.032, z=3.603
[INFO] [1719309314.223897022] [map_data_subscriber]:     Orientation: x=0.001, y=0.029, z=0.000, w=1.000
[INFO] [1719309314.224433228] [map_data_subscriber]:   Pose:
[INFO] [1719309314.224994473] [map_data_subscriber]:     Position: x=-0.010, y=-0.024, z=3.634
[INFO] [1719309314.225489760] [map_data_subscriber]:     Orientation: x=0.002, y=-0.026, z=0.002, w=1.000
[INFO] [1719309314.226024291] [map_data_subscriber]:   Pose:
[INFO] [1719309314.226543916] [map_data_subscriber]:     Position: x=-0.029, y=0.005, z=3.665
[INFO] [1719309314.227078249] [map_data_subscriber]:     Orientation: x=0.006, y=-0.036, z=0.001, w=0.999
[INFO] [1719309314.227604373] [map_data_subscriber]:   Pose:
[INFO] [1719309314.228108954] [map_data_subscriber]:     Position: x=-0.028, y=-0.014, z=3.615
[INFO] [1719309314.228618967] [map_data_subscriber]:     Orientation: x=0.001, y=0.029, z=0.001, w=1.000
[INFO] [1719309314.229134493] [map_data_subscriber]:   Pose:
[INFO] [1719309314.229637485] [map_data_subscriber]:     Position: x=-0.008, y=-0.004, z=3.639
[INFO] [1719309314.230144051] [map_data_subscriber]:     Orientation: x=0.004, y=-0.029, z=0.002, w=1.000
[INFO] [1719309314.230628378] [map_data_subscriber]:   Pose:
[INFO] [1719309314.231133720] [map_data_subscriber]:     Position: x=-0.016, y=-0.002, z=3.632
[INFO] [1719309314.231777964] [map_data_subscriber]:     Orientation: x=0.002, y=-0.005, z=0.001, w=1.000
[INFO] [1719309314.232584568] [map_data_subscriber]:   Pose:
[INFO] [1719309314.233731438] [map_data_subscriber]:     Position: x=0.030, y=0.162, z=3.967
[INFO] [1719309314.234434491] [map_data_subscriber]:     Orientation: x=0.001, y=-0.019, z=-0.034, w=0.999
[INFO] [1719309314.234955198] [map_data_subscriber]:   Pose:
[INFO] [1719309314.235682070] [map_data_subscriber]:     Position: x=-0.038, y=-0.013, z=3.615
[INFO] [1719309314.236223849] [map_data_subscriber]:     Orientation: x=0.000, y=0.029, z=0.002, w=1.000
[INFO] [1719309314.236736824] [map_data_subscriber]:   Pose:
[INFO] [1719309314.237227303] [map_data_subscriber]:     Position: x=-0.020, y=-0.026, z=3.625
[INFO] [1719309314.237733662] [map_data_subscriber]:     Orientation: x=0.003, y=0.016, z=0.002, w=1.000
[INFO] [1719309314.240603471] [map_data_subscriber]:   Pose:
[INFO] [1719309314.242165247] [map_data_subscriber]:     Position: x=-0.034, y=-0.016, z=3.658
[INFO] [1719309314.243488185] [map_data_subscriber]:     Orientation: x=0.001, y=-0.022, z=0.001, w=1.000
[INFO] [1719309314.244487064] [map_data_subscriber]:   Pose:
[INFO] [1719309314.245269381] [map_data_subscriber]:     Position: x=0.027, y=-0.146, z=4.199
[INFO] [1719309314.246037474] [map_data_subscriber]:     Orientation: x=0.008, y=0.029, z=0.029, w=0.999
[INFO] [1719309314.246825802] [map_data_subscriber]:   Pose:
[INFO] [1719309314.247628231] [map_data_subscriber]:     Position: x=0.043, y=-0.192, z=4.195
[INFO] [1719309314.248443807] [map_data_subscriber]:     Orientation: x=0.002, y=0.023, z=0.032, w=0.999
[INFO] [1719309314.249202274] [map_data_subscriber]:   Pose:
[INFO] [1719309314.250213227] [map_data_subscriber]:     Position: x=0.004, y=-0.009, z=3.662
[INFO] [1719309314.251156173] [map_data_subscriber]:     Orientation: x=0.002, y=-0.025, z=0.001, w=1.000
[INFO] [1719309314.252336507] [map_data_subscriber]:   Pose:
[INFO] [1719309314.253064779] [map_data_subscriber]:     Position: x=0.011, y=-0.009, z=3.631
[INFO] [1719309314.253804713] [map_data_subscriber]:     Orientation: x=0.003, y=0.001, z=0.001, w=1.000
[INFO] [1719309314.254643644] [map_data_subscriber]:   Pose:
[INFO] [1719309314.255357690] [map_data_subscriber]:     Position: x=-0.013, y=-0.009, z=3.638
[INFO] [1719309314.256078394] [map_data_subscriber]:     Orientation: x=0.002, y=-0.020, z=0.002, w=1.000

[INFO] [1719309314.256807611] [map_data_subscriber]: Keyframes:

====================================================================

And some questions:
why do the optimized graph have no Frame ID?
why there are no keyframes?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions