- 本项目的目标为通过浏览器远程控制群体机器人的行为,并向用户反馈机器人的相关状态信息。
- 控制功能根据控制的粒度分为三个层次:基本控制,精确控制与批量指令控制。
- 整个系统主要分为三个部分:用户浏览器端,服务器端,机器人端。服务器端又分为三个部分:http服务器,Web应用,串口(连接一个无线通信模块)操作程序。另外系统还使用一个IP摄像头进行视频反馈。
- 客户端,即前端页面利用jQuery Ajax实现与服务器端的异步通信。并使用JavaScript数据可视化库NVD3动态绘制网络时延统计图。
- 服务器端的http服务器采用Nginx, Web应用基于Python Web服务器框架Tornado实现,Nginx作为Web应用的反向代理,将用户请求转发给Web应用。Nginx通过配置文件实现简单的用户身份验证。串口操作基于pyserial函数库。
- 机器人端的硬件是一种自主设计的智能小车,机器人程序是基于硬件驱动库嵌入式C实现。
- NVD3.js: http://nvd3.org/
- jQuery: http://jquery.com/
- Tornado: http://www.tornadoweb.org/
- pyserial: http://pyserial.sourceforge.net/