第1章:开发环境搭建
各位同学,咱们正式开始。做机器人控制,第一件事不是写代码,而是把“家伙事儿”备齐。我见过太多人卡在环境配置上,一卡就是半天,心态直接崩了。今天咱们就把这事一次性搞定。
1.1 Python环境配置
Python版本怎么选?我个人习惯用Python 3.8或3.10。为什么?因为ROS2对这两个版本支持最好。你非要用3.12,也不是不行,但后面装某些库时会哭的。
注意:千万别用系统自带的Python!我刚开始做项目时图省事,直接用Ubuntu自带的Python 3.6,结果装啥啥报错。后来老老实实装了Miniconda,世界清净了。
安装步骤其实很简单:
- 去官网下载Miniconda(选Python 3.8版本)
- 一路默认安装,记得勾选“Add to PATH”
- 打开终端,输入
python --version确认版本
嗯,这里要注意:如果你用的是Windows,建议装个WSL2。为什么?因为ROS2在Windows上跑起来太折腾了,我当年为了省事踩过不少坑。
1.2 ROS2安装与配置
ROS2版本我推荐用Humble Hawksbill。为什么是这个版本?说白了,它是最稳定的LTS版本,社区支持好,教程也多。你想想看,做项目最怕什么?最怕遇到问题搜不到答案。
安装命令其实就几行:
# 设置编码
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
# 添加ROS2源
sudo apt install software-properties-common
sudo add-apt-repository universe
# 安装ROS2 Humble
sudo apt install ros-humble-desktop
# 配置环境变量
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc
小技巧:安装完成后,运行
ros2 run demo_nodes_cpp talker 测试一下。如果能看到“Hello World”输出,说明安装成功了。我曾经在客户现场演示时,ROS2突然启动不了,后来发现是环境变量没加载。所以每次开新终端,记得先 source 一下。
1.3 必要的Python库安装
做关节控制,离不开三个库:numpy、matplotlib、pyserial。它们各自负责什么?
| 库名 | 作用 | 我的经验 |
|---|---|---|
| numpy | 矩阵运算、数据处理 | 关节角度计算全靠它,速度比纯Python快100倍 |
| matplotlib | 数据可视化、曲线绘制 | 调试时看关节轨迹,一眼就能发现问题 |
| pyserial | 串口通信 | 和电机驱动器打交道,少不了它 |
安装命令很简单:
pip install numpy matplotlib pyserial
避坑指南:我曾经在树莓派上装numpy,结果编译了整整40分钟。后来发现用
pip install numpy --only-binary=:all: 可以跳过编译,直接下载预编译包。省下的时间够喝三杯咖啡了。
1.4 验证环境是否就绪
装完了别急着走,咱们写个小脚本验证一下:
import numpy as np
import matplotlib.pyplot as plt
import serial
print("numpy版本:", np.__version__)
print("一切就绪,可以开始干活了!")
如果没报错,恭喜你,环境搭好了。如果报错,别慌。99%的情况是路径问题或者版本冲突。我建议你重新开一个终端,再试一次。很多时候重启能解决80%的问题。
1.5 本章知识体系
下面这张图,帮你理清今天的内容:
核心要点:
- Python版本选3.8或3.10,别用最新的
- ROS2用Humble,稳定压倒一切
- 三个库必须装:numpy、matplotlib、pyserial
- 装完一定要验证,别等到写代码才发现问题
好了,环境搭好了,咱们就可以开始真正的关节控制之旅了。记住,磨刀不误砍柴工,环境配好了,后面写代码会顺畅很多。