@@ -68,48 +68,64 @@ URPositionHardwareInterface::URPositionHardwareInterface()
6868 mode_compatibility_[hardware_interface::HW_IF_POSITION][PASSTHROUGH_GPIO] = false ;
6969 mode_compatibility_[hardware_interface::HW_IF_POSITION][FREEDRIVE_MODE_GPIO] = false ;
7070 mode_compatibility_[hardware_interface::HW_IF_POSITION][TOOL_CONTACT_GPIO] = true ;
71+ mode_compatibility_[hardware_interface::HW_IF_POSITION][HW_IF_MOTION_PRIMITIVES] = false ;
7172
7273 mode_compatibility_[hardware_interface::HW_IF_VELOCITY][hardware_interface::HW_IF_POSITION] = false ;
7374 mode_compatibility_[hardware_interface::HW_IF_VELOCITY][hardware_interface::HW_IF_EFFORT] = false ;
7475 mode_compatibility_[hardware_interface::HW_IF_VELOCITY][FORCE_MODE_GPIO] = false ;
7576 mode_compatibility_[hardware_interface::HW_IF_VELOCITY][PASSTHROUGH_GPIO] = false ;
7677 mode_compatibility_[hardware_interface::HW_IF_VELOCITY][FREEDRIVE_MODE_GPIO] = false ;
7778 mode_compatibility_[hardware_interface::HW_IF_VELOCITY][TOOL_CONTACT_GPIO] = true ;
79+ mode_compatibility_[hardware_interface::HW_IF_VELOCITY][HW_IF_MOTION_PRIMITIVES] = false ;
7880
7981 mode_compatibility_[hardware_interface::HW_IF_EFFORT][hardware_interface::HW_IF_POSITION] = false ;
8082 mode_compatibility_[hardware_interface::HW_IF_EFFORT][hardware_interface::HW_IF_VELOCITY] = false ;
8183 mode_compatibility_[hardware_interface::HW_IF_EFFORT][FORCE_MODE_GPIO] = false ;
8284 mode_compatibility_[hardware_interface::HW_IF_EFFORT][PASSTHROUGH_GPIO] = false ;
8385 mode_compatibility_[hardware_interface::HW_IF_EFFORT][FREEDRIVE_MODE_GPIO] = false ;
8486 mode_compatibility_[hardware_interface::HW_IF_EFFORT][TOOL_CONTACT_GPIO] = true ;
87+ mode_compatibility_[hardware_interface::HW_IF_EFFORT][HW_IF_MOTION_PRIMITIVES] = false ;
8588
8689 mode_compatibility_[FORCE_MODE_GPIO][hardware_interface::HW_IF_POSITION] = false ;
8790 mode_compatibility_[FORCE_MODE_GPIO][hardware_interface::HW_IF_VELOCITY] = false ;
8891 mode_compatibility_[FORCE_MODE_GPIO][hardware_interface::HW_IF_EFFORT] = false ;
8992 mode_compatibility_[FORCE_MODE_GPIO][PASSTHROUGH_GPIO] = true ;
9093 mode_compatibility_[FORCE_MODE_GPIO][FREEDRIVE_MODE_GPIO] = false ;
9194 mode_compatibility_[FORCE_MODE_GPIO][TOOL_CONTACT_GPIO] = false ;
95+ mode_compatibility_[FORCE_MODE_GPIO][HW_IF_MOTION_PRIMITIVES] = true ;
9296
9397 mode_compatibility_[PASSTHROUGH_GPIO][hardware_interface::HW_IF_POSITION] = false ;
9498 mode_compatibility_[PASSTHROUGH_GPIO][hardware_interface::HW_IF_VELOCITY] = false ;
9599 mode_compatibility_[PASSTHROUGH_GPIO][hardware_interface::HW_IF_EFFORT] = false ;
96100 mode_compatibility_[PASSTHROUGH_GPIO][FORCE_MODE_GPIO] = true ;
97101 mode_compatibility_[PASSTHROUGH_GPIO][FREEDRIVE_MODE_GPIO] = false ;
98102 mode_compatibility_[PASSTHROUGH_GPIO][TOOL_CONTACT_GPIO] = true ;
103+ mode_compatibility_[PASSTHROUGH_GPIO][HW_IF_MOTION_PRIMITIVES] = false ;
99104
100105 mode_compatibility_[FREEDRIVE_MODE_GPIO][hardware_interface::HW_IF_POSITION] = false ;
101106 mode_compatibility_[FREEDRIVE_MODE_GPIO][hardware_interface::HW_IF_VELOCITY] = false ;
102107 mode_compatibility_[FREEDRIVE_MODE_GPIO][hardware_interface::HW_IF_EFFORT] = false ;
103108 mode_compatibility_[FREEDRIVE_MODE_GPIO][FORCE_MODE_GPIO] = false ;
104109 mode_compatibility_[FREEDRIVE_MODE_GPIO][PASSTHROUGH_GPIO] = false ;
105110 mode_compatibility_[FREEDRIVE_MODE_GPIO][TOOL_CONTACT_GPIO] = false ;
111+ mode_compatibility_[FREEDRIVE_MODE_GPIO][TOOL_CONTACT_GPIO] = false ;
112+ mode_compatibility_[FREEDRIVE_MODE_GPIO][HW_IF_MOTION_PRIMITIVES] = false ;
106113
107114 mode_compatibility_[TOOL_CONTACT_GPIO][hardware_interface::HW_IF_POSITION] = true ;
108115 mode_compatibility_[TOOL_CONTACT_GPIO][hardware_interface::HW_IF_VELOCITY] = true ;
109116 mode_compatibility_[TOOL_CONTACT_GPIO][hardware_interface::HW_IF_EFFORT] = true ;
110117 mode_compatibility_[TOOL_CONTACT_GPIO][FORCE_MODE_GPIO] = false ;
111118 mode_compatibility_[TOOL_CONTACT_GPIO][PASSTHROUGH_GPIO] = true ;
112119 mode_compatibility_[TOOL_CONTACT_GPIO][FREEDRIVE_MODE_GPIO] = false ;
120+ mode_compatibility_[TOOL_CONTACT_GPIO][HW_IF_MOTION_PRIMITIVES] = true ;
121+
122+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][hardware_interface::HW_IF_POSITION] = false ;
123+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][hardware_interface::HW_IF_VELOCITY] = false ;
124+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][hardware_interface::HW_IF_EFFORT] = false ;
125+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][FORCE_MODE_GPIO] = true ;
126+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][PASSTHROUGH_GPIO] = false ;
127+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][FREEDRIVE_MODE_GPIO] = false ;
128+ mode_compatibility_[HW_IF_MOTION_PRIMITIVES][TOOL_CONTACT_GPIO] = true ;
113129}
114130
115131URPositionHardwareInterface::~URPositionHardwareInterface ()
@@ -1398,7 +1414,6 @@ hardware_interface::return_type URPositionHardwareInterface::perform_command_mod
13981414 }
13991415 if (stop_modes_[0 ].size () != 0 && std::find (stop_modes_[0 ].begin (), stop_modes_[0 ].end (),
14001416 StoppingInterface::STOP_PASSTHROUGH) != stop_modes_[0 ].end ()) {
1401- RCLCPP_WARN (get_logger (), " Stopping passthrough trajectory controller." );
14021417 passthrough_trajectory_controller_running_ = false ;
14031418 passthrough_trajectory_abort_ = 1.0 ;
14041419 trajectory_joint_positions_.clear ();
@@ -1417,8 +1432,6 @@ hardware_interface::return_type URPositionHardwareInterface::perform_command_mod
14171432 resetMoprimCmdInterfaces ();
14181433 current_moprim_execution_status_ = MoprimExecutionState::IDLE;
14191434 ready_for_new_moprim_ = false ;
1420-
1421- RCLCPP_INFO (get_logger (), " Motion primitives mode stopped." );
14221435 }
14231436 if (stop_modes_.size () != 0 && std::find (stop_modes_[0 ].begin (), stop_modes_[0 ].end (),
14241437 StoppingInterface::STOP_TOOL_CONTACT) != stop_modes_[0 ].end ()) {
0 commit comments