一、机器人相扑(2008微软创新杯机器人与算法初赛)
1、环境。
A、圆形擂台。
B、两个扁圆柱形机器人。
2、目标。
将对方机器人推出擂台。
3、机器人模块。
A、一个只能面向正前方的摄像头。
B、左右两个轮子。
4、信息获取。
A、根据摄像头传回图像中边界的弧度确定自己离边界的距离。
B、如果视野中存在对方机器人,根据近大远小来计算出对方机器人的位置,并确定其 姿态(正常还是翻倒)。
C、如果上一刻视野中也存在对方机器人,根据两个时刻对方机器人的位置来确定其行 进方向和速度。
5、战术选择。
A、简单粗暴:始终正对准对方机器人,持续对准后速度加到最大来将其撞翻或推出。
B、防御战术:原地高速转圈,对方过来时很容易被撞翻。
C、诱敌战术:在边界上以保持不出界的速度转圈,诱使敌方来撞自己时因速度太快而 出界。
D、避实就虚:发现对方正对着自己撞过来时,与对方运动方向成约135度夹角运动(保 持对方出现在己方摄像头的边界上),从而让对方和自己恰好错开。之后迅速转向 攻击对方的侧方或后方。
二、机器人火星探险(2008微软创新杯机器人与算法复赛)
1、环境。
A、火星环境模拟,四周是平地,中间是一个大坑,地表上有些大小不一的石头。
B、一个火星探测车。
2、目标。
A、移动到需要采集的石头旁边。
B、控制机器手臂将探针插入石头进行采集。
3、探测车模块。
A、前后共三个轮子。
B、车身摄像头和顶部摄像头。
4、信息获取。
A、将不同位置摄像头传回的图片进行对比,从而实现三维建模。
B、记录视野中各物体(石头、悬崖)的三维坐标。
5、行为模式。
A、根据目标的位置进行寻路,确定最优行进路线。
B、绕过前方的大石头;如果目标不在大坑里,绕过大坑。
C、到达目标点后,选取合适的位置,控制机器臂采集石头(这部分不是我写的,具体 情况完全不了解)。
D、如果要进入大坑,选取坡度最缓的地方下去。
三、实时脸谱
1、目标。
A、实时人脸位置识别(对速度和精度要求较高)。
B、在合适大小的脸谱来覆盖人脸,并将图片刷新。
2、方法。
A、识别皮肤和头发颜色,以确定大致范围。
B、脸部轮廓和五官识别,以确定精确位置和脸部姿态。
四、图像素描效果
1、方法(效果较粗糙,但程序实现较简练)。
A、用每个点与临近点的灰度值差距来构建新图像。
B、制造斜条纹效果。(就是感觉有斜条纹好看点)
2、代码。
publicvoid sumiao()
{
Bittemp1 = new Bitmap(src.Width, src.Height); //src为原图像
for (int x = 0; x <