Siddharth Saha's NDoF Sensor Driver for Machina Labs  v1.0.0
ROS 2 Driver for Machina Labs' NDoF Sensor
Functions
machina_ndof_sensor_driver Namespace Reference

Functions

def generate_launch_description ()
 

Function Documentation

◆ generate_launch_description()

def machina_ndof_sensor_driver.generate_launch_description ( )
25  # Get the package share directory
26  machina_ndof_sensor_driver_system_tests_dir = get_package_share_directory(
27  "machina_ndof_sensor_driver_system_tests"
28  )
29 
30  # Create the path to the param files
31  sensor_1_service_param_file = (
32  Path(machina_ndof_sensor_driver_system_tests_dir)
33  / "param"
34  / "machina_ndof_sensor_driver_service_sensor_1.param.yaml"
35  )
36  sensor_2_service_param_file = (
37  Path(machina_ndof_sensor_driver_system_tests_dir)
38  / "param"
39  / "machina_ndof_sensor_driver_service_sensor_2.param.yaml"
40  )
41  sensors_client_param_file = (
42  Path(machina_ndof_sensor_driver_system_tests_dir)
43  / "param"
44  / "machina_ndof_sensor_driver_client.param.yaml"
45  )
46 
47  # Create a ComposableNodeContainer to hold the nodes
48  container = ComposableNodeContainer(
49  name="machina_ndof_sensor_driver_container",
50  namespace="",
51  package="rclcpp_components",
52  executable="component_container",
53  composable_node_descriptions=[
54  # Create a ComposableNode for the services
55  ComposableNode(
56  package="machina_ndof_sensor_driver_service",
57  plugin="machina::service::ndof_sensor_driver::MachinaNDofSensorDriverServiceNode",
58  name="machina_ndof_sensor_driver_service_node_1",
59  parameters=[sensor_1_service_param_file],
60  remappings=[
61  ("get_latest_sensor_data", "get_latest_sensor_data_1"),
62  ],
63  extra_arguments=[{"use_intra_process_comms": True}],
64  ),
65  ComposableNode(
66  package="machina_ndof_sensor_driver_service",
67  plugin="machina::service::ndof_sensor_driver::MachinaNDofSensorDriverServiceNode",
68  name="machina_ndof_sensor_driver_service_node_2",
69  parameters=[sensor_2_service_param_file],
70  remappings=[
71  ("get_latest_sensor_data", "get_latest_sensor_data_2"),
72  ],
73  extra_arguments=[{"use_intra_process_comms": True}],
74  ),
75  # Create a ComposableNode for the client
76  ComposableNode(
77  package="machina_ndof_sensor_driver_client",
78  plugin="machina::client::ndof_sensor_driver::MachinaNDofSensorDriverClientNode",
79  name="machina_ndof_sensor_driver_client_node",
80  parameters=[sensors_client_param_file],
81  remappings=[
82  ("get_latest_sensor_data_0", "get_latest_sensor_data_1"),
83  ("get_latest_sensor_data_1", "get_latest_sensor_data_2"),
84  ],
85  extra_arguments=[{"use_intra_process_comms": True}],
86  ),
87  ],
88  output="screen",
89  emulate_tty=True,
90  )
91 
92  # Create the launch description and populate
93  ld = LaunchDescription()
94  # Add the container to the launch description
95  ld.add_action(container)
96 
97  return ld
Path
Definition: examine_sensor_output.py:58
def generate_launch_description()
Definition: machina_ndof_sensor_driver.launch.py:24