1 环境配置
1.0 准备好代码程序fastermot
1.1 创建虚拟环境
conda create -n fastermot python=3.7
conda activate fastermot
1.2 pytorch
Previous PyTorch Versions | PyTorch
#查询cuda版本
nvcc --version
# CUDA 11.0
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
1.3 依赖项
pip install cython
pip install -r requirements.txt
sudo apt install ffmpeg
pip install timm
# 使用mmcv的dcn,注意对应cuda版本
pip install mmcv==2.0.0rc4 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7/index.html
mmcv安装参考:
2 摄像头sdk配置
pip install pyrealsense2
3 go1 sdk配置
3.1 下载go1 sdk包
unitreerobotics/unitree_legged_sdk: SDK tools for control robots. (github.com)
下载解压后放于fastermot/src下
3.2 Build环境:
在unitree_legged_sdk-go1文件夹下,终端运行:
mkdir build
cd build
cmake -DPYTHON_BUILD=TRUE ..
make
debug:
#报错:No module named 'catkin_pkg'
#则:
pip3 install catkin_pkg
4 运行跟踪程序
python src/track摄像头跟踪.py mot --load_model ./models/mot17_120.pth --conf_thres 0.6
5 移动机器人目标跟踪
5.0设备清单
幻影峡谷主机、主机供电电池(共2块)、变压器、主机适配器(调试代码时使用)、电池充电器
摄像头及数据线、显卡欺骗器
外接屏幕、键盘鼠标
go1、go1电池、go1遥控器、go1充电器
5.1连线
主机--变压器--主机电池
摄像头--主机
外接屏幕--主机
键盘鼠标--主机
5.2启动go1(一定要先启动go1再开主机)
短按+长按开启本体电源
(等待一段时间进行开机自检,自检成功机器人会站起来)
(自检失败则关机调整狗的姿态重新启动)
短按+长按开启手柄电源
# 调试代码时可以令机器人趴下并进入低功率状态
L2+A L2+A L2+B
# 趴着→站立
L2+A L2+A START
5.3主机开机、连接wifi与teamview
打开所需代码代码(桌面pycharm/bin/xxx.sh运行)
师兄的代码是FairMOT,我的是fastermot,导盲犬是fastermot_daomang
(手机远程需要断开数据连接,wifi连狗的,再连teamviewer;
平板先在有网的情况下点连接,然后快速切换到狗的wifi)
手机与主机都处于go1的wifi下,手机使用teamviewer远程连接主机:
访问的ip为192.168.12.30
访问密码为112Lab.+
连接成功后断开屏幕、鼠标键盘的有线连接
插上显卡欺骗器!
5.4运行跟踪程序
确保主机和摄像头固定住,且没有与其它设备进行有线连接
手柄控制机器人至空旷地带(站立状态下 START 摇杆控制移动)
目标位于机器人前方2m(程序设定跟踪目标id为1)
手机上运行程序即可(pycharm中运行track摄像头跟踪.py)(FairMOT或fastermot,权重和参数都已默认配置好)
或终端运行(针对fastermot)(终端运行需先进入fastermot的虚拟环境):
python src/track摄像头跟踪.py mot --load_model ./models/mot17_120.pth --conf_thres 0.6
5.5 实验完整理设备
先在手机上给主机关机,然后关狗和遥控器的电源
整理设备,狗和主机充电
主机电池充电:
充电器使用教程详见:
【FPV梦工厂 ToolkitRC M7AC 充电器 使用教程 穿越机】 https://www.bilibili.com/video/BV1um4y1P7Bj/?share_source=copy_web&vd_source=d614d22a3f56c646e3fc3fb55ee4ab6e