风林火山技术文档(程序部分)
系统架构
  根据比赛规则,机器人可以遥控,也可以自动控制,考虑到搏击机器人面对的环境高度复杂,自动控制将是一个庞大繁复、任重道远的工程,故而我们一致认为机器人应主要依靠遥控,由人充当传感器和决策机构,机器人只负责将人的指令转换为具体的动作。
  在遥控方案上,我们采用了许炎武的提议——放弃制作手柄,而以一台计算机作为遥控端(因此遥控端被命名为“许炎武”)。这要求“许炎武”具有与无线模块通信的能力。经过查找,我们发现nRF24L01的扩展产品nRF24LU1可以与计算机直接通信,但此款产品在中国境内无法买到,只好作罢。最后我们令“许炎武”通过串口输出信号,自己制作了一个ATmega16+nRF24L01的电路板作为转发机构(因此被命名为“Skywalker”)。硬件结构基本解决,软件结构是:“许炎武”将人的指令进行初步翻译——将抽象的指令翻译为机器人上舵机状态的列表,通过串口传给Skywalker,Skywalker将信号原样发送出去。而在机器人上,有一块同样的nRF24L01负责接收无线信号,传送给ATmega16,然后再由ATmega16生成PWM波控制舵机(机器人端被命名为“bondsdancer”)。
……
阅读全文——共2826字

  原本打算写一篇Robogame历史上废话最多、实质内容最少的技术报告,但队长不许,于是只好以下文凑数了。
  我们的机械部分相对简单,腿部的设计在一开始就决定不采用加藤结构,而是用相对简单的四联杆,另设机构以移动重心,这样避免了单个动作涉及过多的自由度。RoboGame2008的规则允许遥控,给定的场地状况相对理想,故我们决定不设置AI,也不使用传感器,没有姿态调整,决策完全依靠遥控。
  在前期培训中我们得知,nRF24L01无线模块功能非常强大,可靠性极高,完全有能力胜任大量数据传输工作。故程序的整体架构(包括遥控端和机器人)采用了许炎武提出的结构,因此,架构中最重要的一部分被命名为“xuyanwu”(后被改名为“许炎武”)。剩下的两个部分分别被命名为“bondsdancer”和“skywalker”,这两个部分的命名都与其职能有关。"bondsdancer"意味着bondsdancer将没有决策功能,完全按照指令行事。“skywalker”则是纪念Anakin Skywalker(Star Wars主角,在Epsode II中,Obi-Won曾要求Anakin转发他向Jedi Concil的报告,因为他自己的“远距离通讯器”被打坏了)。
……
阅读全文——共1068字