Ver código fonte

Refactorization for launch files

main
Marcus Grieger 1 ano atrás
pai
commit
ee9a42fdf8
4 arquivos alterados com 133 adições e 0 exclusões
  1. +0
    -0
      launch/joint_trajectory_control.launch.py
  2. +0
    -0
      launch/move_group.launch.py
  3. +96
    -0
      launch/move_group_gui.launch.py
  4. +37
    -0
      launch/rviz.launch.py

launch/hexapod_robot_gui.launch.py → launch/joint_trajectory_control.launch.py Ver arquivo


launch/hexapod_robot.launch.py → launch/move_group.launch.py Ver arquivo


+ 96
- 0
launch/move_group_gui.launch.py Ver arquivo

@@ -0,0 +1,96 @@
from launch import LaunchDescription
from launch.actions import RegisterEventHandler
from launch.substitutions import Command, FindExecutable, LaunchConfiguration, PathJoinSubstitution
from launch.event_handlers import OnProcessExit

from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare

from moveit_configs_utils import MoveItConfigsBuilder


def generate_launch_description():

moveit_config = (
MoveItConfigsBuilder("hexapod_robot", package_name = "hexapod_robot")

.planning_scene_monitor(
publish_robot_description=True, publish_robot_description_semantic=True
)
.planning_pipelines(pipelines = ["ompl"])
.to_moveit_configs()
)

move_group_node = Node(
package = "moveit_ros_move_group",
executable = "move_group",
output = "screen",
parameters = [moveit_config.to_dict()]
)

ros2_controllers = PathJoinSubstitution([FindPackageShare("hexapod_robot"), "config", "ros2_controllers.yaml"])

robot_state_publisher_node = Node(
package = "robot_state_publisher",
executable = "robot_state_publisher",
parameters = [moveit_config.robot_description],
output = "both"
)

ros2_control_node = Node(
package = "controller_manager",
executable = "ros2_control_node",
parameters = [moveit_config.robot_description, ros2_controllers],
output="both"
)

rviz_node = Node(
package = "rviz2",
executable = "rviz2",
arguments = ['-d', PathJoinSubstitution([FindPackageShare("hexapod_robot"), "config", "hexapod_robot.rviz"])],
name = "rviz2",
output = "screen",
parameters = [moveit_config.planning_pipelines, moveit_config.robot_description_kinematics]
)

joint_state_broadcaster_spawner = Node (
package = "controller_manager",
executable = "spawner",
arguments = ["joint_state_broadcaster", "--controller-manager", "/controller_manager"]
)

joint_trajectory_controller_spawner = Node(
package = "controller_manager",
executable = "spawner",
arguments = ["e1_group_controller", "e2_group_controller", "e3_group_controller", "e4_group_controller", "e5_group_controller", "e6_group_controller", "--controller-manager", "/controller_manager"]
)


delay_rviz_after_joint_state_broadcaster_spawner = RegisterEventHandler(
event_handler = OnProcessExit(
target_action = joint_state_broadcaster_spawner,
on_exit = [rviz_node]
)
)


delay_joint_trajectory_controller_spawner_after_joint_state_broadcaster_spawner = RegisterEventHandler(
event_handler = OnProcessExit(
target_action = joint_state_broadcaster_spawner,
on_exit = [joint_trajectory_controller_spawner]
)
)


nodes = [
robot_state_publisher_node,
move_group_node,
ros2_control_node,
joint_state_broadcaster_spawner,
delay_rviz_after_joint_state_broadcaster_spawner,
# delay_forward_position_controller_spawner_after_joint_state_broadcaster_spawner,
delay_joint_trajectory_controller_spawner_after_joint_state_broadcaster_spawner
]
return LaunchDescription(nodes)

+ 37
- 0
launch/rviz.launch.py Ver arquivo

@@ -0,0 +1,37 @@
from launch import LaunchDescription
from launch.actions import RegisterEventHandler
from launch.substitutions import Command, FindExecutable, LaunchConfiguration, PathJoinSubstitution
from launch.event_handlers import OnProcessExit

from launch_ros.actions import Node
from launch_ros.substitutions import FindPackageShare

from moveit_configs_utils import MoveItConfigsBuilder


def generate_launch_description():

moveit_config = (
MoveItConfigsBuilder("hexapod_robot", package_name = "hexapod_robot")

.planning_scene_monitor(
publish_robot_description=True, publish_robot_description_semantic=True
)
.planning_pipelines(pipelines = ["ompl"])
.to_moveit_configs()
)

rviz_node = Node(
package = "rviz2",
executable = "rviz2",
arguments = ['-d', PathJoinSubstitution([FindPackageShare("hexapod_robot"), "config", "hexapod_robot.rviz"])],
name = "rviz2",
output = "screen",
parameters = [moveit_config.planning_pipelines, moveit_config.robot_description_kinematics]
)
nodes = [
rviz_node
]
return LaunchDescription(nodes)

Carregando…
Cancelar
Salvar