Robotics StackExchange | Archived questions

Plan manager node start crashes because can't open map.ymal

I'm trying to modify a simulation based main launch file to work with the real turtlebot3 (Sim to real). I'm trying to compare it with the ROBOTIS turtlebot3_navigation.launch, because theirs works (turtlebot emanual).

Now, this is the (so far updated) launch file I'm working with and it's from this repository:

<launch>
  <param name="use_sim_time" value="true"/>

  <arg name="train_mode"       default="false"/>
  <param name="train_mode" value="$(arg train_mode)" />

  <arg name="local_planner"   default="teb"/> 
  <arg name="rviz_file"       default="nav_LP"/>
  <arg name="disable_scenario"    default="true"/>
  <arg name="scenario_file"   default="empty_map.json"/>
  <arg name="reset"   default="true"/>
  <arg name="model" default="$(env TURTLEBOT3_MODEL)" doc="model type [burger, waffle, waffle_pi]"/>

  <!-- To make the training more efficient make sure this step_size*laser_update_rate == 1  -->
  <arg name="step_size" default="0.01"/>
  <arg name="update_rate" default="250"/>
  <arg name="show_viz"  default="true"/>
  <arg name="viz_pub_rate" default="30" />
  <arg name="use_rviz" default="true"/>

  <param name="update_rate" value="$(arg update_rate)" />
  <param name="step_size" value="$(arg step_size)" /> 
  <param name="show_viz" value="$(arg show_viz)"/>
  <param name="viz_pub_rate" value="$(arg viz_pub_rate)"/>
  <param name="use_rviz"       value="$(arg use_rviz)"/>
  <param name="single_env"       value="true"/>

  <!-- the folder name under the path simulator_setup/maps  -->
  <arg name="map_file"        default="Wohnzimmer1"/>

  <!-- <arg name="map_folder_name" default="map_empty" /> -->
  <arg name="map_path" default="$user/vis2020/Wohnzimmer1/map.yaml" />
  <param name="world_path" value="$user/vis2020/Wohnzimmer1/map.world.yaml" />

  <!-- the velocity of randomly genelized obstacles  -->
  <arg name="obs_vel" default="0.3" />
  <param name="obs_vel" value="$(arg obs_vel)" /> 


  <!--  PARAMS DON'T CHANGE THEM  -->
  <param name="robot_action_rate"     value="10"/>
  <param name="laser_update_rate"     value="10"/>


  <!-- DRL action frequency -->
  <arg name="action_frequency" default="10"/>
  <param name="action_frequency" value="$(arg action_frequency)"/>

  <!-- Map parameters -->
  <arg name="global_frame_id"   value="map"/>
  <arg name="odom_frame_id"     value="odom"/>
  <arg name="base_frame_id"     value="base_footprint"/>
  <arg name="odom_ground_truth" default="/odometry/ground_truth"/>

  <!-- Turtlebot3 -->
  <include file="$(find turtlebot3_bringup)/launch/turtlebot3_remote.launch">
    <arg name="model" value="$(arg model)" />
  </include>

  <!-- map server-->
  <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_path)">
   <param name="frame_id" value="$(arg global_frame_id)"/>

  </node>

  <!-- use amcl localization-->
  <include file="$(find arena_bringup)/launch/sublaunch_testing/amcl.launch">
    <remap from="scan" to="/scan"/>
    <param name="odom_frame_id" value="odom"/>
  </include>

  <!-- rviz -->
  <group if="$(arg use_rviz)"> 
    <node pkg="rviz" type="rviz" name="rviz" required="true"
          args="-d $(find arena_bringup)/rviz/$(arg rviz_file)"/>
  </group>


  <!-- start task_generator node -->
  <arg name="timeout"        default="3.0"/>
  <include file="$(find arena_bringup)/launch/sublaunch_testing/task_generator.launch" unless="$(eval arg('disable_scenario') or arg('train_mode'))">
   <arg name="scenarios_json_path"  value="$(find simulator_setup)/scenarios/$(arg scenario_file)"/>
   <arg name="auto_reset"           value="$(arg reset)"/>
   <arg name="timeout"              value="$(arg timeout)"/>
  </include>

  <include file="$(find arena_bringup)/launch/sublaunch_testing/sensor_sim.launch" unless="$(eval arg('disable_scenario') or arg('train_mode'))">
  </include>



  <!-- move_base plan manager: which provide basic global planner and cost map -->
  <include file="$(find arena_bringup)/launch/sublaunch_testing/move_base/move_base_$(arg local_planner).launch">
  </include>


  <!-- start time space plan fsm-->
  <include file="$(find arena_bringup)/launch/sublaunch_testing/timed_space_planner_fsm.launch">
  </include>

  <!-- makes sure that drl actions will be published according to sim time in eval mode-->
  <group if="$(eval arg('train_mode') == false)">
    <node name="action_publisher" pkg="arena_local_planner_drl" type="action_publisher.py"/>
  </group>
</launch>

And this is the error I'm getting:

NODES
  /
    amcl (amcl/amcl)
    map_server (map_server/map_server)
    move_base (move_base/move_base)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    rviz (rviz/rviz)
    time_space (arena_timespace_planner/time_space_planner_node)

ROS_MASTER_URI=http://localhost:11311

process[robot_state_publisher-1]: started with pid [13476]
process[map_server-2]: started with pid [13477]
process[amcl-3]: started with pid [13481]
process[rviz-4]: started with pid [13492]
process[move_base-5]: started with pid [13501]
process[time_space-6]: started with pid [13513]
Plan manager node start
[ERROR] [1622654163.194926072]: Map_server could not open $user/vis2020/Wohnzimmer1/map.yaml.
[map_server-2] process has died [pid 13477, exit code 255, cmd /opt/ros/melodic/lib/map_server/map_server $user/vis2020/Wohnzimmer1/map.yaml __name:=map_server __log:=/home/vis2020/.ros/log/a30e4466-c3c5-11eb-bb1e-48b02d2b81aa/map_server-2.log].
log file: /home/vis2020/.ros/log/a30e4466-c3c5-11eb-bb1e-48b02d2b81aa/map_server-2*.log
[ INFO] [1622654163.428699169]: waitForService: Service [/static_map] has not been advertised, waiting...
[ WARN] [1622654163.667419627]: Request for map failed; trying again...

I'm rather new in the ROS domain, so perhaps I'm just missing something, but any help is appreciated :).

Asked by sudo-Boris on 2021-06-02 14:20:45 UTC

Comments

Answers