I am trying to send navigation commands but the robot won't move
I tried changing the topic in rviz 2D navigation tool properties
I probably have something aligned wrong
I would like to use actions instead of topics
To debug navigation, show also the costmaps in RVIZ. Look also for warnings/errors on terminal when you send a goal.
The 3D map doesn't seem to match the occupancy grid. Is tf correctly set between the base of the robot, the camera and the lidar? For example in RVIZ, if you set the fixed frame to base frame of the robot in global options and show up the camera point cloud, the ground in the cloud should match exactly the xy grid in RVIZ. Try also adding the laser scan to RVIZ to compare with the generated cloud from the camera, they should be aligned.
I tried my best to aligh with the ground and the laser but now my robot look's weird
is difficult to have an accurate xacro since i double taped the camera and the laser with some vibration on the camera
but the maps look better
I tried to remap rtabmap/goal_out -> /move_base_simple/goal and /rtabmap/grid_map -> map and use_action_for_goal true
I tried many combination's but rviz 2D Nav goal doesn't work, rviz shell says it just send the goal
Although when i run the patrol node the robot moves to the goal position so the problem probably is that i have something misaligned ..
Lastly in localization mode the robot seems to localize based on scan, how best to solve the "robot kidnap problem" with scan and depth images (aka global localization with depth images (words) and local with scan?)
If the robot is moving with Patrol, look at which topic Patrol is sending goals ("$ rosnode info patrol"). If it is /rtabmap/goal, to make it work in RVIZ, you should go in Tools properties, and change the 2D Nav Goal button's topic to /rtabmap/goal.
In localization mode, the robot localizes locally with the scans, but also localizes globally with images. If the robot can localize visually, it should teleport to that location. Maybe in your case the loop closure hypothesis didn't get high enough to do global localization.