Loading...
墨滴

张春成

2021/11/20  阅读:19  主题:默认主题

机械臂运动控制的位置和角度关系及其可视化

机械臂运动控制的位置和角度关系及其可视化

本文是记录一个交互式可视化工程, 它对二维二轴机械臂的平面运动过程中, 控制角度与机械臂端点位置的相互关系进行可视化, 并且允许用户通过鼠标模拟二者之间的对应关系。


二维二轴机械臂的平面运动

这是一个相当“二”的标题, 它描述了这样一个运动模式

两根相互连接的机械臂, 它们之间通过电机连接, 其中一根通过电机与地面连接, 两个电机的转动轴角动量方向相同。 因此,它是一个只能在二维平面上进行运动的精简机械臂系统。

目前,机械臂的运动模块以同步微电机为主, 因此,这里的电机是指同步电机, 可以操控的运动量是电机转动的角度。 也就是说,要通过控制两个电机的运动角度,来控制两个机械臂的运动轨迹。

如下视频所示

【这是一段棒到不行的视频】

其中,左上角图的红、绿两个长方形代表俯视角的两个机械臂, 黑白渐变的方块代表端点的运动轨迹; 右侧上图,代表控制两个电机转过的角度; 右侧下图,代表直接控制端点位置。

从图中可见,端点位置和运动角度之间具有对应关系, 粗略关系如下

  • 一组角度值对应一个固定的端点位置;
  • 一个固定的端点位置对应二组相互对偶的角度值。

具体来说

  • 在角度空间中的一条直线,对应位置空间中的一条曲线

    Motion Angle
    Motion Angle
  • 在位置空间中的一条直线,对应角度空间中的二条曲线

    Motion Position
    Motion Position

图中控制区的颜色和饱和度分别代表两个电机的不同角度, 上图是对角度进行控制,因此像素颜色与像素位置一一对应; 下图是对端点位置进行控制,因此在不同的位置上呈现了不同的颜色, 需要说明的是,虽然下图中有一部分“空隙”, 这是为了提升绘图性能, 而不代表真实的控制精度。

另外,这里的“直线”看着有点弯, 请不要介意,因为我是用鼠标划的。

运动轨迹的可视化和交互

本文是记录一个交互式可视化工程, 它对二维二轴机械臂的平面运动过程中, 控制角度与机械臂端点位置的相互关系进行可视化, 并且允许用户通过鼠标模拟二者之间的对应关系。

相关代码可见的我代码笔记本[1]

本工程使用CANVAS前端技术进行绘制, 优点是实现简便,但缺点是性能会遇到一定瓶颈, 在之后的工作中,如果需要会在系统成熟后使用WEBGL实现。

参考资料

[1]

代码笔记本: https://observablehq.com/@listenzcc/motion-trace

张春成

2021/11/20  阅读:19  主题:默认主题

作者介绍

张春成