本节通过一个实例操作对Jack仿真创建和分析工具的使用进行简要介绍,例子简洁明了却又涉及Jack中的关键命令。通过对本例的学习,读者可以了解构建Jack中静态仿真环境的步骤和关键命令,利用【Animation】(动画)工具创建简单的动态仿真,以及运用【Lower Back Analysis】(下背部分析)和【NIOSH】(搬运受力分析)进行人因分析。
静态仿真是所有仿真分析的基础。在静态仿真的基础上可以通过【Animation】(动画)工具使【Figure】(实体)运动起来,形成动态仿真。大部分人因分析工具的分析都是针对数字人动态仿真中的任务而开发的。
(1)依次单击菜单栏上的【Human】→【Create】→【Custom】开启【Build Human】(数字人创建)对话框(图1-10)。
在【Build Human】(数字人创建)对话框中可以创建不同地区、不同百分位的男性和女性,以及不同年龄的儿童,为数字人命名之后就可以通过单击【Create New】(新建)创建。此外还可以通过【Advanced Scaling】(精确尺寸创建)和【Body Part Scaling】(部分尺寸创建)控件进入精确的数字人创建界面,通过输入关键尺寸创建自定义的数字人。更多与数字人创建的相关信息请参看第7章7.1节。
图1-10 【Build Human】(数字人创建)对话框
(2)在【Database】(数据库)栏目中选择【CHINESE】(中国人),在【Type】(类型)栏目中选择【Male】(男性),在【Name】(名字)后的【Entry】(输入框)
中输入Jack作为数字人的名字,单击【Create New】(新建)创建数字人,单击【Dismiss】(关闭)关闭对话框。
(3)依次单击菜单栏上的【Object】→【Create】→【Figure from Library】开启【Load Library File】(导入数据库文档)对话框(图1-11)。
图1-11 【Load Library File】(导入数据库文档)对话框
在该对话框中可以导入Jack数据库中的实体模型。Jack数据库中的实体包含主要的工业工具。除了导入数据库中的实体,还可以通过【import】(导入)命令将外部CAD模型导入到仿真窗口中,创建符合用户需求的虚拟环境。更多关于实体导入的内容请参看第4章4.3节和第8章8.1节。
(4)选择【Select Library】(数据库分类)中的【Primitive】(基本物件)项,再选择【smallcube.pss】(小立方体),单击【Load】(读取)就可以将一个小立方体导入到环境中。
(5)直接在【Entry】(输入框)
中输入【table.pss】(桌子),单击【Load】(读取),就可以快速创建一个桌子。读者可以自行尝试将其他数据库中的物体导入。
(6)单击移动控制栏中的【Pick】(选取)
选中实体【Table】(桌子),就可以移动桌子。实体的移动需要通过鼠标的左键(沿【X】轴)、中键(沿【Y】轴)、右键(沿【Z】轴)移动物体。移动命令的使用方式请参看第3章3.1.4小节。
(7)将【Table】(桌子)移动到数字人的正前方约2m的位置。再次用【Pick】(选取)
选中实体【smallcube】(小立方体),单击【Snap】(定位)后方的下拉菜单
,选择【Face Position】(面定位)。选择【Table】(桌子)的顶面,就可以快速的将【smallcube】(小立方体)定位到桌面上。
通过上述命令就可以创建一个简易静态仿真系统(图1-12)。在虚拟环境中,存在一个命名为Jack的数字人,两个实体,分别是【smallcube】(小立方体)和【Table】(桌子),两者之间的关系是小立方体位于桌子的顶面。
图1-12 简易静态仿真系统
1.3.1节中创建的静态仿真不存在工作过程。然而一个有价值的仿真需要将现实工作中的一个或多个任务表现出来,这就需要令静态仿真中的数字人动起来,去完成任务。Jack在静态仿真的基础上提供了动态仿真工具,包括【Animation】(动画)和【TSB】(仿真任务编辑器)。本小节的实例主要针对如何使用【Animation】(动画)创建仿真进行介绍。更多关于【Animation】(动画)使用的内容请参看第10章。
(1)单击工具栏的【Animation】(动画)图标
,开启动画制作对话框。
(2)依次单击【Paths】→【Create Path】打开【Path】(路径)对话框(图1-13)。
该对话框通过创建路径中的行进点描绘出一个路径。创建出的路径要和【Create Path Walk Motion】(创建按路径行走动作)命令共同使用才可以使数字人按照路径行走。
(3)单击【Add After】(添加)可以增加一个行进点,调整路径点到桌子前方。单击【Create】(创建)就可以生成一条从数字人现在的位置到桌子前面的路径。单击【Set Frame 0】(设定动画起点)
,将创建好的静态仿真环境和路径作为仿真的起始状态。
(4)依次单击【Human】→【Path Walk...】打开【Create Path Walk Motion】(创建按路径行走动作)对话框(图1-14)。
图1-13 【Path】(路径)对话框
图1-14 【Create Path Walk Motion】(创建按路径行走动作)对话框
通过本对话框可以制定一个路径让数字人在规定的时间内按照规定路径行走的动作,还可以规定行走时是否摆动手臂。
(5)通过【Path】(路径)一栏中的【Pick】(选取)
选择刚创建的【Path1】(路径),选择【Swing Arms】(手臂摆动),最后单击【Create】(创建)生成行走任务。
(6)单击【Generate】(生成)
观看刚生成的行走的动作。编辑好一个仿真动作之后需要通过单击【Generate】(生成)
播放该动作使得数字人的姿势变成动作的结束姿势,这样才能对下一个姿势进行编辑。也可以通过鼠标中键直接拖动时间轴上的时间定位线,定位到动作结束姿势。
(7)依次单击【Human】→【Arm...】打开【Create Human_arm Motion】(创建手部动作)对话框(图1-15)。
通过本对话框可以制定数字人手部的动态仿真,通过调整数字人的手部的位置作为新动作的结束位置创建两个姿势间的过渡动画。
(8)单击【Adjust】(调整)对手的位置进行移动。移动方式和之前移动【Table】(桌子)的方式一样,不同的是,需要通过配合【Shift】键将手旋转。通过按住【Shift】并且通过鼠标左键(绕【X】轴)、中键(沿绕【Y】轴)、右键(沿绕【Z】轴)旋转手,使手移动到【smallcube】(小立方体)的左侧形成抓握小立方体的手势。
(9)依次单击【General】→【Relational】→【Timed Attach】打开【Create Support Motion】(创建支持动作)对话框(图1-16)。
该命令可以使小立方体跟随手一起移动。创建持握物体的状态。
(10)单击【Figure】(实体)一栏中的【Pick】(选取)
选择【smallcube】(小立方体),再单击【Attach To】(依附)一栏中的【Pick】(选取)
选择【Jack.left_palm.palmcenter】。将【Duration】(持续时间)后输入框的时间改为3sec。单击【Create】(创建)。这样在接下来的3s内,【smallcube】(小立方体)就会跟随【Jack.left_palm.palmcenter】这一个坐标点移动。
图1-15 【Create human_arm Motion】(创建手部动作)对话框
图1-16 【Create support Motion】(创建粘贴动作)对话框
(11)再次打开【Create human_arm Motion】(创建手部动作)对话框,创建一个将手移动到数字人身前的行为,作为举起【smallcube】(小立方体)的动作。【Duration】(持续时间)后输入框的时间设定为0.5sec。
(12)依次单击【Human】→【Linear Walk...】打开【Create Linear Walk Motion】(创建直线行走动作)对话框。单击【Move】(移动),将数字人移动到桌子左方约2m处,利用【Shift】键配合鼠标中键将数字人旋转至面向右侧。【Mode】(模式)一栏选择【Forward,No Arms】(无手臂动作),【Duration】后输入框的时间设定为1sec,单击【Create】(创建)。通过【Create Linear Walk Motion】(创建直线行走动作)方式可以快速创建行走动作,但是必须是沿直线的行走。
(13)依次单击【Human】→【Pose...】打开【Create Pose Motion】(创建姿势动作)对话框。单击【Pose:】(姿势)一栏中的下拉菜单,选择【squat】(下蹲)。
(14)再次打开【Create human_arm Motion】(创建手部动作)对话框,调整下蹲后手的姿势,需要将【Starting Joint】(起始关节)调整为【waist】(腰),使得左手将创建的【smallcube】(小立方体)放在地上,右手放于大腿外侧。将两个动作的【Duration】(持续时间)输入框的时间设定为0.5sec。
(15)最后再用【Create Pose Motion】(创建姿势动作)对话框创建【stand_relaxed】(放松站立)作为结束姿势。与此同时,通过【General】→【Figure...】打开【Create figure Motion】(创建实体动作)对话框。创建【smallcube】(小立方体)被放下后,平置于地上的动作。两个动作的【Duration】(持续时间)输入框的时间设定为0.5sec。
(16)通过【Control】→【Generate】命令播放动画,观看动画的整体效果(图1-17)。
至此,一个简易的动态仿真就创建完成了。整个动态仿真时间为5.5s,动态仿真描述为命名为Jack的数字人行走到桌子前方用左手举起小立方体,将小立方体搬运到桌子右侧约2m的位置,放置于地上。
图1-17 简易动态仿真效果图
本章已经就静态仿真和动态仿真进行了实例介绍。通过之前两个实例的学习,读者已经具备了创建简单仿真系统的能力。然而要想进行一个完整的人因仿真分析,分析工具才是重中之重。之前所有仿真的创建都是为人因分析做铺垫,在本例中将会介绍两个【Task Analysis Toolkit】(任务分析工具)的使用,分别是【Lower Back Analysis】(下背部分析)和【NIOSH】(搬运受力分析)。
(1)依次单击【Analysis】→【Task Analysis Toolkit】→【Lower Back Analysis】打开【Lower Back Analysis】(下背部分析)对话框(图1-18)。
下背部分析工具主要针对脊椎L4和L5关节处的受力情况进行分析。更多有关【Lower Back Analysis】(下背部分析)的内容请参看第15章15.1节。
(2)【Figure】(实体)一栏中的【Pick】(选取)
选择数字人Jack,单击右下角蓝色字样的【Activate】(运行)
,使分析运行起来。这时会发现该按键框变成绿色,而且显示为【ACTIVE】(分析)
。对话框中间的条形统计图就会显示此时脊椎L4和L5关节处的受力情况。
(3)在运行分析的情况下,播放动态仿真,可以发现条形图跟着数字人的运动发生变化。仔细观察这个动态仿真过程中【Compression】(压力)最大时的姿势。将动态仿真定位到该姿势,对该姿势的静态仿真进行分析。
(4)单击【Lower Back Analysis】(下背部分析)对话框中的【Loads and Weights】(负重),进入【Loads and Weights】(负重)对话框(图1-19)。
该对话框可以为数字人身体上任意部位加上负重,使得数字人在进行搬运任务时有实在的重力加载在身体的特定部位。
(5)单击【Add Load】(添加负重),在新生成的对话框中单击【Site:】(坐标)一栏中的【Pick】(选取
选择【Jack.left_palm.palmcenter】作为受力点,输入受力为120N。单击【Apply】(应用)。观看此时【Compression】(压力)的条形图,发现条形图变为黄色,并且下方提示受力超过了3400N,数字人的工作姿势需要改善。这就说明此时的姿势不适合搬举一个重120N的小立方体,需要更换姿势或者减轻立方体的重量。
图1-18 【Lower Back Analysis】(下背部分析)
图1-19 【Loads and Weights】(负重)对话框
(6)依次单击【Analysis】→【Task Analysis Toolkit】→【NIOSH】打开【NIOSH lifting Analysis】(搬举受力分析)对话框(图1-20)。
【NIOSH lifting Analysis】(搬举受力分析)针对搬举物体时数字人的工作安全情况进行分析。更多有关【NIOSH lifting Analysis】(搬举受力分析)的内容请参看第15章15.3节。
(7)本次针对数字人将小立方体放到地上的动作进行分析。首先需要定义搬运物体的距离。通过鼠标中键将动画拖动到3.5s处,单击【Lift Origin】(搬举起点)下的【Use Posture】(姿势运用),然后将5s时的姿势作为【Lift Destination】(搬举终点)的姿势。
(8)其次需要为物体负重,并为搬运任务的执行时间和频率进行定义。在【Average Load】(平均受力)后方的输入框中输入10kg,在【Maximum Load】(最大受力)后方的输入框中输入15kg。转入【Frequency】(频率)页面,在【Lift rate】(搬举频率)后方的输入框中输入5次,在【Uninterrupted work time】(工作时间)后方的输入框中输入8h时,在【Recover Time】(恢复时间)后方的输入框中输入16h。
(9)设定好之后就可以单击【Add】(添加)将该任务加入到任务栏中。选中刚加入的任务并单击【Include/Exclude】(包括/排除)就可以对新建的任务进行分析了。进入【Analysis Summary】(分析总结)页面可以观看到分析结果和改进意见(图1-21)。
分析的结论证明该工作会导致工人压力过大,并给出减少搬运频率和工作时间,减少搬运距离,减少搬运高度这三个改进建议。
为方便广大读者更直观地了解软件的应用,在本书附送的光碟中提供一份视频教程,对1.3节中的实例进行了详细的介绍。视频在【video training2】文件中。
以上的几个实例练习将Jack的基本操作、静态仿真、动态仿真、人因分析几大功能结合介绍。通过上例的学习,读者已经可以掌握简单的仿真分析能力,但是要做到完全熟练地应用Jack,还需要对本书后续章节的学习。
图1-20 【NIOSH lifting Analysis】(搬举安全标准分析)对话框
图1-21 【Analysis Summary】(分析总结)页面