Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
81 changes: 27 additions & 54 deletions launch/display.launch.py
Original file line number Diff line number Diff line change
@@ -1,61 +1,34 @@
from ament_index_python.packages import get_package_share_path

from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.conditions import IfCondition, UnlessCondition
from launch.substitutions import Command, LaunchConfiguration

from launch_ros.actions import Node
from launch_ros.parameter_descriptions import ParameterValue
from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription
from launch.substitutions import LaunchConfiguration, PathJoinSubstitution
from launch_ros.substitutions import FindPackageShare

def generate_launch_description():
urdf_tutorial_path = get_package_share_path('urdf_tutorial')
default_model_path = urdf_tutorial_path / 'urdf/01-myfirst.urdf'
default_rviz_config_path = urdf_tutorial_path / 'rviz/urdf.rviz'
ld = LaunchDescription()

urdf_tutorial_path = FindPackageShare('urdf_tutorial')
default_model_path = PathJoinSubstitution(['urdf', '01-myfirst.urdf'])
default_rviz_config_path = PathJoinSubstitution([urdf_tutorial_path, 'rviz', 'urdf.rviz'])

# These parameters are maintained for backwards compatibility
gui_arg = DeclareLaunchArgument(name='gui', default_value='true', choices=['true', 'false'],
description='Flag to enable joint_state_publisher_gui')
model_arg = DeclareLaunchArgument(name='model', default_value=str(default_model_path),
description='Absolute path to robot urdf file')
rviz_arg = DeclareLaunchArgument(name='rvizconfig', default_value=str(default_rviz_config_path),
ld.add_action(gui_arg)
rviz_arg = DeclareLaunchArgument(name='rvizconfig', default_value=default_rviz_config_path,
description='Absolute path to rviz config file')

robot_description = ParameterValue(Command(['xacro ', LaunchConfiguration('model')]),
value_type=str)

robot_state_publisher_node = Node(
package='robot_state_publisher',
executable='robot_state_publisher',
parameters=[{'robot_description': robot_description}]
)

# Depending on gui parameter, either launch joint_state_publisher or joint_state_publisher_gui
joint_state_publisher_node = Node(
package='joint_state_publisher',
executable='joint_state_publisher',
condition=UnlessCondition(LaunchConfiguration('gui'))
)

joint_state_publisher_gui_node = Node(
package='joint_state_publisher_gui',
executable='joint_state_publisher_gui',
condition=IfCondition(LaunchConfiguration('gui'))
)

rviz_node = Node(
package='rviz2',
executable='rviz2',
name='rviz2',
output='screen',
arguments=['-d', LaunchConfiguration('rvizconfig')],
)

return LaunchDescription([
gui_arg,
model_arg,
rviz_arg,
joint_state_publisher_node,
joint_state_publisher_gui_node,
robot_state_publisher_node,
rviz_node
])
ld.add_action(rviz_arg)

# This parameter has changed its meaning slightly from previous versions
ld.add_action(DeclareLaunchArgument(name='model', default_value=str(default_model_path),
description='Path to robot urdf file relative to urdf_tutorial package'))

ld.add_action(IncludeLaunchDescription(
PathJoinSubstitution([FindPackageShare('urdf_launch'), 'launch', 'display.launch.py']),
launch_arguments={
'urdf_package': 'urdf_tutorial',
'urdf_package_path': LaunchConfiguration('model'),
'rviz_config': LaunchConfiguration('rvizconfig'),
'jsp_gui': LaunchConfiguration('gui')}.items()
))

return ld
6 changes: 1 addition & 5 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,7 @@
<url>http://ros.org/wiki/urdf_tutorial</url>

<buildtool_depend>ament_cmake</buildtool_depend>
<exec_depend>joint_state_publisher</exec_depend>
<exec_depend>joint_state_publisher_gui</exec_depend>
<exec_depend>robot_state_publisher</exec_depend>
<exec_depend>rviz2</exec_depend>
<exec_depend>xacro</exec_depend>
<exec_depend>urdf_launch</exec_depend>

<test_depend>ament_lint_auto</test_depend>

Expand Down