# SEURoboCup2020 **Repository Path**: robocup/SEURoboCup2020 ## Basic Information - **Project Name**: SEURoboCup2020 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 3 - **Created**: 2020-09-26 - **Last Updated**: 2021-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SEURoboCup2020 东南大学 Robocup Kidsize 2020年校赛代码 遇到问题请先行使用搜索引擎,或查阅 [FAQ](https://gitee.com/robocup/SEURoboCup2020/wikis/) ## 环境配置 - ROS2 - Webots R2020b:[下载链接](https://github.com/cyberbotics/webots/releases/download/R2020b-rev1/webots_2020b-rev1_amd64.deb)(国内下载较慢,可以选择从群内下载) ROS2 安装教程: - [Ubuntu 20.04](docs/ubuntu.md) Webots 安装: ```Shell sudo dpkg -i path/to/webots.deb # 请自行修改安装文件路径 sudo apt install -f source /opt/ros/foxy/setup.bash sudo apt install ros-$ROS_DISTRO-webots-ros2 ``` ## 使用方法 ### 编译 ```Shell git clone https://gitee.com/robocup/SEURoboCup2020 cd SEURoboCup2020 colcon build ``` 编译一般在2min以内。 ### 初始化 ```Shell sudo rosdep init ``` 若报错则参考:[Q4 sudo rosdep init 报错](https://gitee.com/robocup/SEURoboCup2020/wikis/软件环境?sort_id=2923421#q4-sudo-rosdep-init报错) ```Shell rosdep update echo "export WEBOTS_HOME=/usr/local/webots" >> ~/.bashrc echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/webots/lib/controller" >> ~/.bashrc echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc ws=`pwd` echo "source $ws/install/setup.bash" >> ~/.bashrc source ~/.bashrc ``` ### 创建包 首先须选定一个 **全英文小写字母** 的队名,且其长度不超过 20个字符。以下用 `template` 表示。 !!注意:以下代码无法直接运行,请务必将 `template` 替换为自己的队名!! 输入: ```Shell cd src # 进入到 SEURoboCup2020/src 文件夹 ./createPkg.sh template cd .. colcon build ``` ### 运行 !!注意:以下代码无法直接运行,请务必将 `template` 替换为自己的队名!! + 启动仿真相关的节点 新建一个终端,输入: ```Shell ros2 launch start start_launch.py # 点球则运行 # ros2 launch penalty_start start_launch.py ``` + 启动比赛控制器 新建一个终端,进入到`SEURoboCup2020`路径,输入: ```Shell ros2 run gamectrl gamectrl # 点球则运行 # ros2 run penalty_gamectrl gamectrl ``` + 启动机器人的控制节点 新建一个终端,输入: ```Shell ros2 launch template player_launch.py ``` + 若修改过 [player.cpp](src/template/src/player.cpp),则需要删除`build/template`文件夹后重新编译: ```Shell colcon build ``` ### 局域网对战 由于复赛存在四个机器人,对电脑性能要求高,此时可以使用多台电脑进行仿真。 理论上可以使用一台电脑运行 `start` 仿真界面 和 `gamectrl` 控制器,一台红方电脑运行 `player` 控制红方机器人,另一台蓝方电脑运行 `player` 控制蓝方机器人 方法如下: 1. 首先保证要使用的数台电脑在同一局域网下,简单的实现方式是连接同一手机热点 2. `gedit ~/.bashrc`,在文件最后添加一行 `export ROS_DOMAIN_ID=5`,其中 5 可以自定义,但是要联机的电脑都要取同一值 3. `source ~/.bashrc` 4. 确保每台电脑的 `teams.cfg` 文件中有要运行的两个 package 名 5. 运行代码:请在点击 gamectrl 的 start 按钮后再启动 player 节点 注意:第二、三步只需配置一次,以后再次运行无需重新配置