ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

No such file or directory gmapping.launch.xml or amcl.launch.xml under turtlebot_navigation/launch/includes/

asked 2016-12-07 11:15:09 -0600

MZAIADY gravatar image

updated 2018-11-28 13:33:09 -0600

jayess gravatar image

I'm getting the following error

while processing /opt/ros/indigo/share/turtlebot_navigation/launch/includes/amcl.launch.xml: Invalid roslaunch XML syntax: [Errno 2] No such file or directory: u'/opt/ros/indigo/share/turtlebot_navigation/launch/includes/amcl.launch.xml' The traceback for the exception was written to the log file

While running command

roslaunch turtlebot_gazebo amcl_demo.launch

This command was working fine before, two weeks back, Is there update occurred to the package, cause the file to be missing or file location changed !

I tried to reinstall ros-indigo-gazebo-ros-pkg and turtlebot navigation package, but still the same error, and the file amcl.launch.xml not there under /opt/ros/indigo/share/turtlebot_navigation/launch/includes/

EDITED:

The amcl_demo.launch contains

<include file="$(find turtlebot_navigation)/launch/includes/amcl.launch.xml">

I noticed that latest changes to turtlebot_nvaigation package on 2.3.7 (2016-11-01)

contains the change

Merge pull request #152 from kevincwells/r200

Parameterize AMCL and GMapping launch files for individual cameras.

Changes log for the package at https://github.com/turtlebot/turtlebo...

File locations changed in turtlebot_navigation:

...avigation/launch/includes/amcl.launch.xml → ...tion/launch/includes/amcl/amcl.launch.xml

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted
3

answered 2017-01-12 21:36:49 -0600

Erik4 gravatar image

I had the same problem with: /opt/ros/indigo/share/turtlebot_gazebo/launch/gmapping_demo.launch

problem fixed with changing the path and added the folder gmapping to the path (/opt/ros/indigo/share/turtlebot_navigation/launch/includes/gmapping/gmapping_demo.launch) with using

sudo gedit /opt/ros/indigo/share/turtlebot_gazebo/launch/gmapping_demo.launch

I don't know why the path is wrong.

thanks,

Erik4

edit flag offensive delete link more
1

answered 2016-12-07 13:42:14 -0600

MZAIADY gravatar image

updated 2016-12-13 10:09:04 -0600

Solved (Work around until turtlebot_gazebo get updates) by updating the

sudo gedit  /opt/ros/indigo/share/turtlebot_gazebo/launch/amcl_demo.launch

To the following (same logic included in the updated turtlebot_navigation/launch/amcl_demo.launch ),

    <launch>
  <!-- Map server -->
  <arg name="map_file" default="$(env TURTLEBOT_GAZEBO_MAP_FILE)"/>
  <arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"/>  <!-- r200, kinect, asus_xtion_pro -->

  <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" />

  <!-- Localization -->
  <arg name="initial_pose_x" default="0.0"/>
  <arg name="initial_pose_y" default="0.0"/>
  <arg name="initial_pose_a" default="0.0"/>
 <arg name="custom_amcl_launch_file" default="$(find turtlebot_navigation)/launch/includes/amcl/$(arg 3d_sensor)_amcl.launch.xml"/> 

  <include file="$(arg custom_amcl_launch_file)">
    <arg name="initial_pose_x" value="$(arg initial_pose_x)"/>
    <arg name="initial_pose_y" value="$(arg initial_pose_y)"/>
    <arg name="initial_pose_a" value="$(arg initial_pose_a)"/>
  </include>

  <!-- Move base -->
 <arg name="custom_param_file" default="$(find turtlebot_navigation)/param/$(arg 3d_sensor)_costmap_params.yaml"/>*
 <include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml">
 <arg name="custom_param_file" value="$(arg custom_param_file)"/>
 </include>
</launch>

Replaced

<include file="$(find turtlebot_navigation)/launch/includes/amcl.launch.xml">

With:

<arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"/> 
<arg name="custom_amcl_launch_file" default="$(find turtlebot_navigation)/launch/includes/amcl/$(arg 3d_sensor)_amcl.launch.xml"/> 
  <include file="$(arg custom_amcl_launch_file)">

The issue also if you creating a new map, so to make my answer complete, also gmapping-demo.launch need to be updated:

 sudo gedit /opt/ros/indigo/share/turtlebot_gazebo/launch/gmapping_demo.launch

and replace the content with :

<launch>
  <arg name="3d_sensor" default="$(env TURTLEBOT_3D_SENSOR)"/>  <!-- r200, kinect, asus_xtion_pro -->
  <arg name="custom_gmapping_launch_file" default="$(find turtlebot_navigation)/launch/includes/gmapping/$(arg 3d_sensor)_gmapping.launch.xml"/>
  <include file="$(arg custom_gmapping_launch_file)"/>
</launch>
edit flag offensive delete link more
0

answered 2017-02-14 08:25:39 -0600

C.Zero gravatar image

updated 2018-11-28 13:33:50 -0600

jayess gravatar image

There is a directory problem, the amcl.launch.xml file is in the directory .../includes/amcl/ not just.../includes, therefore it can not be located if the path is /opt/ros/indigo/share/turtlebot_gazebo/launch/includes

you can use

sudo gedit /opt/ros/indigo/share/turtlebot_gazebo/launch/amcl_demo.launch

and replace

include file="$(find turtlebot_navigation)/launch/includes/amcl.launch.xml"

by

include file="$(find turtlebot_navigation)/launch/includes/amcl/amcl.launch.xml"

then the location can be found now

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2016-12-07 11:15:09 -0600

Seen: 5,424 times

Last updated: Nov 28 '18