inverse-kinematics

    -1熱度

    1回答

    我想用C++爲我的項目編寫我自己的運動學庫。我明白,有一些像RL(機器人庫)和反向運動學解算器的ROS庫。但令我沮喪的是,這些庫不支持MacOS平臺。我已經寫了前向運動學部分,這很直截了當。但是對於逆運動學部分,我很懷疑,因爲IK問題的解決方案涉及求解多組非線性聯立方程。我發現Eigen/Unsupported 3.3模塊具有非線性方程式的API。但在開始這個不確定的道路之前,我想從你們那裏得到一

    0熱度

    1回答

    正如你所看到的那樣,雙手正被放在角色的怪異面前。右手和左手是遊戲對象的位置,雙手應該繼續前進。 左屏截圖處於播放模式,中間截圖不是,所以沒有IK那裏。 的源代碼(改編自一個團結的例子): void OnAnimatorIK(int layerIndex) { float aim = 1f; if (layerIndex == 0) { if (player !=

    0熱度

    1回答

    因此,我正在使用baxter機器人並使用ROS工作區。該baxter有一個相機連接到它的手臂,從中我可以讀取相對於手框的某個物體的x,y,z座標。一旦我的物體被檢測到,我需要它的x,y,z座標,但是來自機器人的主框架,所以我需要從手部平移到機器人框架,並且假定機器人有6度運動,我很難找出如何做到這一點。我知道我應該使用DH矩陣,但是有人可以嘗試向我解釋我應該如何繼續?

    0熱度

    1回答

    我有一個操縱角色。我可以檢索骨骼節點,如果我手動將旋轉應用到這些骨骼,我會看到角色切換到新的姿勢。 現在,如果我嘗試爲同一個骨骼設置一個約束,它根本就不會移動。我嘗試了逆運動學約束和簡單的廣告牌約束,但沒辦法。 下面是代碼,以獲得骨: SCNNode *man = [scene.rootNode childNodeWithName:@"Man" recursively:YES] ; SCNNod

    1熱度

    1回答

    我正在寫逆向運動的2D遊戲。我用這簡單的算法: let angleToParent = angleBetweenPoints(parent, child) child.x = parent.x + distance*Math.cos(angleToParent) child.y = parent.y + distance*Math.sin(angleToParent) child.rotat

    0熱度

    1回答

    我有一個由2個伺服電機組成的機器人手臂。我正在嘗試計算反向運動學,使手臂位於畫布中間,並可以移動到兩個方向(左側和右側)的所有可能點。這是系統Image的圖像。第一個伺服機構移動0-180(逆時針)。第二個伺服機構移動0-180(順時針)。 這是我的代碼: int L1 = 170; int L2 = 230; Vector shoulderV; Vector tar

    1熱度

    1回答

    我正在嘗試開發一個涉及一些逆向運動學和狀態機的基本Snake遊戲。我試圖得到它,所以當蛇的第一部分與某個「鼠標」相互作用時,它會消失。但是,當我這樣做,它不起作用,我最終得到ArgumentError:錯誤#2025:提供的DisplayObject必須是調用方的子項。 這裏是我的代碼: package { \t import agent.Agent; \t import fla

    -2熱度

    1回答

    我不擅長數學,不如有人可以,但我仍然需要爲我的一個遊戲實現IK,我很想知道哪個解決方案最常用,如果可能的話,哪一個將與C#執行時間和統一環境一起工作。我不想實施每一個解決方案來逐一測試,我真的沒有足夠的時間,甚至沒有知識。 (據我所知,有jacobian方法和循環下降,以及其他一些,我不想進行高級物理模擬,但只是有足夠的C#遊戲,這仍然看起來很順利。) 有人可以告訴Unity中使用什麼解決方案嗎?

    1熱度

    1回答

    CMU動作捕捉數據將每幀的骨架存儲爲歐拉角。使用Mocap Toolbox很容易將歐拉角轉換爲3D點。但我想知道如何做相反的操作?看起來Kinect有相同的操作:首先從深度相機獲取人體的三維座標;其次,將這些座標存儲爲歐拉角。

    2熱度

    1回答

    我在Unity中使用了Sprites And Bones的2D角色,我使用反向運動來爲其設置動畫。 但是,如果我想翻轉X軸,我的性格發狂: 我必須連接到「空手道」的腳本,包含一個簡單的Flip()功能: public void Flip(){ facingRight = !facingRight; Vector3 karatekaScale = transform.localS