快速使用

推荐运行环境

  • Ubuntu 20.04及以上

  • Docker 23及以上

  • NVIDIA Driver

  • NVIDIA Container Toolkit

  • 可用运行内存大于8GB

  • 可用硬盘空间大于16GB

下载程序镜像

从“挑战地下2023”赛事官方网站 软件下载 页,下载初赛调试系统Docker镜像文件。

加载Docker镜像文件:

docker load < tzdx2023_main_0.1.tar.gz
docker load < tzdx2023_scene-sim_0.1.tar.gz
docker load < tzdx2023_bridge_0.1.tar.gz

启动主服务

docker run -d --rm -p 2000:2000 -p 8000:80 tzdx2023/main:0.1

主服务启动后,即可在同一局域网内,使用网页浏览器打开 http://<SERVER_IP>:8000 地址,访问初赛调试系统用户界面。其中 SERVER_IP 是运行主服务的物理主机IP地址。

启动场景仿真服务

docker run -d --rm --privileged --network host -e DISPLAY=$DISPLAY --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all -e SERVER_IP=<SERVER_IP> tzdx2023/scene-sim:0.1

本示例仅启动一个场景仿真服务容器实例。

加载仿真配置文件

在运行主服务的物理主机的同一局域网内,使用网页浏览器打开 http://<SERVER_IP>:8000 初赛调试系统用户界面。

进入“仿真场景”页面,点击“加载配置文件”按钮,选择仿真配置文件。主服务自动解析仿真配置文件完成后,页面上将显示场景元素结构树,以及场景中的ROS话题。

示例配置文件可 从这里下载 ,请解压后上传竞赛系统。

启动算法接口服务

需为每一个无人平台启动一份算法接口服务容器镜像。

docker run -d --rm -e SERVER_IP=<SERVER_IP> -e MODEL_NAME=my_robot tzdx2023/bridge:0.1

其中 MODEL_NAME 是仿真配置文件中自定义的无人平台名称。示例配置文件中的无人平台名称为 my_robot

启动自主探测算法

由参赛队自行为每一个无人平台启动一组自主探测算法。

同一个无人平台的自主探测算法和算法接口服务需运行在同一局域网内,以保证自主探测算法和算法接口服务能够通过ROS交换数据。

本示例可在系统中使用如下ROS话题,接收竞赛系统授时、无人平台传感器数据,控制无人平台运动:

/clock

类型: builtin_interfaces/Time

由参赛队算法控制 my_robot 无人平台中的 chassis 底盘的运动。

/my_robot/chassis/cmd_vel

类型: geometry_msgs/Twist

由参赛队算法控制 my_robot 无人平台中的 chassis 底盘的运动。

/my_robot/front_camera/image

类型: sensor_msgs/Image

参赛队算法通过此ROS话题接收 my_robot 无人平台中的 front_camera 摄像头的图像数据。

可在系统中使用如下ROS服务,接收和控制比赛过程:

/match/control/prepare,/match/control/start,/match/control/finish

类型: std_srvs/SetBool

由参赛队算法接收开始准备比赛、开始比赛、结束比赛的控制。

注意

参赛队算法需自行实现这三个服务,以接收比赛控制信号。

/match/request/prepare,/match/request/start,/match/request/finish

类型: std_srvs/SetBool

由参赛队算法请求开始准备比赛、开始比赛、结束比赛。