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仿真卡到你怀疑人生。
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
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 -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*。说实话,看到代码跑起来的那一刻,还是挺有成就感的。