这个示例为执行拾取和放置任务的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模块来模拟对摄像机数据的处理,以跟踪零件和桌面上标记物的位置。