使用adams进行机械臂运动学仿真
前言
本节目标:
1、在adams中创建机械臂
2、调整工作网格以适应多平面零件布局
3、在旋转关节之间创建齿轮约束
4、使用SFORCE向机器人操作结构施加夹持力矩
5、定义3D对象接触和摩擦
6、协调关节运动和电机扭矩以执行复杂任务
本页讨论
一、创建模型
1.创建底部连杆
- 启动 Adams/View,创建新的模型(Model Name = robot_arm, Units = mmks, Gravity = -y earth)

2、从(0, 0, 0)到(0, 150, 0)创建一个连杆,并将其重命名为lower_link
3、从(0, 150, 0)到(0, 250, 0)创建另一个连杆,并将其重命名为middle_link
4、修改lower_link的几何形状,使其宽度和深度为40,对于middle_link的宽度和深度为30
5、构建一个圆柱体,起点为(0,0,0),终点为(0,-50,0),将其重命名为base
6、修改圆柱体的直径为30
7、创建以下旋转关节(实体的选择顺序很重要,因为它决定了运动的正方向)


2.更改工作网格
1、选择 Settings >> Working Grid
2、将间隔设置为10X10mm“方向”设置为“全局YZ平面”,并将间距设置为10 mm x 10 mm,设置方向为全局YZ平面,点击确认。

3、按Shift+R切换到右视图
3.创建机械手I
1、减小图标的大小,使在其附近操作更加容易。
选择Settings >> Icons,并在新的尺寸窗口中输入10

2、按照如下表格,创建并重新调整机械手的大小


4.创建机械手Ⅱ
在这个模拟中,机器人将抓取40mm的立方体。使用精确移动来设置夹爪之间的距离(夹爪的距离等于立方体的尺寸)。
1、选择 gripper_left
2、选择标准工具栏中的Position:Move图标,在距离文本框中输入5mm

3、选择全局坐标系Z方向的任意向量(向右)
4、对gripper_right重复上述操作,将其向左移动5mm
完成机械手基础零件的几何体构建
1、选择 Rigidbody:Link 图标
2、在下拉菜单中从“新建零件”更改为“添加到零件”
3、选中“宽度”和“深度”复选框,然后在每个文本框中输入20
4、选择 manipulator_base零件,然后选择每个夹爪零件的下部标记点以定义新的连杆几何形状(请注意,这是添加到 manipulator_base零件的新几何体,而不是新零件。)

5、在每个夹爪和机械手底座之间创建旋转关节,且第一个物体选择夹爪

5.定义剩余关节
1、将工作网格方向切换到全局XY
2、在manipulator_base和middle_link之间创建旋转关节,节点位于(0, 250, 0)
3、在地面和底座之间建立一个旋转关节。关节点位于bases 的.cm marker标记点,坐标为(0,-25,0)
6.添加运动以测试模型
1、从主菜单中单击“旋转关节驱动”工具,使用默认速度30.0
2、选择lower_link和base之间的关节
3、重命名新创建的运动为motor_1
4、修改(右键单击>>motor_1>>修改)新创建的运动。在下面添加一个负号,反转其方向
5、对其余的5个旋转关节添加运动,每个运动使用默认的速度30
6、如下图所示,重命名每个动作

7、使用5秒50步进行模拟
7.测试模型
1、单击animation图标
2、使用滑块导航到第26帧
3、下图是模型在26帧(时间 2.5)的标准(Shift+I) 阴影(Shift+S)视图

8.构建抓取的目标Ⅰ
1、将工作网格切换到全局XZ,间距切换到20×20,切换到俯视图
2、使用Rigid Body: Box通过选择合适的顶点位置来构建立方体
3、修改每个零件的几何形状,更改两个大的工作台的对角点坐标Z分量为-5,三个小立方体的对角点坐标Z分量为40
4、按照下图所示重命名新创建的实体

5、使用右键修改>>定义质量方式:用户输入,将每个立方体的质量更改为20g。

9.构建抓取的目标Ⅱ
现在,我们将工作台固定在地面上,并在箱子和工作台之间建立接触,这样它们就不会掉下去。
1、选择Contact图标
2、确保在“接触类型”下拉菜单中选择了“实体对实体”
3、在“I实体”和“J实体”对话框中单击鼠标右键>>接触实体>>选取,并在主窗口中选择几何图形

4、对其余两个立方体重复上述步骤(三个立方体和两个工作台都要建立接触关系)。
5、在每个工作台和地面之间创建固定连接约束

10.耦合两个夹爪的运动
1、将工作网格设置回全局YZ并切换到右视图
2、删除作用于夹爪旋转关节的运动
3、选择关节耦合副(Joint Coupler)

4、选择gripper_right旋转关节,然后选择gripper_left旋转关节来定义运动耦合副
5、修改耦合副如上图所示,这限制了两个关节的运动幅度相等,但方向相反(两个比例都为-1)
11.在夹爪上施加力
1、选择“创建旋转弹簧减震器”
2、选择gripper_right,然后选择manipulator_base定义弹簧的主体,然后定义弹簧的中心为旋转关节。

3、将扭簧的刚度刚度系数修改为10,阻尼系数修改为5,预载为10。默认情况下,这会导致夹爪略微打开。
4、选择“创建扭矩”
5、选择 gripper_right作为物体, gripper_right旋转关节的中心为作用点。
6、将SFORCE的外观更改为蓝色,尺寸为11,以提高可见度
7、将扭矩重命名为FORCE_grip_torque
8、如图所示,修改SFORCE。

12.测试夹爪力
1、将模型中的其他运动设置为0并验证机械手的操作
2、设置所有4个关节运动(motor_1、motor_2等)的函数为0
3、将grip_torque的函数修改为20
4、按照3秒,30步进行模拟,如图所示,夹爪将处于轻微闭合的状态(左侧函数值为0,右侧函数值为20)

5、将grip_torque的函数修改为0
13.抓取立方体
接下来,在夹爪和立方体之间创建接触和摩擦力。
1、在gripper_left和cube_1之间创建实体到实体的接触。
2、更改静态和动态系数,如下图所示
3、对gripper_right和cube_1重复此操作
4、重命名每个gripper_contact_[left/right]
5、将grip_torque函数修改为-step(time,1,0,1.1,-8000)
6、按照1.1秒,55步进行模拟,确认夹爪与cube_1产生接触。

14.完成整个运动和扭矩的定义
1、按照下图设置旋转驱动和力的函数值

2、按照1.1秒,55步进行模拟,确认机械手的运动状态

3、点击后处理,可以绘制扭矩的曲线。

更多推荐
所有评论(0)