No Pathfinding in Navigation Stack without Static Map

asked 2020-07-24 14:55:27 -0500

Ozan Mert Duran gravatar image

So in ROS, I wrote an identification algorithm for looking for buoys in the scene, publishing a message with pertinent information, then creating goals depending on where we are with respect to them. System is using Ubuntu 16.04 with ROS kinetic, main sensor from which all odometry is being generated is a zed stereocamera 1.

Issue is, the goals aren't being passed to the pathfinding portion of the navigation stack in ROS, and the tutorials online aren't helping because they assume you have a map and are localized on it. I have tried to pass through an empty map and set that as the static map, but it hasn't remedied the problem. Since no path is being computed, there are no /cmd_vel messages being published, and I can't move using the trusters on the craft. I have checked the ROS forums for relevant topics but there wasn't anything that I could make sense out of. Any help would be greatly appreciated.

Relevant links include: https://answers.ros.org/question/9379... for when I made a blank map and tried to pass it through as a main map so that the robot would think it was localized. If this is going to work, what is the proper methodology for making a map then passing it into the launch file?

<arg name="map_file" default="$(find bluedragon_2dnav)/map.yaml"/>
   <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" />

Where the map.yaml file is

image: white.png
resolution: 0.1
origin: [0.0, 0.0, 0.0]
occupied_thresh: 0.65
free_thresh: 0.196
negate: 0

http://wiki.ros.org/navigation/Tutori... The tutorial for navigation stack which doesn't show how to set-up the stack if you don't have a map(and it isn't as simple as setting local and global_costmap_params.yaml static_map to false)

Here is the github page for relevant info: https://github.com/UltharPeliki7/Robo...

Here are relevant pictures, last picture are the errors I'm receiving: https://imgur.com/gallery/DVsimSn

edit retag flag offensive close merge delete

Comments

ok first I wonder why you do not use a static map. It should be possible to emulate a laserscanner with the 3d camera with e.g. depthimage_to_laserscan.

Next if you really want no static map, then don't. You can configure the global costmap to not include the static layer and to use odom as global frame, as I've done e.g. here

Humpelstilzchen gravatar image Humpelstilzchen  ( 2020-07-27 02:27:25 -0500 )edit