中文字幕无码a片久久,亚洲日韩在线观看浪潮,人人超人人超碰超国产二区,国产人妻久久一区二区,国产人妻久久一区二区

福感科技有限公司 歡迎您!
聯(lián)系方式

    地址:北京市平谷區(qū)馬坊鎮(zhèn)金河北街17號(hào)院3號(hào)樓7層712

    電話:010-89968230

    網(wǎng)站:http://0743119.com

在虛擬裝配應(yīng)用中如何用數(shù)據(jù)手套實(shí)現(xiàn)擰螺絲動(dòng)作

2021-1-17 19:54:44??????點(diǎn)擊:

遇到有客戶在使用Wiseglove數(shù)據(jù)手套開(kāi)發(fā)機(jī)械裝配相關(guān)應(yīng)用時(shí),要實(shí)現(xiàn)數(shù)據(jù)手套擰螺絲的動(dòng)作,客戶認(rèn)為wiseglove7s+手套擰了一個(gè)角度,但是螺絲并沒(méi)有按照預(yù)想的方向旋轉(zhuǎn)。我們經(jīng)過(guò)研究后,認(rèn)為實(shí)現(xiàn)該功能需要具備以下條件:

1. 手模型與螺絲有碰撞觸發(fā)

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

3.數(shù)據(jù)手套有釋放動(dòng)作

使用了Unity3d的觸發(fā)器檢測(cè)手與物體的碰撞狀態(tài)。

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;
}

當(dāng)然如果需要螺絲沿著平面的法向隨著旋轉(zhuǎn)有位移,似乎也不難~~

這里主要的技巧就是: Vector3.ProjectOnPlane( Vector3 vector,Vector3 planeNormal) 得到投影向量 為vector到以planeNormal為法向量的平面上。求的是一向量與一平面的夾角。這也是讓物體沿著指定軸旋轉(zhuǎn)的關(guān)鍵所在。


Copyright 2019 0743119.com

福感科技有限公司 版權(quán)所有 All Rights Reserved

京ICP備20002031號(hào)

010-89968230