-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathstate_publisher.launch.py
executable file
·30 lines (28 loc) · 1.42 KB
/
state_publisher.launch.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import launch
import os
from launch.substitutions import Command, LaunchConfiguration
import launch_ros
from launch_ros.descriptions import ParameterValue
def generate_launch_description():
pkg_share = launch_ros.substitutions.FindPackageShare(package='acrux_description').find('acrux_description')
use_sim_time = LaunchConfiguration('use_sim_time')
default_model_path = os.path.join(pkg_share, 'urdf/acrux.xacro')
robot_state_publisher_node = launch_ros.actions.Node(
package='robot_state_publisher',
executable='robot_state_publisher',
parameters=[{'use_sim_time': use_sim_time},{'robot_description': ParameterValue(Command(['xacro ', LaunchConfiguration('model')]),value_type=str)}]
)
joint_state_publisher_node = launch_ros.actions.Node(
package='joint_state_publisher',
executable='joint_state_publisher',
name='joint_state_publisher',
parameters= [{'use_sim_time': use_sim_time}],
)
return launch.LaunchDescription([
launch.actions.DeclareLaunchArgument(name='use_sim_time', default_value='True',
description='Flag to enable use_sim_time'),
launch.actions.DeclareLaunchArgument(name='model', default_value=default_model_path,
description='Absolute path to robot urdf file'),
robot_state_publisher_node,
joint_state_publisher_node
])