ARM的桥梁检测车安全监控系统设计与实现

2010-11-20 02:23杨世华王秀敏沈建明任建新
中国计量大学学报 2010年4期
关键词:检测车坐标系桥梁

杨世华,王秀敏,沈建明,任建新

(1.中国计量学院信息工程学院,浙江杭州310018;2.杭州专用汽车有限责任公司,浙江杭州310018)

桥梁检测车是用于桥梁检测的专用车辆,主要用于各种桥梁的检测,但是由于其机械臂较长,在检测过程中需要较大的旋转空间,同时机械臂部分处于桥梁的下方,故视频监控系统不能给出整体画面.由于驾驶室内操作人员不能整体把握机械臂的姿势,会导致危险情况出现时,无法及时地制动防侧翻装置,从而引起事故[1].国内针对桥梁检测车安全监控的研究还处于起步阶段,主要通过人与人之间的对讲作为桥梁检测车的安全监控保障;而由于国内桥检车与国外的机械臂在形状结构上有很大差异,所以其监控系统对国内车辆作用不大,因此针对国内桥检车设计一种安全监控系统非常必要.同时可以节约操作时间,减少桥检车对道路的占用时间,对缓解交通压力起极大的作用.文中以8自由度三关节机械臂的混合式臂架桥检车作为研究对象,首次提出并设计了一种基于ARM的安全监控系统,结合正运动学原理通过传感器采集的回转角度和机械臂长度进行空间定位,利用Qtopia[2]对机械臂状态进行图形绘制,并显示第二回转角度.

1 硬件系统结构设计

图1为系统硬件构架框图,S3C2440[3]为ARM9结构的数据处理平台,倾角传感器为三个,其中2个双轴倾角传感器置于两个回转角处,1个单轴倾角传感器置于二臂三臂之间(为方便机械臂的空间运动建模,倾角传感器[5]采用磁敏传感器),同时使用三个直线位移传感器对机械臂伸展长度采集信息,通过多转一串口输出电路将六路传感器采集的信号分时读取(每路信号只能分时占用总线),将待处理信号发送给处理器,再通过软件实现动画模拟部分.

图1 系统硬件设计图Figure 1 Hardware strcutual design drawing

2 基于Qtopia的应用程序设计

系统软件部分由数据处理模块、通信模块和动画显示模块三部分构成,采用多线程编程;其流程图如图2所示.实时监控系统每6 ms从串口0读取并发送数据一次,串口0接收来自多转一端口的数据,端口地址为01到06,采用轮询方式,六次为一周期.传感器工作频率为25 Hz,根据接收到的数据,首先判断传感器发送数据是否正常,异常情况主要采用对角速度变化率进行判别,若是数据合理,进行相应的数据处理.

2.1 关节定位

桥梁检测车的机械臂由四部分组成:一臂、二臂、三臂以及工作平台,而工作平台采用了自动调平技术,使其总是保持水平平衡,可以将模型简化为三关节模型.通常机械臂是结合机器人灵巧手三关节手指结构进行建模,常用Denavit-Hartenberg法建立坐标系.

图2 应用程序流程图Figure 2 Application flowchart

但该方法仅能实现绕 x、z轴旋转以及z轴必须沿关节轴线方向旋转[6],且同时要求每个关节仅具有一个自由度;而机械臂回转角处各具有两个自由度,同时三个臂又具有伸缩功能,因此每个关节的自由度≥2,系统采用如图3所示的方法建立空间模型,O1,O2,O3,O4为机械臂的关节端点;坐标系O1为定坐标系(参考坐标系),O2,O3,O4为动坐标系;li表示 i臂的臂长;α为 x轴与L1在 XOY平面内投影夹角,β为L与XOY平面的夹角,即α,β表示关节转动的角度.

图3 空间建模Figure 3 Space modeling

经计算坐标原点Oi在Oi+1坐标系内的坐标为 Pi,i+1(li· cosα· cosβ,li· cosα·sinβ,li·sinα),即也是位移向量 ti,i+1=(tx,ty,tz)的坐标.T12由坐标系O1平移到O2的变换矩阵可简单表示为

同理可求的其次变换T2,3,T3,4;根据坐标的复合变换可证明Pi,i+1=Ti,i+1·Pi+1,经迭代可求的 P1,j=T1,j-1·Pj-1,j即 :

其中Pi,j表示在坐标系Oj内的点相对参考系i的坐标.li的回转角 θ2·i-1,θ2·i分别对应α,β.

2.2 通信模块设计

系统通信采用RS-485串行口通信协议.串口参数作如下设置:速率11920波特、8位数据位、起始位1b、停止位1b和无流控协议.为实现系统的多任务、实时性,使用Linux提供的POSIX thread线程标准,抛弃qtopia提供的qthread[7]线程,需要将qmake配置文件内的libs文件库改为由Linux提供的线程libs文件;同时在项目文件.pro内添加CONFIG+=thread;表示这是一个多线程应用程序.通信模块主要负责将接收到来自多转一电路的信号,然后经过处理把对应空间坐标传递给绘图函数.

部分代码如下:

2.3 动画显示模块设计

Qt的二维图形引擎是与平台无关、基于Qpainter类的,采取帧缓存作为底层图形接口,可以直接画在绘图设备上如QWidget,Image,Qpixmap,OpenGL等设备上.绘图模块主要实现图形显示功能,当机械臂摆动姿势不同时,系统会以不同的观察视角显示.部分实现代码如下:

3 结 语

本文提出并设计了一种基于ARM的安全监视系统,该监控系统通过对机械臂关节的空间定位、力矩计算,利用Qtopia强大的绘图功能,使用帧缓存作为底层图形接口,直接对“设备”读写,克服了视频监控需要多摄像头才能完成任务的弊端,并且所给出机械车的整体姿势完全,达到实时快速的要求,而且经济实用.同时该平台具有可持续开发性,添加对机械臂的无线控制模块等.

[1]崔文毅,潘夏表.桥梁检测车在桥梁检测中的应用[J].筑路机械与施工机械化,2006(12):42-44.

[2]NOKIA.Qtopia Reference Documentation[EB/OL].(2010-01-10)[2009-10-06].http://doc.qt.nokia.com/qtopia2.2/html/index.html.

[3]SAMSUNG.S3C2440 user's manual[EB/OL].(2010-03-05)[2009-11-06].http://www.arm9home.net/read.php?tid-2765.html.

[4]陈锡爱,许 宏,张 星,等.CAN总线的机器人传感网络设计[J].中国计量学院学报,2009,20(3):247-250.

[5]王学影,岩君芳,叶树亮,等.关节臂式机器人测量系统关键技术研究[J].中国计量学院学报,2010,21(1):12-15.

[6]SAEED B.机器人学导论:分析、系统及应用[M].孙富春,朱纪洪,刘国栋,等译,北京:电子工业出版社,2004:34-42.[7]JASMIN B.MA RK S.C++GUI QT 4编程[M].2版.闫锋欣,译.北京:电子工业出版社,2008:256-269.

[8]NICHOLAS V,FREDY Y.SVG deployment embeded Linux systerm[J].IEEE International Symposium on Consumer Electronics,2008,15(1):1-4.

[9]黄咏梅,赵伟国,李文军.ARM 的远程流量监控系统设计与实现[J].中国计量学院学报,2007,18(1):22-25.

[10]CHEN Z J E,ZHANG Z X.Design and implementation of video player sy stem based on embedded system and Qt/E[J].The Institution of Engineering and Technology,2008,30(3):468-472.

[11]许 明,金 波.基于能量调节的电液变转速系统 ARM控制器设计[J].浙江大学学报(工学版),2009,43(2):202-207.

猜你喜欢
检测车坐标系桥梁
无人快速综合道路检测车系统设计
独立坐标系椭球变换与坐标换算
道路综合检测车在公路检测中的推广应用
轮胎式高速铁路隧道检测车车辆稳定性分析
浅谈国内外公路隧道检测车发展现状与研究
手拉手 共搭爱的桥梁
句子也需要桥梁
解密坐标系中的平移变换
坐标系背后的故事
高性能砼在桥梁中的应用