第一章:开发环境搭建
各位同学,欢迎来到《毫米波雷达点云处理与目标跟踪实战》的第一课。
说实话,做雷达算法开发,最怕的不是算法难,而是环境配了三天还没跑通第一个demo。我当年刚入行时,光装一个SDK就折腾了一周,最后发现是路径里有中文...嗯,这种坑咱们今天一次性填平。
1.1 mmWave SDK安装
TI的mmWave SDK是整个开发的基础。说白了,它就是TI官方提供的一套底层驱动和算法库,帮你省去自己写寄存器配置的麻烦。
下载与版本选择
我个人习惯用SDK 3.x系列,比如3.5.0或3.6.0。为什么?因为3.x对IWR6843和IWR1843支持最稳定。我曾在项目里试过4.0,结果发现有些API改了名字,文档还没跟上,踩了不少坑。
下载地址:TI官网 -> 搜索"mmWave SDK" -> 选择对应版本。
安装步骤
- 双击安装包,默认路径是
C:\ti\mmwave_sdk_03_05_00_04 - 注意:路径不要有中文,不要有空格。我见过有人装到"Program Files (x86)"里,结果编译报错找了一下午。
- 安装完成后,检查环境变量:
MMWAVE_SDK_INSTALL_PATH是否自动添加。
验证安装
打开命令行,输入:
cd C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr68xx
gmake -s
如果看到编译成功,没有error,那就成了。我第一次跑这个命令时,等了五分钟没反应,还以为死机了...其实是在下载依赖,耐心等就好。
1.2 CCS开发环境配置
CCS(Code Composer Studio)是TI的IDE,用来写DSP和ARM的代码。你想想看,雷达信号处理最终要跑在嵌入式芯片上,所以CCS是绕不开的。
下载与安装
- 版本建议:CCS 10.x 或 11.x。太老的版本不支持新SDK。
- 安装时选择组件:一定要勾选"TI ARM Clang Compiler"和"TI C6000 Code Generation Tools"。
- 安装路径:同样不要有中文。
导入工程
打开CCS,选择 Project -> Import CCS Projects,然后浏览到SDK的demo目录:
C:\ti\mmwave_sdk_03_05_00_04\packages\ti\demo\xwr68xx\mmw
你会看到一堆工程文件。选一个,比如 mmw_demo,导入即可。
编译与烧录
点击锤子图标编译。如果报错,多半是路径问题。检查一下 MMWAVE_SDK_INSTALL_PATH 环境变量是否指向了正确的SDK路径。
烧录时,用XDS110调试器连接板子。注意:先给板子上电,再连接调试器。我有个同事顺序搞反了,结果烧录器烧了...嗯,血的教训。
1.3 Python环境(Anaconda + Jupyter)
做点云处理和目标跟踪,Python是主力。为什么?因为调试方便,可视化库多。你想想看,用C++画个点云图得写几百行,Python里三行搞定。
Anaconda安装
- 下载Anaconda 2023.xx 或更新版本。
- 安装时勾选"Add Anaconda to my PATH environment variable"。
- 安装完成后,打开Anaconda Prompt,输入
conda --version验证。
创建虚拟环境
我个人习惯每个项目建一个独立环境,避免包冲突。
conda create -n radar_env python=3.8
conda activate radar_env
为什么用Python 3.8?因为很多雷达相关的库(比如TI的mmWave ROS驱动)对3.8支持最好。3.9以上有些API变了,容易出问题。
安装必要库
pip install numpy scipy matplotlib opencv-python
pip install jupyter notebook
这里要注意:opencv-python 不要装成 opencv,后者是旧版本,接口不一样。我刚开始就装错了,结果点云显示不出来,还以为是雷达坏了...
启动Jupyter
jupyter notebook
浏览器会自动打开。如果没打开,手动访问 http://localhost:8888。
conda activate radar_env,否则用的还是base环境。我经常忘记,然后发现import报错,才想起来环境没激活。
1.4 ROS环境准备
ROS(Robot Operating System)是机器人领域的标准框架。我们的雷达数据最终要通过ROS发布出去,供后续的感知、规划模块使用。
ROS版本选择
| Ubuntu版本 | ROS版本 | 备注 |
|---|---|---|
| Ubuntu 18.04 | ROS Melodic | 稳定,但已停止维护 |
| Ubuntu 20.04 | ROS Noetic | 推荐,支持到2025年 |
| Ubuntu 22.04 | ROS2 Humble | 新项目建议用这个 |
我个人推荐用Ubuntu 20.04 + ROS Noetic。为什么?因为TI的mmWave ROS驱动对Noetic支持最完善。ROS2虽然新,但很多雷达驱动还没完全迁移过去。
安装ROS Noetic
sudo apt update
sudo apt install ros-noetic-desktop-full
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
创建工作空间
mkdir -p ~/radar_ws/src
cd ~/radar_ws
catkin_make
如果 catkin_make 报错,检查一下Python版本。ROS Noetic要求Python 3,如果你的系统默认Python是2.7,需要手动切换。
安装TI mmWave ROS驱动
cd ~/radar_ws/src
git clone https://github.com/radar-lab/ti_mmwave_ros.git
cd ..
catkin_make
编译成功后,运行测试:
roslaunch ti_mmwave_ros 1642_multi.launch
如果看到雷达数据在终端里滚动,恭喜你,环境搭好了!
好了,第一章的环境搭建就到这里。说实话,这部分最枯燥,但也是最重要的。后面咱们写代码、调算法,全依赖今天搭好的环境。如果遇到问题,别硬扛,去群里问,或者翻翻TI的官方文档。下一章,咱们开始真正接触雷达数据——从串口读取原始数据,解析成点云。