下面以四足机器人为例介绍检查关节的流程,第一步先点击Urdf Robot组件的Generate为各个关节生成名字,然后设置baselink的属性,选择四足的驱干link,勾选Is Base Link和Immovable,然后拖动模型悬空,此时模型是可以维持悬空状态,由于没有设置关节属性,所以关节“无力”摆动着。
每一个关节ArticulationDrive有如上属性需要设置,比较关键的有关节上下限、PD控制器参数以及力的限制,这些参数可在父节点控制器统一设置,完整控制器代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Robotics.UrdfImporter;
public class JointTest : MonoBehaviour
{
//PD参数设置有两种方式,isJointSame = true各个关节参数一样,为false可自定义关节参数
public bool isJointSame = true;
public float sameStiffness = 0.0f;
public float sameDamping = 0.0f;
public float [] stiffness;
public float [] damping;
//以下的参数均是默认统一设置
public float linearDamping = 0.0f;
public float angularDamping = 0.0f;
public float jointFriction = 0.0f;
public float forceLimit = 100.0f;
public float velocityLimit = 1000.0f;
//可在该组件下设置各关节目标角度并记录当前真实角度
public float [] targetPos;
public float [] currentPos;