前言

我个人不是Robocup2D的专业选手,仅仅是在大一刚入学就接手了这项难度很高的项目,很多东西我也是在摸索当中逐渐总结出来的,希望能帮到同为入门的其他人,毕竟对初学者而言Robocup2D的资料确实挺难找,想要系统的了解需要耗费大量的时间和精力。文中难免出现错误,希望看到的各位大神能够帮忙在评论区指正,也是对新手的很好的教学。
目前打算做一套比较完整的入门笔记,从是什么开始,到基础知识的介绍,软件及环境的安装,球队的基本组成,以及常用的开发工具的介绍,希望给新手提供一个全套的教程顺利渡过前期最艰苦的时期。

1. 什么是Robocup2D

1.1 Robocup

Robocup是一项非营利性的科学挑战,目标是在2050年实现组建一支机器人足球队在世界杯赛场上战胜人类队伍,目前该项目已经进行了20余年。而在原来的足球的基础上,现在逐渐发展出其他许多不同的应用场景,例如家庭工作、救援等任务。详情见官网。
Robocup的官网

1.2 Robcup2D

Robocup2D是机器人足球的模拟比赛,足球赛的模拟分为2D与3D两种,其中2D历史更加悠久,是最早开始的比赛之一,而3D近年来也取得了长足的发展,相比2D也跟加贴近真实。

这里重点介绍2D比赛。2D比赛经过二十多年的发展,已经逐渐成为一项战术策略非常成熟的赛事了,许多人类足球的战术策略都被用到了这里面,例如阵型、盯防、跑位、角球战术等,而2D的限制使得在比赛中位置更加重要(因为球和球员都只能在2D的赛场上移动,因此占住了位置就是卡死了进攻以及防守的线路)。

而当前世界上Robocup2D的顶尖球队有这么几支:来自日本的Helios,来自中科大WrightEagle,以及来自安徽工业大学的YuShan,其中Helios的开源底层代码agent2d是现在非常多球队的底层代码,是一套功能十分完善、适合开发的代码。这里顺便提一下,因为Robocup是一项研究型项目,所以代码的复用是被赛事官方所鼓励的,但是也不能直接全盘照抄(这种事发生过),赛事组委会赛后会询问你球队做了哪些改进。

2 关于Robocup2D的一些资源

国内虽然有Robocup2D的强队,但适合的资源数量不多,在这里统一整理一下:
Robocup2D赛事官网.

Robocup2D基础软件的GitHub地址

Gitee的软件地址如果忍受不了Github的下载速度也可以尝试这个,里面还集成了一键安装的脚本,可以实现傻瓜式安装

官方发布的资料

中科大的教程

Yushan的教程

agent2d的说明网站,不是很详细

博主九月大人的博客
最开始就是从这个博主的博客中对Robocup的代码有了一点认识才逐步入了门。

同样一个csdn的博主介绍agent2d的构成

同样在做Robocup2D的博主,也是少见的近来还有更新的

3 Robocup2D需要哪些知识

3.1 Linux操作系统

Robocup2D的服务器是运行在Linux操作系统下的,所以所有球队几乎都会在Linux环境下开发、编译、运行,所以需要掌握Linux操作系统的一些简单操作,例如编译、安装、运行等。

3.2 C++

在Robocup2D当中,目前最主流的编程语言还是使用C++,当然也有部分球队会选择使用Java或者python,但是目前最主流的球队还是使用C++进行开发,特别是适用范围最广的Helio底层球队Agent2d是用C++进行开发,所以掌握C++的知识是很重要的。如果同样是大一初学刚刚学完一门编程语言(特别是用C语言入门的学生),那么在学习的时候需要把重点要放在C++中STL库的学习以及面向对象编程的学习。

3.3 Git

Git对于程序员来说是一个很重要的工具,特别是在多人协同开发的时候更是需要有一个强大的工具来管理每个人写的代码,Git就是一个很好的工具。关于Git的使用网上已经有很多教程了,从cmd界面到GUI界面的都有很多资料,这里就不做赘述了。

3.3 检索资料的能力

Robocup2D的资料在网上其实是比较难找的,许多文章都是介绍到安装环境就截止了,少有的代码介绍和球队开发的介绍其实都不太足够而且比较零散,这个时候就需要有强大的信息检索能力,能够在众多杂乱的文章中提取出信息加以整合变成自己的知识。
关于检索资料,可以尝试使用不同的搜索引擎进行搜索,采用更高效的搜索技巧来搜索资料,详情可以看这篇文章。甚至在必要的时候可以科学上网在外网找资料,当然这也就需要下面这个能力。

3.4 英文能力

Robocup毕竟是国外的比赛,甚至连说明书也都是用英文写的,很多的资料也都会使用英文,所以强大的英文能力以及对英文的熟练程度会很大程度上影响进程,当然这次项目也培养了我不惧怕英文的能力

Robocup2D入门笔记(1)——概述相关推荐

  1. Robocup2D入门笔记(2)——环境的配置与安装

    本篇主要介绍Robocup2D环境的配置与安装,由于笔者去年安装的时候Ubuntu还是18.04的版本,server也还是15.6.0的版本,所以介绍的时候还是以这个软件版本为准,但会尽量兼顾新版本与 ...

  2. 激光SLAM入门笔记(一):概述

    概述 激光SLAM pipeline 1.数据处理(非常重要) 里程计标定 激光雷达运动畸变去除 2.帧间匹配(核心部分) 3.回环检测 4.后端优化 2D激光SLAM 数据处理(非常重要) 帧间匹配 ...

  3. pytorch深度学习入门笔记

    Pytorch 深度学习入门笔记 作者:梅如你 学习来源: 公众号: 阿力阿哩哩.土堆碎念 B站视频:https://www.bilibili.com/video/BV1hE411t7RN? 中国大学 ...

  4. 深度学习入门笔记(六):浅层神经网络

    专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具体的参考资料并没有详细对应.如果某部分 ...

  5. STM32入门笔记(02):定时器之定时器中断、输入捕获和PWM输出(SPL库函数版)

    目录 定时器 8个定时器 定时器功能 定时器中断 常用通用定时器的寄存器 定时器中断实验目的: 定时器库函数及步骤 实验程序讲解 PWM 简介 STM32 PWM工作过程 PWM模式1 与 PWM模式 ...

  6. 【Unity VFX】VFX特效入门笔记-火花制作

    [Unity VFX]VFX特效入门笔记 目录: 一.布局初识 二.制作-环节-思路-概述 三.具体实现步骤 四.案例下载链接 效果展示 一.布局初识 VFX创建的初始节界面,分为 4 大块. 1.显 ...

  7. JVM入门笔记-摘自黑马程序员

    JVM笔记 这是一篇JVM小白的入门笔记,适合刚接触JVM的伙伴们入门参考. 笔记是完全按照我看的视频来的,说实话内容不深很好理解,主要的作用就是把所有的知识点串起来让你不会迷茫,就像画画一样先描好轮 ...

  8. vue router 入门笔记

    vue router 入门笔记 tips: components优先级大于component,即当一个route对象里同时配置了component和components时component视为无效 即 ...

  9. 十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记

    整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 近期,梁劲传来该笔记重大更新的消息.<机器学习--从入门到放弃>这本笔记的更新没有停止,在基于 ...

最新文章

  1. 完美日记的微服务实践和优化思路
  2. 三星电子电容器件识别
  3. TypeScript学习笔记1:变量赋值及书写方式
  4. c mysql并行多条sql_Linux上使用C语言执行多条SQL命令访问MYSQL数据库的有关问题...
  5. (12) Hibernate+EhCache配置二级缓存
  6. linux 轻量化图形界面,YOXIOS 入门教程--基于Linux的 轻量化GUI图形系统和硬件平台(41页)-原创力文档...
  7. IDEA如何像Eclipse打开多个项目?
  8. linux ioctl及ioctl command
  9. // 产生10到100随机数
  10. Rad Software Regular Expression Designer 正则表达式工具软件
  11. vue全家桶+element-UI
  12. Excel的LOOKUP函数用法和实例以及与VLOOKUP的异同
  13. python求一元二次方程解
  14. 编程语言和开发环境的选择
  15. 「牛客网C」初学者入门训练BC156
  16. 降维的基本知识点总结
  17. 开源的微信商城,含小程序端,后台管理系统,服务器后端,附完整源码
  18. Web重构之道 大漠
  19. java 多态的应用——多态数组和多态参数详解
  20. (附源码)基于JSP的养老院信息管理系统的设计与实现 毕业设计211141

热门文章

  1. 学习-软件测试-Selenium-unittest-Maven-Jmeter
  2. Python爬虫练习:爬取软科世界大学学术排名
  3. 【Java】JavaFx桌面编程整理
  4. 小程序-手写签名(附代码)
  5. uniapp打开地图选择位置(查看位置)详解
  6. R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标
  7. tableau 连接python
  8. python怎么实现直播_Python实现直播推流效果
  9. 中国私有云向头部玩家集中,如何走出差异化竞争路线?
  10. 室内定位算法_【好设计论文】基于行人航迹推算的室内定位算法研究