16 from launch
import LaunchDescription
18 import launch_ros.actions
21 def generate_launch_description() -> LaunchDescription:
22 launch_dir = os.path.dirname(os.path.realpath(__file__))
23 params_file = os.path.join(launch_dir,
'dual_ekf_navsat_params.yaml')
24 os.environ[
'FILE_PATH'] = str(launch_dir)
25 return LaunchDescription(
27 launch.actions.DeclareLaunchArgument(
28 'output_final_position', default_value=
'false'
30 launch.actions.DeclareLaunchArgument(
31 'output_location', default_value=
'~/dual_ekf_navsat_example_debug.txt'
33 launch_ros.actions.Node(
34 package=
'robot_localization',
35 executable=
'ekf_node',
36 name=
'ekf_filter_node_odom',
38 parameters=[params_file, {
'use_sim_time':
True}],
39 remappings=[(
'odometry/filtered',
'odometry/local')],
41 launch_ros.actions.Node(
42 package=
'robot_localization',
43 executable=
'ekf_node',
44 name=
'ekf_filter_node_map',
46 parameters=[params_file, {
'use_sim_time':
True}],
47 remappings=[(
'odometry/filtered',
'odometry/global')],
49 launch_ros.actions.Node(
50 package=
'robot_localization',
51 executable=
'navsat_transform_node',
52 name=
'navsat_transform',
54 parameters=[params_file, {
'use_sim_time':
True}],
56 (
'imu/data',
'imu/data'),
57 (
'gps/fix',
'gps/fix'),
58 (
'gps/filtered',
'gps/filtered'),
59 (
'odometry/gps',
'odometry/gps'),
60 (
'odometry/filtered',
'odometry/global'),