43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
import os
|
||
import launch
|
||
import launch_ros
|
||
from launch_ros.actions import Node
|
||
from launch import LaunchDescription
|
||
from ament_index_python.packages import get_package_share_directory
|
||
import xacro
|
||
|
||
def generate_launch_description():
|
||
# 获取默认的urdf文件路径
|
||
pkg_trolley = get_package_share_directory('trolley')
|
||
xacro_path = os.path.join(pkg_trolley, 'urdf', 'miniBox.urdf.xacro')
|
||
# 处理xacro文件,生成robot_description参数
|
||
robot_description_config = xacro.process_file(xacro_path).toxml()
|
||
|
||
# 创建Node节点,发布robot_description参数
|
||
rsp = Node(
|
||
package='robot_state_publisher',
|
||
executable='robot_state_publisher',
|
||
output='screen',
|
||
parameters=[{'robot_description': robot_description_config}]
|
||
)
|
||
|
||
# 给可动关节提供 joint_states 发布器
|
||
jsp=Node(
|
||
package='joint_state_publisher',
|
||
executable='joint_state_publisher',
|
||
output='screen',
|
||
parameters=[]
|
||
)
|
||
|
||
rviz = Node(
|
||
package='rviz2',
|
||
executable='rviz2',
|
||
output='screen',
|
||
arguments=[]
|
||
)
|
||
|
||
return launch.LaunchDescription([
|
||
rsp,
|
||
jsp,
|
||
rviz
|
||
]) |