主要内容

基于正逆运动学的拾取放置机器人

这个例子模拟了一个执行拾取和放置任务的delta机器人。机器人用真空夹持器拿起一个零件,把零件移动到桌子上四个标记中的每一个,在第一个标记处放下零件,然后回到原来的位置。这个例子演示了如何:

模型

三角洲机器人子系统

Delta机器人子系统模拟了一个3自由度的Delta机器人。由于机器人的运动结构,末端执行器的运动是纯平移的。机器人的执行器对应于安装在上底板上的三个由扭矩驱动的转动关节。为了模拟编码器数据,子系统输出执行器的位置(角度)。相机框架安装在底板下方,向下看向末端执行器。与末端执行器相关的几何图形通过Simscape总线导出,以促进接触建模。看到块面具为更多的信息。

开放Delta机器人子系统

规划与控制子系统:正运动学与逆运动学

由于末端执行器的轨迹规划是根据机器人相机坐标系的xyz坐标完成的,因此需要一个正运动学图来将执行器的位置和速度转换为末端执行器的位置和速度。同样,需要一个逆运动学图来将规划器计算的末端执行器的期望位置转换为三个执行器的相应位置。这些正运动学和逆运动学的计算是用KinematicsSolver对象。对象被定义为函数中的持久变量sm_pick_and_place_robot_fk而且sm_pick_and_place_robot_ik.这些函数由MATLAB函数块调用计划与控制/正运动学而且计划与控制/逆运动学下面突出显示。为了加快计算速度,并帮助求解逆运动学问题的KinematicsSolver对象找到所需的解,使用之前的解作为当前问题的初始猜测。每当Delta Robot子系统的参数发生变化时,sm_pick_and_place_robot_fk和sm_pick_and_place_robot_ik函数将从内存中清除,以便在下一个模拟开始时重新生成KinematicsSolver对象。这确保了KinematicsSolver对象和模型保持同步。

开放计划与控制子系统

规划与控制子系统:路径规划器

规划发生在MATLAB函数块中计划和控制/路径规划器下面突出显示。规划器在三种不同的模式之间转换机器人:

  • 去部分正上方的位置

  • 抓住零件并移动到目标位置

  • 回家

每当模式开始时,将计算一个轨迹,在固定的时间内将末端执行器从当前位置带到模式的目标位置。该轨迹的生成分为两个阶段:首先,在xyz摄像机坐标系中计算末端执行器从当前位置到目标位置的路径对应的三阶多项式;其次,计算一个五阶多项式,它被用于沿着路径缩放时间,使初始和最终速度和加速度都为零。当末端执行器的位置和速度足够接近目标值时,就会发生模式转变。给定当前时间,规划器返回末端执行器沿轨迹的期望位置和速度以及期望的真空状态。

开放计划与控制子系统

计划与控制子系统:控制器

计划和控制/控制器下面突出显示的子系统包含一个离散时间PID控制器,它驱动执行器的实际位置到其所需值。

开放计划与控制子系统

真空子系统

为了抓住零件,在零件和机器人末端执行器之间建立了一个简单的真空模型。每当规划器命令吸力时,真空在零件的质心和末端执行器的尖端之间施加恒定的力。

打开真空子系统

联系的子系统

在末端效应器-部分接触力和部分表接触力子系统内部的空间接触力块用于建模接触。为了加快模拟速度,当末端执行器与零件接触时,使用三个围绕末端执行器尖端等间距的接触点作为全圆柱几何的代理。类似地,当零件与表接触时,零件底部边缘周围三个等间距的接触点被用作接触代理。真空力使该部件与末端执行器保持接触,摩擦防止其在运输过程中打滑。

开端效应器-零件接触力子系统

打开零件-表接触力子系统

图像处理器

Image Processor子系统使用Transform Sensor块来模拟相机数据的处理,以跟踪零件和表上标记的位置。

开放图像处理器子系统

另请参阅

|

相关的话题

Baidu
map