gauss 機械臂自動校準和手動校準

自動校準

//零點校準
  calibration = () => {
    let network = new Networking();
    network.callService(
      "/gauss/calibrate_motors",
      "gauss_msgs/SetInt",
      {
        value: 1
      },
      result => {
        if (result.status === 200) {
          let calibrationStatus = this.getCalibrationStatus(data => {
            if (data.calibration_in_progress === false) {
              if (data.calibration_needed === 1) {
                this.setState({
                  calibrationTypeVisible: {
                    display: "block"
                  }
                });
                calibrationStatus.unsubscribe();
                //日誌記錄
                inputLog({
                  status: 4,
                  message: "Calibration failure"
                });
                this.openNotificationWithIcon(
                  "error",
                  "Calibration",
                  "Calibration failure"
                );
              } else {
                this.setState({
                  calibrationTypeVisible: {
                    display: "none"
                  }
                });
                calibrationStatus.unsubscribe();
                //日誌記錄
                inputLog({
                  status: 1,
                  message: "Calibration success"
                });
                this.openNotificationWithIcon(
                  "success",
                  "Calibration",
                  "Calibration success"
                );
              }
            }
          });
          result.status = 1;
          inputLog(result);
        }
      }
    );
  };

手動校準

// 彈窗中的手動校準
  manualCalibration = () => {
    let network = new Networking();
    network.callService(
      "/gauss/calibrate_motors",
      "gauss_msgs/SetInt",
      {
        value: 2
      },
      result => {
        if (result.status === 200) {
          let calibrationStatus = this.getCalibrationStatus(data => {
            if (data.calibration_in_progress === false) {
              if (data.calibration_needed === 1) {
                this.setState({
                  calibrationTypeVisible: {
                    display: "block"
                  }
                });
                //日誌記錄
                inputLog({
                  status: 4,
                  message: "Calibration failure"
                });
                this.openNotificationWithIcon(
                  "error",
                  "Calibration",
                  "Calibration failure"
                );
              } else {
                this.setState({
                  calibrationTypeVisible: {
                    display: "none"
                  }
                });
                //日誌記錄
                inputLog({
                  status: 1,
                  message: "Calibration success"
                });
                this.openNotificationWithIcon(
                  "success",
                  "Calibration",
                  "Calibration success"
                );
              }
              calibrationStatus.unsubscribe();
              // clearInterval(calibra);
            }
          });
          result.status = 1;
          inputLog(result);
        }
      }
    );
  };

重新校準

  //重新校準
  realignment = () => {
    let network = new Networking();
    network.callService(
      "/gauss/request_new_calibration",
      "gauss_msgs/SetInt",
      {
        value: 1
      },
      result => {
        if (result.status === 200) {
          this.setState({
            teachStatus: true
          });
          result.status = 1;
          inputLog(result);
        }
      }
    );
  };
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章