robotcup源代码
main函数
socket是main函数的重点,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了。使用TCP/IP协议的应用程序通常采用应用编程接口就是socket,socket可以理解为一个特殊的文件,有打开、阅读、关闭操作。
main函数包括命名参数、阅读选择、初始化、链接、收集输入、输出信息、输出到监视器的信息、得到信息、运行、主函数这几部分。
重点函数有absort(),atoi(),fd_set,bind(),connect(),const char*c_str(),extern"C",getFD,htonl(),INADDR_ANY,ntohl,read,select,timeval,write()
worldmodel
about kalman滤波器,卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。
worldobject这是一个定义在worldmodel文件夹下的一个结构体,对整个球场的各种物体,包括球员、球、球门柱等进行了统一处理,每一个物体都创建了个相应的worldobject结构体,进行了相应的初始化.
Worldmodel是一个定义在worldmodel文件夹下的一个类,它的对象主要是对整个球场的状态进行处理,包括球场内的时间,得分,球员的位置信息,球员对信号等事务的反应。还有球员和球之间的诸多操作,将这些球场状态统一的作为一个对象存入类中。
保持不变的信息有:球场的长和宽,球门的宽度和高度,球的半径、质量,机器人模型的参数,敌我双方的队名,我方在左边还是右边,球员自身的球员号码,以及和比赛规则相关的参数等。
变化更新的信息有:球的位置,我方队员的人数以及队友的球员号码,对方队员的人数以及各自的球员号码,各个球员的位置,比赛的比分,球员自身的位置和身体面向角度,球员自身所有感应器捕获的信息等等。
C++
学习了继承、多态、流输入输出,了解了虚函数、多态、派生在减小程序改动等方面的巨大优势。
数据结构
树和二叉树是重要的数据结构,二叉树的性质、存储结构、遍历都很重要。
虚拟机
已经安装好vmware和Ubuntu,安装编译环境和依赖库成功,但是下载Simspark失败。