15#ifndef ROS2_CONTROL_TEST_ASSETS__COMPONENTS_URDFS_HPP_
16#define ROS2_CONTROL_TEST_ASSETS__COMPONENTS_URDFS_HPP_
18namespace ros2_control_test_assets
21const auto valid_urdf_ros2_control_system_one_interface =
23 <ros2_control name="RRBotSystemPositionOnly" type="system">
25 <plugin>ros2_control_demo_hardware/RRBotSystemPositionOnlyHardware</plugin>
26 <param name="example_param_write_for_sec">2</param>
27 <param name="example_param_read_for_sec">2</param>
30 <command_interface name="position">
31 <param name="min">-1</param>
32 <param name="max">1</param>
34 <state_interface name="position"/>
37 <command_interface name="position">
38 <param name="min">-1</param>
39 <param name="max">1</param>
41 <state_interface name="position"/>
48const auto valid_urdf_ros2_control_system_multi_interface =
50 <ros2_control name="RRBotSystemMultiInterface" type="system">
52 <plugin>ros2_control_demo_hardware/RRBotSystemMultiInterfaceHardware</plugin>
53 <param name="example_param_write_for_sec">2</param>
54 <param name="example_param_read_for_sec">2</param>
57 <command_interface name="position">
58 <param name="min">-1</param>
59 <param name="max">1</param>
60 <param name="initial_value">1.2</param>
62 <command_interface name="velocity">
63 <param name="min">-1</param>
64 <param name="max">1</param>
65 <param name="initial_value">3.4</param>
67 <command_interface name="effort">
68 <param name="min">-0.5</param>
69 <param name="max">0.5"</param>
71 <state_interface name="position"/>
72 <state_interface name="velocity"/>
73 <state_interface name="effort"/>
76 <command_interface name="position">
77 <param name="min">-1</param>
78 <param name="max">1</param>
80 <state_interface name="position"/>
81 <state_interface name="velocity"/>
82 <state_interface name="effort"/>
89const auto valid_urdf_ros2_control_system_multi_interface_and_custom_interface_parameters =
91 <ros2_control name="RRBotSystemMultiInterface" type="system">
93 <plugin>ros2_control_demo_hardware/RRBotSystemMultiInterfaceHardware</plugin>
94 <param name="example_param_write_for_sec">2</param>
95 <param name="example_param_read_for_sec">2</param>
98 <command_interface name="position">
99 <param name="min">-1</param>
100 <param name="max">1</param>
101 <param name="initial_value">1.2</param>
102 <param name="register">1</param>
103 <param name="register_size">2</param>
105 <command_interface name="velocity">
106 <param name="min">-1.5</param>
107 <param name="max">1.5</param>
108 <param name="initial_value">3.4</param>
109 <param name="register">2</param>
110 <param name="register_size">4</param>
112 <command_interface name="effort">
113 <param name="min">-0.5</param>
114 <param name="max">0.5</param>
116 <state_interface name="position">
117 <param name="register">3</param>
118 <param name="register_size">2</param>
120 <state_interface name="velocity">
121 <param name="register">4</param>
122 <param name="register_size">4</param>
124 <state_interface name="effort"/>
125 <param name="modbus_server_ip">1.1.1.1</param>
126 <param name="modbus_server_port">1234</param>
127 <param name="use_persistent_connection">true</param>
129 <joint name="joint2">
130 <command_interface name="position">
131 <param name="min">-1</param>
132 <param name="max">1</param>
133 <param name="register">20</param>
134 <param name="data_type">int32_t</param>
136 <state_interface name="position">
137 <param name="register">21</param>
138 <param name="data_type">int32_t</param>
140 <state_interface name="velocity"/>
141 <state_interface name="effort">
142 <param name="register">21</param>
143 <param name="data_type">int32_t</param>
145 <param name="modbus_server_ip">192.168.178.123</param>
146 <param name="modbus_server_port">4321</param>
152const auto valid_urdf_ros2_control_system_robot_with_sensor =
154 <ros2_control name="RRBotSystemWithSensor" type="system">
156 <plugin>ros2_control_demo_hardware/RRBotSystemWithSensorHardware</plugin>
157 <param name="example_param_write_for_sec">2</param>
158 <param name="example_param_read_for_sec">2</param>
160 <joint name="joint1">
161 <command_interface name="position">
162 <param name="min">-1</param>
163 <param name="max">1</param>
165 <state_interface name="position"/>
167 <joint name="joint2">
168 <command_interface name="position">
169 <param name="min">-1</param>
170 <param name="max">1</param>
172 <state_interface name="position"/>
174 <sensor name="tcp_fts_sensor">
175 <state_interface name="fx"/>
176 <state_interface name="fy"/>
177 <state_interface name="fz"/>
178 <state_interface name="tx"/>
179 <state_interface name="ty"/>
180 <state_interface name="tz"/>
181 <param name="frame_id">kuka_tcp</param>
182 <param name="lower_limits">-100</param>
183 <param name="upper_limits">100</param>
189const auto valid_urdf_ros2_control_system_robot_with_external_sensor =
191 <ros2_control name="RRBotSystemPositionOnlyWithExternalSensor" type="system">
193 <plugin>ros2_control_demo_hardware/RRBotSystemPositionOnlyHardware</plugin>
194 <param name="example_param_write_for_sec">2</param>
195 <param name="example_param_read_for_sec">2</param>
197 <joint name="joint1">
198 <command_interface name="position">
199 <param name="min">-1</param>
200 <param name="max">1</param>
202 <state_interface name="position"/>
204 <joint name="joint2">
205 <command_interface name="position">
206 <param name="min">-1</param>
207 <param name="max">1</param>
209 <state_interface name="position"/>
212 <ros2_control name="RRBotForceTorqueSensor2D" type="sensor">
214 <plugin>ros2_control_demo_hardware/ForceTorqueSensor2DHardware</plugin>
215 <param name="example_param_read_for_sec">0.43</param>
217 <sensor name="tcp_fts_sensor">
218 <state_interface name="fx"/>
219 <state_interface name="fy"/>
220 <state_interface name="fz"/>
221 <state_interface name="tx"/>
222 <state_interface name="ty"/>
223 <state_interface name="tz"/>
224 <param name="frame_id">kuka_tcp</param>
225 <param name="lower_limits">-100</param>
226 <param name="upper_limits">100</param>
232const auto valid_urdf_ros2_control_actuator_modular_robot =
234 <ros2_control name="RRBotModularJoint1" type="actuator">
236 <plugin>ros2_control_demo_hardware/PositionActuatorHardware</plugin>
237 <group>Hardware Group</group>
238 <param name="example_param_write_for_sec">1.23</param>
239 <param name="example_param_read_for_sec">3</param>
241 <joint name="joint1">
242 <command_interface name="position">
243 <param name="min">-1</param>
244 <param name="max">1</param>
246 <state_interface name="position"/>
249 <ros2_control name="RRBotModularJoint2" type="actuator">
251 <plugin>ros2_control_demo_hardware/PositionActuatorHardware</plugin>
252 <group>Hardware Group</group>
253 <param name="example_param_write_for_sec">1.23</param>
254 <param name="example_param_read_for_sec">3</param>
256 <joint name="joint2">
257 <command_interface name="position">
258 <param name="min">-1</param>
259 <param name="max">1</param>
261 <state_interface name="position"/>
268const auto valid_urdf_ros2_control_actuator_modular_robot_sensors =
270 <ros2_control name="RRBotModularJoint1" type="actuator">
272 <plugin>ros2_control_demo_hardware/VelocityActuatorHardware</plugin>
273 <group>Hardware Group 1</group>
274 <param name="example_param_write_for_sec">1.23</param>
275 <param name="example_param_read_for_sec">3</param>
277 <joint name="joint1">
278 <command_interface name="velocity">
279 <param name="min">-1</param>
280 <param name="max">1</param>
282 <state_interface name="velocity"/>
284 <transmission name="transmission1">
285 <plugin>transmission_interface/SimpleTansmission</plugin>
286 <joint name="joint1" role="joint1">
287 <mechanical_reduction>325.949</mechanical_reduction>
291 <ros2_control name="RRBotModularJoint2" type="actuator">
293 <plugin>ros2_control_demo_hardware/VelocityActuatorHardware</plugin>
294 <group>Hardware Group 2</group>
295 <param name="example_param_write_for_sec">1.23</param>
296 <param name="example_param_read_for_sec">3</param>
298 <joint name="joint2">
299 <command_interface name="velocity">
300 <param name="min">-1</param>
301 <param name="max">1</param>
303 <state_interface name="velocity"/>
306 <ros2_control name="RRBotModularPositionSensorJoint1" type="sensor">
308 <plugin>ros2_control_demo_hardware/PositionSensorHardware</plugin>
309 <group>Hardware Group 1</group>
310 <param name="example_param_read_for_sec">2</param>
312 <joint name="joint1">
313 <state_interface name="position"/>
316 <ros2_control name="RRBotModularPositionSensorJoint2" type="sensor">
318 <plugin>ros2_control_demo_hardware/PositionSensorHardware</plugin>
319 <group>Hardware Group 2</group>
320 <param name="example_param_read_for_sec">2</param>
322 <joint name="joint2">
323 <state_interface name="position"/>
330const auto valid_urdf_ros2_control_system_multi_joints_transmission =
332 <ros2_control name="RRBotModularWrist" type="system">
334 <plugin>ros2_control_demo_hardware/ActuatorHardwareMultiDOF</plugin>
335 <param name="example_param_write_for_sec">1.23</param>
336 <param name="example_param_read_for_sec">3</param>
338 <joint name="joint1">
339 <command_interface name="position">
340 <param name="min">-1</param>
341 <param name="max">1</param>
343 <state_interface name="position"/>
345 <joint name="joint2">
346 <command_interface name="position">
347 <param name="min">-1</param>
348 <param name="max">1</param>
350 <state_interface name="position"/>
352 <transmission name="transmission1">
353 <plugin>transmission_interface/DifferentialTransmission</plugin>
354 <actuator name="joint1_motor" role="actuator1"/>
355 <actuator name="joint2_motor" role="actuator2"/>
356 <joint name="joint1" role="joint1">
357 <mechanical_reduction>10</mechanical_reduction>
360 <joint name="joint2" role="joint2">
361 <mechanical_reduction>50</mechanical_reduction>
368const auto valid_urdf_ros2_control_sensor_only =
370 <ros2_control name="CameraWithIMU" type="sensor">
372 <plugin>ros2_control_demo_hardware/CameraWithIMUSensor</plugin>
373 <param name="example_param_read_for_sec">2</param>
375 <sensor name="sensor1">
376 <state_interface name="roll"/>
377 <state_interface name="pitch"/>
378 <state_interface name="yaw"/>
380 <sensor name="sensor2">
381 <state_interface name="image"/>
387const auto valid_urdf_ros2_control_actuator_only =
389 <ros2_control name="ActuatorModularJoint1" type="actuator">
391 <plugin>ros2_control_demo_hardware/VelocityActuatorHardware</plugin>
392 <param name="example_param_write_for_sec">1.13</param>
393 <param name="example_param_read_for_sec">3</param>
395 <joint name="joint1">
396 <command_interface name="velocity">
397 <param name="min">-1</param>
398 <param name="max">1</param>
400 <state_interface name="velocity"/>
402 <transmission name="transmission1">
403 <plugin>transmission_interface/RotationToLinerTansmission</plugin>
404 <joint name="joint1" role="joint1">
405 <mechanical_reduction>325.949</mechanical_reduction>
407 <param name="additional_special_parameter">1337</param>
413const auto valid_urdf_ros2_control_system_robot_with_gpio =
415 <ros2_control name="RRBotSystemWithGPIO" type="system">
417 <plugin>ros2_control_demo_hardware/RRBotSystemWithGPIOHardware</plugin>
418 <param name="example_param_write_for_sec">2</param>
419 <param name="example_param_read_for_sec">2</param>
421 <joint name="joint1">
422 <command_interface name="position">
423 <param name="min">-1</param>
424 <param name="max">1</param>
426 <state_interface name="position"/>
428 <joint name="joint2">
429 <command_interface name="position">
430 <param name="min">-1</param>
431 <param name="max">1</param>
433 <state_interface name="position"/>
435 <gpio name="flange_analog_IOs">
436 <command_interface name="analog_output1"/>
437 <state_interface name="analog_output1"/> <!-- Needed to know current state of the output -->
438 <state_interface name="analog_input1"/>
439 <state_interface name="analog_input2"/>
441 <gpio name="flange_vacuum">
442 <command_interface name="vacuum"/>
443 <state_interface name="vacuum"> <!-- Needed to know current state of the input -->
444 <param name="initial_value">1.0</param>
451const auto valid_urdf_ros2_control_system_robot_with_size_and_data_type =
453 <ros2_control name="RRBotSystemWithSizeAndDataType" type="system">
455 <plugin>ros2_control_demo_hardware/RRBotSystemWithSizeAndDataType</plugin>
456 <param name="example_param_write_for_sec">2</param>
457 <param name="example_param_read_for_sec">2</param>
459 <joint name="joint1">
460 <command_interface name="position"/>
461 <state_interface name="position"/>
463 <gpio name="flange_IOS">
464 <command_interface name="digital_output" size="2" data_type="bool"/>
465 <state_interface name="analog_input" size="3"/>
466 <state_interface name="image" data_type="cv::Mat"/>
472const auto valid_urdf_ros2_control_system_robot_with_gpio_and_disabled_interface_limits =
474 <ros2_control name="RRBotSystemWithGPIO" type="system">
476 <plugin>ros2_control_demo_hardware/RRBotSystemWithGPIOHardware</plugin>
477 <param name="example_param_write_for_sec">2</param>
478 <param name="example_param_read_for_sec">2</param>
480 <joint name="joint1">
481 <command_interface name="position">
482 <limits enable="false"/>
483 <param name="min">-1</param>
484 <param name="max">1</param>
486 <command_interface name="velocity">
487 <param name="min">-0.05</param>
488 <param name="max">0.1</param>
490 <command_interface name="effort">
491 <param name="min">-0.2</param>
492 <param name="max">0.2</param>
494 <command_interface name="acceleration">
495 <param name="min">-0.5</param>
496 <param name="max">0.5</param>
498 <command_interface name="jerk">
499 <param name="max">5.0</param>
501 <state_interface name="position"/>
503 <joint name="joint2">
504 <limits enable="false"/>
505 <command_interface name="position">
506 <param name="min">-1</param>
507 <param name="max">1</param>
509 <command_interface name="velocity"/>
510 <command_interface name="effort"/>
511 <command_interface name="acceleration">
512 <param name="min">-0.3</param>
513 <param name="max">0.3</param>
515 <command_interface name="jerk">
516 <param name="min">-2.0</param>
517 <param name="max">2.0</param>
519 <state_interface name="position"/>
521 <joint name="joint3">
522 <command_interface name="acceleration">
523 <param name="max">1.0</param>
526 <gpio name="flange_IOS">
527 <command_interface name="digital_output" size="2" data_type="bool"/>
528 <state_interface name="analog_input" size="3"/>
529 <state_interface name="image" data_type="cv::Mat"/>
533const auto valid_urdf_ros2_control_system_robot_with_unavailable_interfaces =
535 <ros2_control name="RRBotSystemWithGPIO" type="system">
537 <plugin>ros2_control_demo_hardware/RRBotSystemWithGPIOHardware</plugin>
538 <param name="example_param_write_for_sec">2</param>
539 <param name="example_param_read_for_sec">2</param>
541 <joint name="joint1">
542 <command_interface name="position">
543 <limits enable="false"/>
544 <param name="min">-1</param>
545 <param name="max">1</param>
547 <command_interface name="velocity">
548 <param name="min">-0.05</param>
549 <param name="max">0.1</param>
551 <command_interface name="effort">
552 <param name="min">-0.2</param>
553 <param name="max">0.2</param>
555 <command_interface name="acceleration">
556 <param name="min">-0.5</param>
557 <param name="max">0.5</param>
559 <command_interface name="jerk">
560 <param name="max">5.0</param>
562 <state_interface name="position"/>
564 <joint name="joint2">
565 <limits enable="false"/>
566 <command_interface name="position">
567 <param name="min">-1</param>
568 <param name="max">1</param>
570 <command_interface name="velocity"/>
571 <command_interface name="effort"/>
572 <command_interface name="acceleration">
573 <param name="min">-0.3</param>
574 <param name="max">0.3</param>
576 <command_interface name="jerk"/>
577 <state_interface name="position"/>
579 <joint name="joint3">
580 <command_interface name="acceleration">
581 <param name="min">1.0</param>
583 <command_interface name="unavailable">
584 <param name="min">-0.3</param>
585 <param name="max">0.3</param>
590const auto valid_urdf_ros2_control_system_robot_with_all_interfaces =
592 <ros2_control name="RRBotSystemWithGPIO" type="system">
594 <plugin>ros2_control_demo_hardware/RRBotSystemWithGPIOHardware</plugin>
595 <param name="example_param_write_for_sec">2</param>
596 <param name="example_param_read_for_sec">2</param>
598 <joint name="joint1">
599 <command_interface name="position">
600 <param name="min">-1</param>
601 <param name="max">1</param>
603 <command_interface name="velocity">
604 <param name="min">-0.05</param>
605 <param name="max">0.1</param>
607 <command_interface name="effort">
608 <param name="min">-0.2</param>
609 <param name="max">0.2</param>
611 <command_interface name="acceleration">
612 <param name="min">-0.5</param>
613 <param name="max">0.5</param>
615 <command_interface name="jerk">
616 <param name="max">5.0</param>
618 <state_interface name="position"/>
620 <joint name="joint2">
621 <command_interface name="position"/>
622 <command_interface name="velocity"/>
623 <command_interface name="effort"/>
624 <command_interface name="acceleration"/>
625 <command_interface name="jerk"/>
626 <state_interface name="position"/>
632const auto valid_urdf_ros2_control_voltage_sensor_only =
634 <ros2_control name="SingleJointVoltage" type="sensor">
636 <plugin>ros2_control_demo_hardware/SingleJointVoltageSensor</plugin>
637 <param name="example_param_read_for_sec">2</param>
639 <sensor name="sens1">
640 <state_interface name="voltage" initial_value="0.0"/>
646const auto valid_urdf_ros2_control_joint_voltage_sensor =
648 <ros2_control name="SingleJointVoltage" type="sensor">
650 <plugin>ros2_control_demo_hardware/SingleJointVoltageSensor</plugin>
651 <param name="example_param_read_for_sec">2</param>
653 <joint name="joint1">
654 <state_interface name="position"/>
656 <sensor name="sens1">
657 <state_interface name="voltage" initial_value="0.0"/>
662const auto valid_urdf_ros2_control_dummy_actuator_only =
664 <ros2_control name="ActuatorModularJoint1" type="actuator">
666 <plugin>ros2_control_demo_hardware/VelocityActuatorHardware</plugin>
667 <param name="example_param_write_for_sec">1.13</param>
668 <param name="example_param_read_for_sec">3</param>
670 <joint name="joint1">
671 <command_interface name="velocity">
672 <param name="min">-1</param>
673 <param name="max">1</param>
675 <state_interface name="position"/>
676 <state_interface name="velocity"/>
678 <transmission name="transmission1">
679 <plugin>transmission_interface/RotationToLinerTansmission</plugin>
680 <joint name="joint1" role="joint1">
681 <mechanical_reduction>325.949</mechanical_reduction>
683 <param name="additional_special_parameter">1337</param>
688const auto valid_urdf_ros2_control_dummy_system_robot =
690 <ros2_control name="RRBotSystemWithGPIO" type="system">
692 <plugin>ros2_control_demo_hardware/RRBotSystemWithGPIOHardware</plugin>
693 <param name="example_param_write_for_sec">2</param>
694 <param name="example_param_read_for_sec">2</param>
696 <joint name="joint1">
697 <command_interface name="velocity">
698 <param name="min">-1</param>
699 <param name="max">1</param>
701 <state_interface name="position"/>
702 <state_interface name="velocity"/>
704 <joint name="joint2">
705 <command_interface name="velocity">
706 <param name="min">-1</param>
707 <param name="max">1</param>
709 <state_interface name="position"/>
710 <state_interface name="velocity"/>
712 <joint name="joint3">
713 <command_interface name="velocity">
714 <param name="min">-1</param>
715 <param name="max">1</param>
717 <state_interface name="position"/>
718 <state_interface name="velocity"/>
723const auto valid_urdf_ros2_control_parameter_empty =
725 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
727 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
728 <param name="example_param_write_for_sec"></param>
729 <param name="example_param_read_for_sec">2</param>
731 <joint name="joint1">
732 <command_interface name="position">
738const auto valid_urdf_ros2_control_system_robot_with_size_and_data_type_on_joint_sensor_and_gpio =
740 <ros2_control name="RRBotSystemWithSizeAndDataType" type="system">
742 <plugin>ros2_control_demo_hardware/RRBotSystemWithSizeAndDataType</plugin>
743 <param name="example_param_write_for_sec">2</param>
744 <param name="example_param_read_for_sec">2</param>
746 <joint name="joint1">
747 <command_interface name="position"/>
748 <state_interface name="position"/>
749 <state_interface name="status" data_type="bool"/>
750 <command_interface name="enable" data_type="bool"/>
752 <sensor name="trigger">
753 <command_interface name="safety" data_type="bool"/>
754 <state_interface name="safety" data_type="bool"/>
756 <gpio name="flange_IOS">
757 <command_interface name="digital_output" size="2" data_type="bool"/>
758 <state_interface name="analog_input" size="3"/>
759 <state_interface name="image" data_type="cv::Mat"/>
765const auto invalid_urdf_ros2_control_invalid_child =
767 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
769 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
770 <param name="example_param_write_for_sec">2</param>
771 <param name="example_param_read_for_sec">2</param>
776const auto invalid_urdf_ros2_control_missing_attribute =
778 <ros2_control type="system">
780 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
781 <param name="example_param_write_for_sec">2</param>
782 <param name="example_param_read_for_sec">2</param>
787const auto invalid_urdf_ros2_control_component_missing_plugin_name =
789 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
791 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
792 <param name="example_param_write_for_sec">2</param>
793 <param name="example_param_read_for_sec">2</param>
795 <joint name="joint1">
796 <param name="min_position_value">-1</param>
797 <param name="max_position_value">1</param>
802const auto invalid_urdf_ros2_control_parameter_missing_name =
804 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
806 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
808 <param name="example_param_read_for_sec">2</param>
810 <joint name="joint1">
811 <plugin>ros2_control_components/PositionJoint</plugin>
812 <param name="min_position_value">-1</param>
813 <param name="max_position_value">1</param>
818const auto invalid_urdf_ros2_control_component_plugin_name_empty =
820 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
822 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
823 <param name="example_param_write_for_sec">2</param>
824 <param name="example_param_read_for_sec">2</param>
826 <joint name="joint1">
828 <param name="min_position_value">-1</param>
829 <param name="max_position_value">1</param>
834const auto invalid_urdf_ros2_control_component_interface_type_empty =
836 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
838 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
839 <param name="example_param_write_for_sec">2</param>
840 <param name="example_param_read_for_sec">2</param>
842 <joint name="joint1">
843 <plugin>ros2_control_components/PositionJoint</plugin>
844 <state_interface></state_interface>
845 <param name="min_position_value">-1</param>
846 <param name="max_position_value">1</param>
851const auto invalid_urdf2_ros2_control_illegal_size =
853 <ros2_control name="RRBotSystemWithIllegalSize" type="system">
855 <plugin>ros2_control_demo_hardware/RRBotSystemWithIllegalSize</plugin>
857 <gpio name="flange_IOS">
858 <command_interface name="digital_output" data_type="bool" size="-4"/>
863const auto invalid_urdf2_ros2_control_illegal_size2 =
865 <ros2_control name="RRBotSystemWithIllegalSize2" type="system">
867 <plugin>ros2_control_demo_hardware/RRBotSystemWithIllegalSize2</plugin>
869 <gpio name="flange_IOS">
870 <command_interface name="digital_output" data_type="bool" size="ILLEGAL"/>
875const auto invalid_urdf2_hw_transmission_joint_mismatch =
877 <ros2_control name="ActuatorModularJoint1" type="actuator">
879 <plugin>ros2_control_demo_hardware/VelocityActuatorHardware</plugin>
881 <joint name="joint1">
882 <command_interface name="velocity">
883 <param name="min">-1</param>
884 <param name="max">1</param>
886 <state_interface name="velocity"/>
888 <transmission name="transmission1">
889 <plugin>transmission_interface/SimpleTransmission</plugin>
890 <joint name="joint31415" role="joint1"/>
895const auto invalid_urdf2_transmission_given_too_many_joints =
897 <ros2_control name="ActuatorModularJoint1" type="actuator">
899 <plugin>ros2_control_demo_hardware/VelocityActuatorHardware</plugin>
901 <joint name="joint1">
902 <command_interface name="velocity">
903 <param name="min">-1</param>
904 <param name="max">1</param>
906 <state_interface name="velocity"/>
908 <transmission name="transmission1">
909 <plugin>transmission_interface/SimpleTransmission</plugin>
910 <joint name="joint1" role="joint1"/>
911 <joint name="joint2" role="joint2"/>
916const auto invalid_urdf_ros2_control_system_with_command_fixed_joint =
918 <ros2_control name="2DOF_System_Robot_Position_Only" type="system">
920 <plugin>ros2_control_demo_hardware/2DOF_System_Hardware_Position_Only</plugin>
921 <param name="example_param_write_for_sec">2</param>
922 <param name="example_param_read_for_sec">2</param>
924 <joint name="tool_joint">
925 <command_interface name="position">