返回首頁 hi, 歡迎來到機器人在線 請登錄/ 免費注冊 訂閱郵件
  • 【ABB】如何提前判斷一個robtarget是否可達

    發布時間:2019年12月11日


    1. ABB機器人在運行MoveL p100,v1000,z50,tool0WObj:=wobj0;等語句時,若機器人走不到該位置p100,會出現上述報錯。

    2. p100為robtarget類型數據,即記錄的是xyz等數據。

    3. 該數據若非示教,而是通過計算或者外部相機拍照發送得到,有時就會發生機器人不可達。

    4. 此時只有機器人運行到該行代碼時,機器人報警并停機。

    5. 是否可以提早對p100進行運算,檢測機器人是否可達?

    6. 可以使用函數CalcJoint函數,該函數返回p100在tool0下對應的各軸數據

    jpos10:=CalcJointT(p100,tool0ErrorNumber:=myerrnum);

    7. 增加ErrorNumber可選參數,此時若計算出的位置機器人不可達,則會得到報警代碼ERR_ROBLIMIT(單軸超限)或者ERR_OUTSIDE_REACH(機器人不可達),后續對該錯誤代碼處理即可。此時機器人不會停機。

    8. 代碼如下:


    ?jpos10:=CalcJointT(Home20,tool0ErrorNumber:=myerrnum);

    ? ? ? ?IF myerrnum=ERR_OUTSIDE_REACH THEN

    ? ? ? ? ? ?TPWrite "Joint jpos10 is outside reach.";

    ? ? ? ? ? ?TPWrite "jpos10.robax.rax_1: "+ValToStr(jpos10.robax.rax_1);

    ? ? ? ? ? ?TPWrite "jpos10.robax.rax_2: "+ValToStr(jpos10.robax.rax_2);

    ? ? ? ? ? ?TPWrite "jpos10.robax.rax_3: "+ValToStr(jpos10.robax.rax_3);

    ? ? ? ? ? ?TPWrite "jpos10.robax.rax_4: "+ValToStr(jpos10.robax.rax_4);

    ? ? ? ? ? ?TPWrite "jpos10.robax.rax_5: "+ValToStr(jpos10.robax.rax_5);

    ? ? ? ? ? ?TPWrite "jpos10.robax.rax_6: "+ValToStr(jpos10.robax.rax_6);

    ? ? ? ?ENDIF

    9. 假設此時Home20位置的x為10000,機器人完全不可達,則輸出結果如下:



  • 獲取驗證碼
    今晚生肖会开什么特马