• 在虛擬裝(zhuāng)配應用中,用數據手套(tào)實現擰螺絲動作

    2019/6/16      點擊:

    遇到有(yǒu)客戶在使用Wiseglove數(shù)據手套(tào)開發機械裝配相關(guān)應(yīng)用(yòng)時,要實現數據手套擰螺絲的動作,客戶認為wiseglove7s+手套擰了一個角度,但是螺絲並沒有按照預想的(de)方向旋轉。我們經過研(yán)究後,認為實現該功能需要具備以下條件:

    1. 手(shǒu)模型與螺絲有碰撞觸發

    2. 數據手套有抓取動(dòng)作

    3.數據手(shǒu)套有釋放動作

    使用了Unity3d的觸發器檢測手與(yǔ)物體(tǐ)的(de)碰撞狀態。

    private void OnTriggerEnter(Collider other)
    {
      print("Enter trigger");
      Oldpos = Leftobject.transform.position;
    }
    private void OnTriggerStay(Collider other)
    {
    //手套抓取
    if(wiseglove.grasp)
    {
      print("grasp");
      float yAixsval = Vector3.Angle(Vector3.ProjectOnPlane(Leftobject.transform.position, Vector3.up),Vector3.right) - Vector3.Angle(Vector3.ProjectOnPlane(Oldpos,Vector3.up),Vector3.right);
      Vector3 deltaAngles = new Vector3(0,uAxisval,0);
      transform.eulerAngles +=deltaAngle;
      Oldpos = Leftobject.transform.position;
    }
    else {
      print("open hand");
      Oldpos = Leftobject.transform.position;
    }
    }
    private void OnTriggerExit(Colloder other)
    {
      print("Exit");
      Oldpos = Leftobject.transform.position;
    }

    當然如果需要螺絲沿著平麵的法(fǎ)向隨著旋轉有位(wèi)移,似乎也不難~~

    這裏主要的技巧就是: Vector3.ProjectOnPlane( Vector3 vectorVector3 planeNormal) 得(dé)到投影向量 為vector到以planeNormal為(wéi)法向(xiàng)量的平麵上。求的是一向量與一平麵的夾角。這(zhè)也是讓物體沿著指定(dìng)軸旋轉的關鍵所在。

    怎麽(me)樣,小夥伴們會了嗎? 感謝關(guān)注(zhù)Wiseglove, 我們將(jiāng)一如既(jì)往(wǎng)地把我們為客戶解決的技術問題發(fā)布到我們的官網(wǎng),來分享關於數據手套的技術和心得。

    自愉色色,亚洲色孩,jk无遮拦,日日夜夜7799天天综合,999夜夜,7799天天综合天天综合网精品视频,日日夜夜精品视频7799,天天综合7799精品影视