36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
import os
|
|
from launch import LaunchDescription
|
|
from launch.actions import IncludeLaunchDescription
|
|
from launch.launch_description_sources import PythonLaunchDescriptionSource
|
|
from launch_ros.actions import Node
|
|
from launch.substitutions import Command
|
|
from ament_index_python.packages import get_package_share_directory
|
|
|
|
def generate_launch_description():
|
|
pkg_dir = get_package_share_directory('agv_pro_description')
|
|
xacro_file = os.path.join(pkg_dir, 'urdf', 'minimal_robot.xacro')
|
|
world_file = os.path.join(pkg_dir, 'worlds', 'empty.world')
|
|
|
|
robot_description = {'robot_description': Command(['xacro ', xacro_file])}
|
|
|
|
return LaunchDescription([
|
|
IncludeLaunchDescription(
|
|
PythonLaunchDescriptionSource(
|
|
os.path.join(get_package_share_directory('gazebo_ros'), 'launch', 'gazebo.launch.py')
|
|
),
|
|
launch_arguments={'world': world_file}.items()
|
|
),
|
|
Node(
|
|
package='robot_state_publisher',
|
|
executable='robot_state_publisher',
|
|
parameters=[robot_description],
|
|
output='screen'
|
|
),
|
|
Node(
|
|
package='gazebo_ros',
|
|
executable='spawn_entity.py',
|
|
arguments=['-topic', 'robot_description', '-entity', 'minimal_bot'],
|
|
output='screen'
|
|
)
|
|
])
|