2、基础环境搭建:操作系统选择、Python与Anaconda、必备工具链

好,咱们正式开始动手了。

做路径规划仿真,说白了就是搭一个能跑算法、能看效果的工作台。我见过不少新手一上来就急着写代码,结果环境配了三天还没跑通第一个demo。嗯,咱们别走弯路,先把地基打牢。

2.1 操作系统怎么选?Ubuntu还是Windows

我个人习惯用Ubuntu。为什么?因为路径规划里很多底层库(比如ROS、MoveIt、OMPL)在Linux上就是原生支持,少折腾。

但如果你只有Windows机器,也别慌。我早期有个项目就是在Windows上做的,照样跑通了A*和RRT。只是要注意几个点:

  • Ubuntu 20.04/22.04 LTS:推荐。ROS Noetic或ROS2 Humble都能完美支持。我目前在用22.04,稳定。
  • Windows 10/11:也能做。建议装个WSL2(Windows Subsystem for Linux),相当于在Windows里跑了个轻量Ubuntu。我在项目中试过,性能损失很小。
  • 双系统? 如果你要搞ROS开发,还是直接装Ubuntu省心。虚拟机?算了吧,3D仿真卡到你怀疑人生。
我的建议: 如果你是学生或者刚入门,直接装Ubuntu 22.04。别在操作系统上浪费时间,后面算法才是硬骨头。

2.2 Python与Anaconda环境配置

Python版本这块,我踩过坑。曾经有个项目,我用Python 3.10写好的代码,部署到客户机器上发现是3.6,一堆语法不兼容。从那以后,我统一用Anaconda管理环境。

2.2.1 安装Anaconda

去官网下载Anaconda Installer,选Python 3.9或3.10版本。我个人推荐3.9,因为很多路径规划库(比如numpy、scipy、matplotlib)在3.9上验证最充分。

# 下载后执行(Ubuntu为例)
bash Anaconda3-2023.09-0-Linux-x86_64.sh

# 一路yes,最后问是否初始化conda,选yes
# 验证安装
conda --version
# 输出类似:conda 23.7.4

2.2.2 创建虚拟环境

为什么要用虚拟环境?说白了就是隔离依赖。我同时做两个项目,一个用PyTorch 1.12,一个用PyTorch 2.0,没有虚拟环境的话,你想想看,得乱成什么样。

# 创建环境,指定Python版本
conda create -n path_planning python=3.9

# 激活环境
conda activate path_planning

# 安装核心库
pip install numpy scipy matplotlib shapely
注意: 我曾经遇到过shapely安装失败的问题,原因是系统缺少GEOS库。解决办法:sudo apt install libgeos-dev。嗯,这种坑多留个心眼。

2.2.3 验证环境

写个简单脚本测试一下:

import numpy as np
import matplotlib.pyplot as plt

# 生成一个简单的路径点
points = np.array([[0, 0], [1, 2], [3, 3], [5, 1]])
plt.plot(points[:, 0], points[:, 1], 'b-o')
plt.title("Test: Path Planning Environment")
plt.show()

能弹出图形窗口,说明环境没问题。

2.3 必备工具链安装:Git与CMake

这两个工具,怎么说呢,就像厨师手里的刀和砧板。没有它们,你连菜都切不好。

2.3.1 Git:版本控制

我刚开始做项目时,代码备份全靠复制粘贴文件夹,什么"final_v1.py"、"final_v2.py"、"真的最终版.py"... 后来有一次误删了关键文件,找了一整天。从那以后,Git成了我的标配。

# Ubuntu安装
sudo apt install git

# Windows安装
# 去git-scm.com下载安装包,一路默认

# 配置基本信息
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

# 验证
git --version
# 输出:git version 2.34.1
小技巧: 建议把整个项目目录初始化为Git仓库。每完成一个小功能就commit一次。我习惯用git commit -m "feat: 添加RRT基本框架"这样的规范命名,方便回溯。

2.3.2 CMake:构建系统

如果你只写纯Python,CMake可能用不上。但一旦涉及到C++扩展(比如用OMPL库做运动规划),CMake就是必须的。我记得第一次编译OMPL时,CMake报了一堆错,后来发现是版本太旧。

# Ubuntu安装
sudo apt install cmake

# 验证版本
cmake --version
# 建议版本 >= 3.16,我目前用3.22

# 一个简单的CMakeLists.txt示例
# 用于编译C++路径规划程序
cmake_minimum_required(VERSION 3.16)
project(PathPlanner)
find_package(OMPL REQUIRED)
add_executable(planner main.cpp)
target_link_libraries(planner ompl)

2.4 环境验证清单

好,装完了别急着走。我列个清单,你对照检查一遍:

工具 验证命令 预期输出
Python python --version Python 3.9.x
Anaconda conda --version conda 23.x.x
Git git --version git 2.34.x
CMake cmake --version cmake 3.22.x
NumPy python -c "import numpy; print(numpy.__version__)" 1.24.x

核心要点:

  • 操作系统:推荐Ubuntu 22.04,Windows用户用WSL2
  • Python环境:Anaconda + Python 3.9,虚拟环境隔离项目
  • 工具链:Git做版本管理,CMake准备编译C++扩展
  • 验证:跑通一个简单的matplotlib绘图脚本

环境搭好了,下一章咱们就开始写第一个路径规划算法——A*。说实话,看到代码跑起来的那一刻,还是挺有成就感的。