ROS2与Gazebo11入门教程-施加力/扭矩
说明:
- 介绍如何使用图形用户界面在仿真过程中对模型施加力和/或扭矩
施加力和扭矩示例
- 下面来看一个向简单模型施加力和扭矩的示例。打开Gazebo,并从“插入(Insert)”选项卡中将一个Simple Arm插入到场景中。 然后,从顶部工具栏插入一个方盒。确保仿真没有暂停(即处于仿真中)。
向链接施加力
这里想对Simple Arm模型中的某个特定链接施加力。在仿真世界树中,右键单击arm_wrist_lift链接,并选择“应用力/扭矩(Apply Force/Torque)”菜单项。这样会弹出一个对话框,而且可以看到一个直线箭头和一个弯曲箭头连接到该机械臂上。
在该对话框中,在“力(Force)”选项卡下的“Y”编辑框中输入100 N,然后按“回车(Enter)”键,机械臂将会开始稍微旋转一下。将力施加在该链接的Y方向上单个时间步长,该时间步长大约为几毫秒,因此需要这么大的力。
向链接施加扭矩
- 在“Apply to link”下拉列表中选中“arm_elbow_pan”链接,箭头就会移到该链接上。在“扭矩(Torque)”选项卡下的“Z”编辑框中输入100Nm,并按下“施加扭矩(Apply Torque)”按钮几次以查看该机械臂轻微地转动
施加偏离中心点的力
现在来对方盒施加力。右键单击场景中的方盒,并选择“施加力/扭矩(Apply Force/Torque)”菜单项。这样会弹出一个新的对话框。
在“力(Force)”选项卡下,在“X”编辑框中键入1000N。然后在“作用点(Application Point)”下,按住“Y”文本框右侧的向上箭头,让该文本框中的数值达到1m为止,这样就可以看到箭头会随着该文本框中数值的变化而不断移动。按下几次“回车(Enter)”键,该方盒就会旋转。按住“回车(Enter)”键可以反复向该方盒施加力并使其旋转得更快。
界面说明
- 如果在暂停仿真时施加力和/或扭矩,则施加的力和/或扭矩会累积起来,并在取消暂停仿真时一次性将它们全部施加在模型/链接上
力(Force)
“X”,“Y”,“Z”编辑框:每个字段指定将在该方向上施加多少力。坐标系是相对于该链接的。
“Mag”编辑框:将要施加的力的总大小,即上面X、Y、Z方向上3个力的欧几里得范数。改变“Mag”编辑框中值的大小会按比例改变X、Y、Z字段中的值,并相应地改变力的方向。
“清除(Clear)”按钮:按下此按钮会将X,Y,Z和Mag编辑框中的值全部清零。
“作用点(Application Point)”:默认情况下,会将力施加在链接的质心上。在此处可以编辑力的作用点的X,Y和Z字段值,以给力一个偏移,该偏移是相对于以链接坐标系表示的链接原点而言的。再次选择“Center of Mass”单选按钮来用其坐标值填充XYZ字段。
右键单击模型,并选择“视图(View)”->“质心(Center of Mass)”来查看模型质心的位置。为此,可能还要让该模型透明
“施加力(Apply Force)”按钮:单击此按钮只能施加一个时间步长的力。请记住,时间步长大约为几毫秒,因此需要较大的力才能施加一个显著的冲力。
扭矩
“X”,“Y”,“Z”编辑框:每个字段指定围绕该轴施加的扭矩大小。坐标系是相对于该链接的。
“Mag”编辑框:将要施加的扭矩的总大小,即上面X、Y、Z方向上3个扭矩的欧几里得范数。改变“Mag”编辑框中值的大小会按比例改变X、Y、Z字段中的值,并相应地改变扭矩的方向。
“清除(Clear)”按钮:按下此按钮会将X,Y,Z和Mag编辑框中的值全部清零。
“施加扭矩(Apply Torque)”按钮:单击此按钮只能施加一个时间步长的扭矩。请记住,时间步长大约为几毫秒,因此需要较大的扭矩才能施加一个显著的冲力。
扭矩始终会施加在质心上。
施加全部
- 力和扭矩是同时施加的,即施加一个扭矩扳手(wrench)。按住“回车(Enter)”键或反复点击该按钮以多次施加力和扭矩。
旋转工具
箭头方向会始终与对话框中指定的方向相匹配。在对话框中,可以通过编辑XYZ字段中的数值来更改方向。在场景中,可以通过拖动箭头周围的粉色圆圈来更改方向。
粉色圆圈依附在高亮显示的箭头上。要旋转另一个箭头,请先单击它以将圆圈依附在该箭头上,然后再正常地拖动它们
参考:
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号