快速使用
推荐运行环境
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
由参赛队算法请求开始准备比赛、开始比赛、结束比赛。