运行测试
本文将介绍如下内容。
准备工作
请逐项确定已完成以下准备工作
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文件位置是否正确,可以运行如下命令:
roscd tianracer_gazebo/ls scripts/ | grep f1tenth_racer.py如果正确,会有类似下图的输出

图 2 测试是否有目标文件
跑分测试
注意
为了确保在运行时,可以导入正确的地图,目标点文件,需要传入不同.world文件的名称进行使用
假设这里使用racetrack_1.world作为需要运行的世界
启动仿真系统
新开启一个终端,运行如下代码,启动 Gazebo 仿真系统,并运行tianracer导航Demo
roslaunch tianracer_gazebo demo_tianracer_teb_nav.launch world:=racetrack_1这里传入了world:=racetrack_1作为参数
启动裁判系统
新开启一个终端,运行如下代码,启动Tianbot评分系统
需要传入不同.world文件的名称作为系统环境变量进行使用,保证正确加载world和导航地图文件
# 此处传入不同`.world`文件的名称,这里以 racetrack_1.world 为例
export TIANRACER_WORLD=racetrack_1这里继续传入了TIANRACER_WORLD=racetrack_1作为系统环境变量,然后继续在该终端中运行如下代码,启动Tianbot评分系统,保证正确加载对应的导航目标点文件
rosrun tianracer_gazebo judge_system_node.py经过拖拽窗口,后可以达到下图所示效果,然后点击裁判系统中的启动按钮,等待系统加载,然后小车开始运行

提示
开启终端,输入上述命令即可启动比赛环境,比赛过程中,请勿关闭上述两个命令行窗口,或执行其他操作
紧急制动
提示
当小车出现意外情况时,请及时按下键盘上的刹车按钮
已启动裁判系统

只需点击窗口界面上的刹车按钮即可,如需解除制动模式,请再次点击刹车按钮
未启动裁判系统
rosservice call /tianracer/emergency_brake只需在终端中只需上面的问题即可,如需解除制动模式,请再次即可
常见问题
在启动roslaunch tianracer_gazebo demo_tianracer_teb_nav.launch的终端窗口中如出现下述警告提示
- 则表明制动模式已开启,此时向小车发送速度消息时,小车会暂停运动

[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- 则表明制动模式已解除,此时可以向小车发送速度消息,小车会继续运动

[WARN] [1711524882.296429, 71.677000]: Emergency brake state has deactivated!比赛环境一键重置
正确使用一键重置功能分为 2 步
- 紧急制动,即按下裁判系统中的
刹车按钮 - 重置,即按下裁判系统中的
重置按钮

注意
按钮按下顺序不可颠倒,否则会出现小车前轮歪向一侧,无法正常运动的情况
常见问题
如遇奇怪的问题,请关闭和结束已打开的所有终端,然后重新操作
