<arg name="gps" default="false"/>
<arg name="world" default ="$(find-pkg-share ufrgs_gazebo)/worlds/centenario.world"/>
<arg name="controller" default="twist_mrac_linearizing_controller"/>
- <arg name="odom" default="rtabmap_viodom"/>
+ <arg name="odom" default="noisy_ground_truth"/>
<arg name="localization" default="static"/>
<arg name="controller_config" default="$(find-pkg-share twil_2dnav)/config/$(var controller)_no_tf.yaml"/>
<param name="use_sim_time" value="$(var use_sim_time)"/>
<param from="$(find-pkg-share twil_2dnav)/config/amcl_params.yaml"/>
</node>
-
- <node pkg="nav2_lifecycle_manager" exec="lifecycle_manager" name="lifecycle_manager_nav2">
- <param name="use_sim_time" value="$(var use_sim_time)"/>
- <param name="autostart" value="$(var autostart)"/>
- <param name="node_names" value="[
- 'map_server',
- 'amcl',
- 'controller_server',
- 'planner_server',
- 'behavior_server',
- 'bt_navigator']"/>
- </node>
</launch>
--- /dev/null
+<launch>
+ <arg name="use_sim_time" default="false"/>
+
+ <node name="rtabmap" pkg="rtabmap_slam" exec="rtabmap" args="--delete_db_on_start" namespace="rtabmap">
+ <param name="use_sim_time" value="$(var use_sim_time)"/>
+ <param name="frame_id" value="twil_origin"/>
+ <!-- <param name="odom_frame_id" value="odom"/> -->
+
+ <remap from="odom" to="/odom"/>
+
+ <param name="subscribe_depth" value="true"/>
+ <remap from="depth/image" to="/camera/depth/image_raw"/>
+ <remap from="rgb/camera_info" to="/camera/color/camera_info"/>
+ <remap from="rgb/image" to="/camera/color/image_raw"/>
+
+ <!-- <param name="subscribe_scan" value="true"/>
+ <remap from="scan" to="/camera/depth/image_scan"/> -->
+
+ <!-- <param name="queue_size" value="50"/> -->
+
+ <!-- <param name="tf_delay" value="0.1"/> -->
+ <!-- <param name="wait_for_transform_duration" value="5.0"/> -->
+ <!-- RTAB-Map's parameters -->
+ <!-- <param name="RGBD/ProximityBySpace" value="false"/>
+ <param name="RGBD/AngularUpdate" value="0.01"/>
+ <param name="RGBD/LinearUpdate" value="0.01"/>
+ <param name="RGBD/OptimizeFromGraphEnd" value="false"/>
+ <param name="Reg/Force3DoF" value="true"/>
+ <param name="Vis/MinInliers" value="12"/> -->
+ </node>
+
+</launch>
<param from="$(find-pkg-share twil_2dnav)/config/slam_toolbox_mapping_params.yaml"/>
<remap from="map" to="slam_map"/>
</node>
-
- <node pkg="nav2_lifecycle_manager" exec="lifecycle_manager" name="lifecycle_manager_nav2">
- <param name="use_sim_time" value="$(var use_sim_time)"/>
- <param name="autostart" value="$(var autostart)"/>
- <param name="node_names" value="[
- 'map_server',
- 'controller_server',
- 'planner_server',
- 'behavior_server',
- 'bt_navigator']"/>
- </node>
</launch>
<node pkg="tf2_ros" exec="static_transform_publisher" name="odom_frame_publisher"
args="--frame-id map --child-frame-id odom"/>
-
- <node pkg="nav2_lifecycle_manager" exec="lifecycle_manager" name="lifecycle_manager_nav2">
- <param name="use_sim_time" value="$(var use_sim_time)"/>
- <param name="autostart" value="$(var autostart)"/>
- <param name="node_names" value="[
- 'map_server',
- 'controller_server',
- 'planner_server',
- 'behavior_server',
- 'bt_navigator']"/>
- </node>
</launch>
<arg name="map" default="$(find-pkg-share ufrgs_maps)/map/centenario1.yaml"/>
<arg name="autostart" default="true"/>
<arg name="controller" default=""/>
- <arg name="localization" default="static"/>
+ <arg name="localization" default=""/>
<arg name="odom" default="rtabmap_viodom"/>
+ <let name="amcl" value="$(eval '\'$(var localization)\' == \'amcl\'')" />
+
+ <include file="$(find-pkg-share twil_2dnav)/launch/localization_$(var localization).launch.xml">
+ <arg name="use_sim_time" value="$(var use_sim_time)"/>
+ </include>
+
+ <include file="$(find-pkg-share twil_2dnav)/launch/odom_$(var odom).launch.xml">
+ <arg name="controller" value="$(var controller)"/>
+ </include>
+
+ <node name="depthimage_to_laserscan" pkg="depthimage_to_laserscan" exec="depthimage_to_laserscan_node">
+ <remap from="depth" to="/camera/depth/image_raw"/>
+ <remap from="depth_camera_info" to="/camera/depth/camera_info"/>
+ <remap from="scan" to="/camera/depth/image_scan"/>
+ <param name="output_frame" value="camera_link"/>
+ </node>
<node pkg="nav2_controller" exec="controller_server" name="controller_server">
<param name="use_sim_time" value="$(var use_sim_time)"/>
<param name="robot_base_frame" value="twil_origin"/>
</node>
-
<node pkg="nav2_bt_navigator" exec="bt_navigator" name="bt_navigator">
<param name="use_sim_time" value="$(var use_sim_time)"/>
<param from="$(find-pkg-share twil_2dnav)/config/bt_navigator_params.yaml"/>
<param name="yaml_filename" value="$(find-pkg-share ufrgs_maps)/map/centenario1.yaml"/>
</node>
- <node name="depthimage_to_laserscan" pkg="depthimage_to_laserscan" exec="depthimage_to_laserscan_node">
- <remap from="depth" to="/camera/depth/image_raw"/>
- <remap from="depth_camera_info" to="/camera/depth/camera_info"/>
- <remap from="scan" to="/camera/depth/image_scan"/>
- <param name="output_frame" type="str" value="camera_link"/>
+ <let name="nav2_nodes" if="$(var amcl)" value="[
+ 'map_server',
+ 'amcl',
+ 'controller_server',
+ 'planner_server',
+ 'behavior_server',
+ 'bt_navigator']"/>
+ <let name="nav2_nodes" unless="$(var amcl)" value="[
+ 'map_server',
+ 'controller_server',
+ 'planner_server',
+ 'behavior_server',
+ 'bt_navigator']"/>
+ <node pkg="nav2_lifecycle_manager" exec="lifecycle_manager" name="lifecycle_manager_nav2">
+ <param name="use_sim_time" value="$(var use_sim_time)"/>
+ <param name="autostart" value="$(var autostart)"/>
+ <param name="node_names" value="$(var nav2_nodes)"/>
</node>
- <include file="$(find-pkg-share twil_2dnav)/launch/localization_$(var localization).launch.xml">
- <arg name="use_sim_time" value="$(var use_sim_time)"/>
- </include>
-
- <include file="$(find-pkg-share twil_2dnav)/launch/odom_$(var odom).launch.xml">
- <arg name="controller" value="$(var controller)"/>
- </include>
-
</launch>
<launch>
<arg name="controller" default=""/>
+ <arg name="use_sim_time" default="false"/>
<node pkg="robot_localization" exec="ekf_node" name="ekf_filter_node">
+ <param name="use_sim_time" value="$(var use_sim_time)"/>
<remap from="odometry/filtered" to="odom"/>
<param name="use_sim_time" value="$(var use_sim_time)"/>
<param name="odom0" value="$(var controller)/odom"/>
<launch>
+ <arg name="use_sim_time" default="false"/>
+
<node pkg="robot_localization" exec="ekf_node" name="ekf_filter_node">
+ <param name="use_sim_time" value="$(var use_sim_time)"/>
<remap from="odometry/filtered" to="odom"/>
<param name="use_sim_time" value="$(var use_sim_time)"/>
<param name="odom0" value="/fake_odom"/>
<launch>
+ <arg name="use_sim_time" default="false"/>
+
<node pkg="rtabmap_odom" exec="rgbd_odometry" name="rgbd_odometry" output="screen">
+ <param name="use_sim_time" value="$(var use_sim_time)"/>
+
+ <param name="use_sim_time" value="$(var use_sim_time)"/>
<param name="frame_id" value="twil_origin"/>
<param name="odom_frame_id" value="odom"/>
<param name="scan_normal_k" value="10"/>