淘先锋技术网

首页 1 2 3 4 5 6 7

Unity3d数字化看板-多关节机器人运动控制

在工业数字化看板中,常见的一种设备就是机械臂,也可能说是多关节的机器人,通过机械臂的各个关节旋转运动(也有机械臂的轴是伸缩),运行到指定位置,再配合夹爪和其他设备进行操作,这种时候获取的数据就是一组角度数组,需要跟模型上的各个关节进行关联,来达到虚实联动。

特殊:机器人多关节跟随运动

机械手运动控制主要是关节的旋转,通过控制多个关节的角度,实现对机械手的同步控制

机械手运动控制,可以分解为多个关节的运动,下一关节是跟随在上一关节运动,在处理模型的时候将下一关节作为子物体挂在上一关节下,通过控制多个关节的角度,达到机械手的运动同步。

模型示例如下(模型是从网上下载)

在这里插入图片描述

模型处理

1. 模型解锁

初始模型如果未处理就像下面这样,各种零件、模型都是平铺,没有相互的关系,无法进行关节控制,需要对模型子物体进行处理。

在这里插入图片描述

此时模型跟模型文件直接关联,物体和子物体名称都是蓝色,无法进行移动修改

无法删除或移动Prefab实例的子级,也无法重新排序组件可以解压缩Prefab实例以删除其Prefab连接

解决方法:

方式一

右键“Prefab”→“Unpack”,将其解锁

在这里插入图片描述

解锁后模型名称变成灰色,即可直接进行修改,修改完成后,可以将模型拉入到Project视图中,生成预制体
在这里插入图片描述

方式二

生成预制体,直接将模型拖入Project窗口文件夹中,

在这里插入图片描述

提示创建预制体,选择“Original Prefab”原始预制体,生成新的预制体。

在这里插入图片描述

在文件夹中生成一个.prefab文件就是预制体文件,这时可以双击生成的预制体文件或者在场景中点击模型右侧的箭头,进入预制体文件,然后对模型进行修改,修改各个子物体的关系。

在这里插入图片描述

2. 关节处理

关节一示例:

(1)在机械臂下面创建两个物体,一个是组件,一个是关节一(关节N当前处理的关节进行修改)

(2)调整关节一的旋转中心,调整到旋转的正确位置(很重要)

在这里插入图片描述

在这里插入图片描述

(3)将子物体分别放到组件和关节两个物体下

组件用于放置不跟随该关节一起运动的部分,关节是该关节部门和其子关节部分。

如图所示底座是不跟随关节一运动的,其余都跟随运动,所以将底座放在组件中,其他都放在关节一中

在这里插入图片描述

在这里插入图片描述

(4)旋转测试

选中关节一,拖动图中旋转线测试一下,分组是否有问题,没有问题恢复就可进行下一关节

在这里插入图片描述

关节二示例:

(1)跟关节一一样,创建组件和关节二
在这里插入图片描述

(2)调整旋转中心,调整到第二个关节旋转轴上

在这里插入图片描述

调整后
在这里插入图片描述

(3)分组,不动部分放在组件中,运动部分放在关节二中

在这里插入图片描述

(4)旋转测试正常

在这里插入图片描述

其他关节如上类似处理

3. 多关节统一控制

通过RobotControl脚本统一对多个关节进行运动

public class RobotControl : MonoBehaviour
{
    /// <summary>
    /// 关节组
    /// </summary>
    public MoveBase[] Joints;

    /// <summary>
    /// 关节数据
    /// </summary>
    public static float[] DataAngles;

    // Start is called before the first frame update
    void Start()
    {
        DataAngles=new float[2];
    }

    // Update is called once per frame
    void Update()
    {

        for (int i = 0; i < Joints.Length; i++)
        {
            Joints[i].SetDataPos(DataAngles[i]);
        }

    }
}

根据关节旋转属性挂上对应运动脚本,如下关节一使用Y方向旋转脚本YRotate,关节2是X方向旋转脚本XRotate

在这里插入图片描述

在这里插入图片描述

然后在机械臂模型上挂上RobotControl.cs脚本,然后将关节一、二分别按顺序添加到Joints上面

在这里插入图片描述

测试:

在测试运动脚本中进行模拟运动

在这里插入图片描述

效果

在这里插入图片描述