Skip to content

运行测试

本文将介绍如下内容。

  • 部署代码:如何放入自己修改的代码,如何检查是否放置正确
  • 跑分测试:如何运行并使用裁判系统来验证修改后代码的表现

准备工作

请逐项确定已完成以下准备工作

1.阅读参赛规则

2.代码仓库

3.环境要求

  • Ubuntu 20.04
  • ROS Noetic
  • Gazebo 11

注意

注意:如果环境未配置完成,请先参考环境配置完成环境配置

部署代码

注意

当自己修改完代码之后,需要将放入的文件重命名为f1tenth_racer.py(python) 文件

根据你的想法对代码进行了修改之后,想要测试你的代码效果如何,这时将重命名为f1tenth_racer.py的代码文件放在tianracer_gazebo/scripts/文件夹下即可

提示

举个例子,假设我将工作空间命名为tianbot_ws,将我的整个git仓库放在了tianbot_ws/src中进行编译,这时候会在其下tianracer路径中找到tianracer_gazebo文件夹,其中有一个scripts文件夹,你需要将自己基于模板示例修改的代码文件放在该文件夹下,命名为f1tenth_racer.py

检查文件位置

然后检查f1tenth_racer.py文件位置是否正确,可以运行如下命令:

shell
roscd tianracer_gazebo/
shell
ls scripts/ | grep f1tenth_racer.py

如果正确,会有类似下图的输出

图 2 测试是否有目标文件

跑分测试

注意

为了确保在运行时,可以导入正确的地图,目标点文件,需要传入不同.world文件的名称进行使用

假设这里使用racetrack_1.world作为需要运行的世界

启动仿真系统

新开启一个终端,运行如下代码,启动 Gazebo 仿真系统,并运行tianracer导航Demo

shell
roslaunch tianracer_gazebo demo_tianracer_teb_nav.launch world:=racetrack_1

这里传入了world:=racetrack_1作为参数

启动裁判系统

新开启一个终端,运行如下代码,启动Tianbot评分系统

需要传入不同.world文件的名称作为系统环境变量进行使用,保证正确加载world导航地图文件

shell
# 此处传入不同`.world`文件的名称,这里以 racetrack_1.world 为例
export TIANRACER_WORLD=racetrack_1

这里继续传入了TIANRACER_WORLD=racetrack_1作为系统环境变量,然后继续在该终端中运行如下代码,启动Tianbot评分系统,保证正确加载对应的导航目标点文件

shell
rosrun tianracer_gazebo judge_system_node.py

经过拖拽窗口,后可以达到下图所示效果,然后点击裁判系统中的启动按钮,等待系统加载,然后小车开始运行

提示

开启终端,输入上述命令即可启动比赛环境,比赛过程中,请勿关闭上述两个命令行窗口,或执行其他操作

紧急制动

提示

当小车出现意外情况时,请及时按下键盘上的刹车按钮

已启动裁判系统

只需点击窗口界面上的刹车按钮即可,如需解除制动模式,请再次点击刹车按钮

未启动裁判系统

shell
rosservice call /tianracer/emergency_brake

只需在终端中只需上面的问题即可,如需解除制动模式,请再次即可

常见问题

在启动roslaunch tianracer_gazebo demo_tianracer_teb_nav.launch的终端窗口中如出现下述警告提示

  • 则表明制动模式已开启,此时向小车发送速度消息时,小车会暂停运动

shell
[WARN] [1711524880.015597, 69.833000]: Emergency brake activated! If you want to reset it, please call the service again!
[INFO] [1711524880.018204, 69.836000]: The default command is : rosservice call /tianracer/emergency_brake
  • 则表明制动模式已解除,此时可以向小车发送速度消息,小车会继续运动

shell
[WARN] [1711524882.296429, 71.677000]: Emergency brake state has deactivated!

比赛环境一键重置

正确使用一键重置功能分为 2 步

  1. 紧急制动,即按下裁判系统中的刹车按钮
  2. 重置,即按下裁判系统中的重置按钮

注意

按钮按下顺序不可颠倒,否则会出现小车前轮歪向一侧,无法正常运动的情况

常见问题

如遇奇怪的问题,请关闭和结束已打开的所有终端,然后重新操作