在Ubuntu 16.04和ROS Kinetic上使用UR3 Robot(3)

void UrHardwareInterface::doSwitch(
  const std::list<hardware_interface::ControllerInfo>& start_list,
  const std::list<hardware_interface::ControllerInfo>& stop_list) {
 for (std::list<hardware_interface::ControllerInfo>::const_iterator controller_it =
   stop_list.begin(); controller_it != stop_list.end();
   ++controller_it) {
  if (controller_it->type
    == "hardware_interface::VelocityJointInterface") {
   velocity_interface_running_ = false;
   ROS_DEBUG("Stopping velocity interface");
  }
  if (controller_it->type
    == "hardware_interface::PositionJointInterface") {
   position_interface_running_ = false;
   std::vector<double> tmp;
   robot_->closeServo(tmp);
   ROS_DEBUG("Stopping position interface");
  }
 }
 for (std::list<hardware_interface::ControllerInfo>::const_iterator controller_it =
   start_list.begin(); controller_it != start_list.end();
   ++controller_it) {
  if (controller_it->type
    == "hardware_interface::VelocityJointInterface") {
   velocity_interface_running_ = true;
   ROS_DEBUG("Starting velocity interface");
  }
  if (controller_it->type
    == "hardware_interface::PositionJointInterface") {
   position_interface_running_ = true;
   robot_->uploadProg();
   ROS_DEBUG("Starting position interface");
  }
 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14176.html