第一章:开发环境搭建

各位同学,欢迎来到《毫米波雷达点云处理与目标跟踪实战》的第一课。

说实话,做雷达算法开发,最怕的不是算法难,而是环境配了三天还没跑通第一个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" -> 选择对应版本。

安装步骤

  1. 双击安装包,默认路径是 C:\ti\mmwave_sdk_03_05_00_04
  2. 注意:路径不要有中文,不要有空格。我见过有人装到"Program Files (x86)"里,结果编译报错找了一下午。
  3. 安装完成后,检查环境变量:MMWAVE_SDK_INSTALL_PATH 是否自动添加。
⚠️ 警告: 如果你用的是Windows,请关闭杀毒软件再安装。TI的安装包里有命令行工具,某些杀毒软件会误报。

验证安装

打开命令行,输入:

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,导入即可。

💡 小技巧: 导入后先别急着编译。右键工程 -> Properties -> Build,检查一下编译器版本是否匹配。我曾经因为编译器版本不对,编译出来的固件在板子上跑不起来,查了两天才发现是编译器优化选项的问题。

编译与烧录

点击锤子图标编译。如果报错,多半是路径问题。检查一下 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,需要手动切换。

⚠️ 注意: 安装ROS时,不要用sudo pip安装任何包。ROS的包管理用apt,混用pip会导致依赖冲突。我有个项目就是pip和apt混用,结果rosbag打不开,重装了系统才解决。

安装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

如果看到雷达数据在终端里滚动,恭喜你,环境搭好了!

💡 避坑指南: 我曾经在虚拟机里装ROS,结果雷达数据总是丢包。后来发现是虚拟机的USB转发不稳定。建议有条件的话,直接用双系统或者实体机。实在要用虚拟机,记得把USB控制器设置为USB 3.0。

好了,第一章的环境搭建就到这里。说实话,这部分最枯燥,但也是最重要的。后面咱们写代码、调算法,全依赖今天搭好的环境。如果遇到问题,别硬扛,去群里问,或者翻翻TI的官方文档。下一章,咱们开始真正接触雷达数据——从串口读取原始数据,解析成点云。