-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcontrollerlaunch.py
53 lines (49 loc) · 1.85 KB
/
controllerlaunch.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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import ExecuteProcess
from launch_ros.actions import Node
from scripts import GazeboRosPaths
def generate_launch_description():
package_share_dir = get_package_share_directory("6dof_robot")
urdf_file = os.path.join(package_share_dir, "urdf", "6dof_robot.urdf")
controller_file = os.path.join(package_share_dir, "config", "jtc.yaml")
robot_description = {"robot_description": urdf_file}
return LaunchDescription(
[
ExecuteProcess(
cmd=["gazebo","-s","libgazebo_ros_factory.so",],
output="screen",
),
Node(
package="gazebo_ros",
node_executable="spawn_entity.py",
arguments=["-entity","big_bazu","-b","-file", urdf_file,],
),
Node(
package="robot_state_publisher",
executable="robot_state_publisher",
output="screen",
arguments=[urdf_file],
),
Node(
package="controller_manager",
executable="ros2_control_node",
parameters=[robot_description, controller_file],
output={
"stdout": "screen",
"stderr": "screen",
},
),
Node(
package="controller_manager",
executable="spawner.py",
arguments=["joint_state_broadcaster", "--controller-manager", "/controller_manager"],
),
Node(
package="controller_manager",
executable="spawner.py",
arguments=["joint_trajectory_controller", "-c", "/controller_manager"],
)
]
)