(文章来源:华清远见)
嵌入式控制器越来越微型化、功能化。微型机器人、特种机器人等也获得更大的发展机遇,无论从控制系统的结构还是机器人的智能程度方面都得到了很大的提高。以索尼的机器狗为代表的智能机器宠物是最典型的嵌入式机器人控制系统,除了能够实现复杂的运动功能,它还具有图像识别、语音处理等高级人机交互功能,它可以模仿动物的表情和运动行为。火星车也是一个典型例子,这个价值10亿美金的技术高度密集移动机器人,采用的是VxWorks *** 作系统,它可以在不与地球联系的情况下自主工作。下面从运动控制系统、远程控制、视频监控系统三个方面分析嵌入式系统在机器人中的应用情况。
机器人的运动控制部分一般采用ARM 7来完成,主要是由于整个系统对实时性要求较高,利用ARM 7来专门控制伺服能更好的满足要求。
ARM 7通过串口接收数据,并根据定义好的串口相关通信协议对接收到的数据进行解析,得到各个电机的转向以及运动圈数,从而控制电机的转动,串口数据的接收是通过中断的方式来实现的。一旦有数据到达,就产生一次中断,在中断服务程序中,新发送过来的数据将被保存起来,并且设置标志位为真,用以通知主任务有新的数据到达,可以调用电机驱动程序来实现电机的运动。
任何能连接上互联网的地方的用户,在远程用户端,OPENGL 仿真将预演用户所输入的机器人控制命令后机器人的运动轨迹,并且将机器人的运动轨迹做相应的反解,从而得到各个控制关节,即相应的电机的运动数据,这些数据通过互联网传送到近端控制中心ARM 9控制板上,通过它转发给实时控制板ARM7,ARM7就控制伺服驱动器让电机按预定的轨迹运动,从而实现机器人的远程控制。
远程用户端一个重要的功能是能实时地观看到机器人的运动姿态,所以一个视频客户端是必须的。基于服务器/客户端的模型,在ARM 9控制板上运行着视频服务器,该视频服务器与带USB 接口的摄像头相连,摄像头实时地采集并联机器人的运动状态,并将采集到的图像编码,ARM 9控制板将经过编码压缩后图像数据通过以太网传送到远程客户端,远程客户端在接收到图像数据后经过解码、显示从而形成视频图像,用户也就可以观测到机器人的运动状态。
ARM 9控制板是整个系统的核心,它扮演着系统的数据中心,控制中心的角色。一方面它将摄像头采集到的视频数据经过编码后,通过以太网发送到远程用户端;另一方面它将它还需要负责将远程用户端传送过来的控制命令解析并转发给ARM 7控制板并接收反馈信息。
远端用户通过人机交互界面将所要求机器人运动姿态位置的指令输入到远端PC 中,经过网络传输到达ARM 9控制中心,ARM 9控制中心这里扮演着近段调试模式中那个近端PC 的角色,在接收到远端数据后经过数据处理后,控制其串口将串口数据包发送到ARM 7控制板上,ARM 7控制板接收到数据后解析数据并且驱动电机的伺服驱动器,从而实现对机器人地控制。
由于控制命令对准确性的要求以及现实的网路情况,目前多数采用TCP 协议来传送控制命令。
图像数据由摄像头采集,ARM 9通过USB 接口读取其缓存中的数据,并对图像数据进行压缩编码。然后基于socket 编程来传送这些数据,将ARM 9作为server 端,一旦有client 端(监视平台) 与之连接,它将把压缩后的数据发送过去。监视平台接收到数据后解码,然后显示在终端上。控制单位时间内图像帧显示次数就能形成流畅的动画效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)