此示例为执行拾取和放置任务的delta机器人建模。机器人使用真空夹持器拾取零件,将零件移动到桌子上四个标记中的每一个,将零件放置在第一个标记处,然后返回原位。此示例演示如何:
创造KinematicsSolver
对象,并通过MATLAB功能块调用它们,以在仿真过程中计算正向和反向运动学。
模型联系使用空间接触力阻碍。
Delta机器人子系统是一个三自由度Delta机器人的模型。由于机器人的运动学结构,末端执行器的运动是纯平动的。机器人的执行器对应于安装在上底板上的三个扭矩驱动的转动关节。为了模拟编码器数据,子系统输出执行器的位置(角度)。一个相机框架安装在底板下面,向下看向末端执行器。与末端执行器相关的几何图形通过Simscape总线导出,以方便接触建模。看到块面具为更多的信息。
由于末端执行器的轨迹规划是根据机器人摄像机框架的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控制器,它驱动驱动器的实际位置和速度到它们所需的值。
为了抓取零件,在零件和机器人的末端执行器之间建立了一个简单的真空模型。每当规划器发出吸力指令时,真空就在部件的质心和末端执行器的尖端之间施加一个恒定的力。
末端执行器内部的空间接触力块零件接触力和零件台接触力子系统用于建模接触。为了加快模拟速度,在末端效应器尖端周围等距分布的三个接触点在与零件接触时用作完整圆柱形几何体的代理。类似地,零件底部边缘周围的三个等距接触点用作其与工作台接触时的接触代理。真空力保持零件与末端执行器接触,摩擦力防止其在运输过程中滑动。
图像处理器子系统使用Transform Sensor模块来模拟对摄像机数据的处理,以跟踪零件和桌面上标记物的位置。