|
[这个贴子最后由miceleo在 2004/02/03 10:15am 编辑]
带GPS和飞行姿态控制的远程遥控飞机,这个想法太酷了,我想过,但没想到真有人就实现了!
飞机模型的远程导航
IBM的PCATL实验室(Pervasive Computing Advanced Technology Laboratory)的工程师已经开发了一个应用程序,可以使用一个小型的基于Linux的单板机来代替标准的无线控制设备来控制模型飞机。该思想已经被扩展到Java层,允许用户使用一个标准的无线PDA实现对飞机的控制。由于具有网关服务器技术的很多优点,CerfBoard 405EP被选择用于该方案之中。
Intrinsyc软件公司的嵌入式Linux计算机使用的是基于IBM PowerPC 405EP嵌入式处理器的CerfBoard 405EP。CerfBoard 405EP运行的是Intrinsyc自己的Linux发行版(I-Linux),此外再加上IBM的WME Java VM(虚拟机)和SMF(服务管理框架),实现了嵌入式服务网关的功能。其中的SMF软件包整合了用户界面和用户在Java层与Linux操作系统进行交互的功能。
CerfBoard 405EP被安全地放置在飞机模型的驾驶舱内,并且被整合至模型中原来的无线控制系统中。CerfBoard 405EP使用的是5伏的电池组,也被放置在驾驶舱之中。
模型机原来的控制模块和CerfBoard 405EP通过某一特定频率被连接在一个无线切换的模块上面。用户可以在计算机控制飞行和手工控制飞行之间自由地切换。整个工作流程见图1。
图1 工作流程图
飞机飞行的路径则由下面的组件进行操纵:
◆ 飞机机翼上的副翼可以旋转机身;
◆ 水平稳定器上的升降舵可以调节飞机的高度;
◆ 垂直稳定器上的方向舵改变飞机的转向。
伺服发动机连接在副翼之上,升降舵和方向舵则通过一个专门的集成电路来控制,该集成电路通过一个标准的RS232连接来接受命令。CerfBoard 405EP上的Java层则通过一个本地的共享库和RS232进行交互。原来用于操纵飞机组件的通信协议则被导入到了CerfBoard 405EP上的SMF软件包之中。
SMF软件包提供了一个Java Servlet(一种标准的服务器端Java应用程序,它扩展了Web服务器的功能)。它可以从任何有Java插件的浏览器中进行访问。该Servlet会显示一张某一地点的LandSAT(地球资源卫星)地图,还可以通过CerfBoard 405EP的URL来进行访问。当地图上某一选定的点和飞机的位置不同时,软件就会给出一系列的命令,指引飞机到达指定的位置。一旦目的地到达,飞机就会在此盘旋,等待接收新的命令。
飞机上安装的一套GPS(全球定位系统)和一个独立的陀螺仪用于保持飞机的虚拟位置和实际物理位置之间的同步,并且允许对其飞行路径进行实时地校正。飞机的当前位置是由主板上的GPS模块和整合在垂直指示器上的陀螺仪来决定的。导航软件是由带有本地库支持的、具有GPS和陀螺仪模块接口的SMF软件来充当。收集到的数据会输送至一个位置算法程序中,该程序会比较飞机目前的状态和想要飞行的路径,并且由伺服系统对结果进行精确调整。
IBM的PCTAL开发了一个3维的虚拟飞行环境,它可以跟踪飞机的飞行情况。该环境居于LandSAT地图,并且给用户一个从飞机座舱里的虚拟视角(见图2)。高度、位置和方向等信息会被传送至一个Linux桌面,并且以640×480的分辨率来显示出地形。该飞行视角图可以实时更新。
图2 从飞机上传送回来的图片
PDA和随飞机携带的CerfBoard 405EP之间的交流是通过手机通信的方式来完成的。该手机通信模块通过一个RS232连接与CerfBoard整合在一起。一个802.11b连接用于近距离的通信和软件升级。CerfBoard 405EP使用了一个带有128位加密模块的MiniPCI无线卡。
PDA客户端使用的是一个具有Java功能的浏览器(比如Intrinsyc的uPDA平台或Sharp Zaurus)。PDA在此扮演的是一个通过802.11b和手机通信连接与CerfBoard 405EP进行连接的瘦终端,用户无需在PDA上运行任何其它的应用程序。
|
欢迎继续阅读楼主其他信息
|