机械原理课程虚拟样机仿真实验
课题:六足步行机器人的虚拟样机仿真
姓名:XXX
学号:*****
班级:¥¥¥
指导教师:XXX
2012年5月1日
六足步行机器人的虚拟样机仿真
摘要
以前我做过的一个设计题目是五足步行机器人的步态优化,当时由于还不会使用Adams软件,因此每次对步态做一些调整之后都要直接在样机上进行试验才能验证方案是否合理。
由于样机硬件设备并不完善,因此很多时候试验会出现各种硬件问题,这占用了我很多时间。
现在虽然我暂时不做这个项目了,然而借着本次虚拟样机仿真实验的机会,我决定运用本学期学到的知识建立步行机器人的虚拟样机模型,并进行仿真分析。
然而若是对五足机器人进行仿真,由于其步态比较复杂,因此大部分时间会用于计算步行过程中的关节变量数据。
因此本文从简化问题和对所学知识实践两方面来考虑,改为对六足步行机器人进行建模仿真,并将关节型串联机构步行腿改为并联机构中的缩放结构型步行腿以简化计算。
关键词:六足步行机器人、缩放机构、虚拟样机、ADAMS应用、仿真
目录
1 问题的分析 (1)
2 六足步行机器人虚拟样机建模 (2)
2.1 设置工作环境 (2)
2.2 单腿建模与验证 (2)
2.2.1 创建平面缩放机构连杆模型 (2)
2.2.2 创建机器人单腿模型 (4)
2.3 创建整机模型 (5)
3 计算步行过程中的关节变量 (7)
4 六足步行机器人仿真分析 (8)
4.1 导入数据 (8)
4.2 修改驱动函数 (9)
4.3 仿真 (9)
4.4 测量和分析 (10)
课程总结 .......................................... 错误!未定义书签。
参考文献 . (11)
附录A............................................. 错误!未定义书签。
1 问题的分析
本问题来源于本科时的毕业设计。
由于五足步行机器人样机搭建的较为粗糙,硬件可靠性不高,容易出现问题。
且各足足尖定位精度较差,因此对新的步态方案进行试验不仅费时费力,而且试验结果也不可靠。
为此通过简单的步行机器人虚拟样机模型即可对步态方案的可行性进行仿真分析。
由于原课题的五足机器人步态较为复杂,计算一个步态方案中各足足尖的坐标比较复杂,会占用大量的时间,而本次作业时间精力有限,因此本文改为对六足步行机器人建立虚拟样机模型,计算较为简单的“3+3”步态。
同时,原课题中机器人各足采用的都是串联式关节型机构,虽然结构简单,但是反解关节角度比较复杂,因此本文改为使用如图1-1所示的缩放机构作为步行腿机构。
图1-1 缩放机构原理图
图中AC/ /ED,EB / /CF,E点只能沿着x轴运动,A点只能沿着y轴运动。
A点的运动将以K1=FD/DC的比例放大到F点;;E点的运动将以K=K1+1的比例放大到F点。
因此可以用A点和E点的独立控制来实现垂直方向与水平方向的分离驱动, 这就是该机构的运动解耦性。
该机构有3个自由度,即A点的沿y 轴方向的移动、E点的沿x轴方向的移动以及整个机构绕y轴的转动。
如此一来,就能够很容易地根据末端F点的坐标计算A、E的位置以及整个机构绕y轴转动的角度。
2 六足步行机器人虚拟样机建模
新建一个ADAMS模型,将其命名为model_1。
2.1 设置工作环境
在建立虚拟样机之前,一般都需要进行必要的工作环境设置,如选择坐标系、单位、工作栅格、重力方向等。
由于本文只是简略地建立模型进行仿真分析,对工作环境没有特殊要求,因此使用默认设置即可。
2.2 单腿建模与验证
本文的建模对象是六足步行机器人,其各足构造完全相同,且沿机身均匀分布。
因此可先建立单腿模型,对缩放机构的运动特性进行验证。
2.2.1 创建平面缩放机构连杆模型
1、创建连杆并添加关节运动副
图2-1 创建各连杆图2-2 添加运动副图中各杆杆长为AC=CF=300mm、EB=50mm、ED=250mm。
初始状态下EB
和ED两杆与x轴的夹角分别为45°和-45°,E点坐标为(200,0,0)。
2、创建两个直线驱动块并添加运动副
创建两个直线驱动块,并在驱动块和连杆之间连接的A、E两点添加转动副。
如图2-3。
图2-3 创建直线驱动块
在两个直线驱动块和机架(地面)之间添加直线运动副。
如图2-4。
图2-4 添加直线运动副
添加直线运动驱动,验证缩放机构工作情况。
如图2-5。
经仿真验证,上面创建的缩放机构模型能实现末端F点在x-y平面内的定位,且在x和y方向的运动具有解耦性。
图2-5 添加直线驱动
2.2.2 创建机器人单腿模型
实际的缩放机构是一个三维运动机构,整个机构可以绕着机架旋转。
因此需要对上文创建的平面缩放机构进行改动。
1、创建和机架连接的部件
缩放机构需要一个和机架连接的转轴,以使整个机构能相对机架旋转。
如图2-6。
图2-6 创建单腿转轴
2、修改运动副
将上文创建的两个直线驱动块和机架之间的直线运动副修改为直线驱动块和单腿转轴之间的直线运动副。
然后在单腿转轴和机架之间创建转动副,验证缩放机构的三维运动性能。
经验证,机构能够正常工作。
待最后建立机身部件后,将刚创建的单腿转轴和机架之间添加的转动副修改为单腿转轴和机身之间的转动副即可。
这一步完成的单腿模型如图2-7。
图2-7 单腿模型
2.3 创建整机模型
1、复制单腿模型
复制五个上文创建的单腿模型,并将总共六个单腿模型以y轴为中心均匀分布。
图2-8 复制模型
2、创建机身和地面部件
创建机身部件,并在六条腿的转轴和机身之间添加转动副和旋转驱动。
如图2-9。
创建地面,并在六条腿的末段连杆和地面之间定义接触(CONTACT)。
如图2-10,2-11。
图2-9 创建机身图2-10 创建地面
图2-11 定义CONTACT
3 计算步行过程中的关节变量
机器人采用的是“3+3”步态,每次抬起三条腿向前迈步,机身也随着向前运动,如此交替往复。
计算过程是在MATLAB中完成的,最后将24s内各关节变量每隔0.05s的取值作为数组,和均分时间的道德数组一起储存在txt文件中,以便导入Adams中作为spline函数的参数使用,如图3-1。
这些与本课程关系不
大,这里不再赘述。
程序源代码详见附录A。
图3-1 某关节变量与时间变量对应数据
4 六足步行机器人仿真分析
4.1 导入数据
将上文生成的18个txt文件导入Adams中生成spline。
如图4-1和图4-2。
图4-1 导入数据
图4-2 导入后生成的spline
4.2 修改驱动函数
将各关节变量的驱动函数修改为spline定义的曲线,如图4-3。
图4-3 修改驱动函数
4.3 仿真
开始仿真,观察六足机器人的步行状态,如图4-4。
图4-4 仿真
4.4 测量和分析
1、测量各关节角度、角速度、角加速度随时间的变化曲线以及各驱动块的位移、速度和加速度随时间的变化曲线,如图4-5。
(a) 一号腿竖直驱动块位移随时间变化曲线
(b) 一号腿竖直驱动块速度随时间变化曲线
(c) 一号腿竖直驱动块加速度随时间变化曲线
图4-5 一号腿竖直驱动块关节变量随时间变化曲线
2、分析
由于时间有限,在计算关节变量随时间的变化规律时,使用的各足足尖运动轨迹是由直线组成的,虽然导入Adams时这些数据被拟合成了多义线,然而毕竟原始数据并不好,因此仿真得到的曲线有很多尖点,运动过程中足尖和地面之间也有很多冲击,这些都是正常的。
本文建立虚拟样机的目的只是验证步态方案的稳定性,从仿真结果来看,六足机器人能够稳定步行,这就已经达到目的了。
参考文献
[1] 郭卫东.机械原理. 北京:科学出版社,2010.
[2] 郭卫东. 虚拟样机技术与ADAMS应用实例教程. 北京:北京航空航天大学出版社,2008.。