第五章:学习 ROS2 前需要准备什么——先打好基础¶
经典名言
俗话说磨刀不误砍柴工。
在正式学 ROS2 之前,如果能先把一些基础补一补,
后面会顺利很多。
5.1 Linux 命令行(必须会)¶
ROS2 主要在 Linux 上终端里敲命令。
对 Windows 用户
如果你之前只用过 Windows,
这块需要适应一下。
别怕,其实常用的命令也就那么几个¶
目录操作¶
pwd # 我现在在哪个目录
ls # 看看当前目录有啥
ls -la # 看详细信息,包括隐藏文件
cd xxx # 进入 xxx 目录
cd .. # 回上一级
cd ~ # 回家目录
文件操作¶
mkdir xxx # 创建文件夹
rm file # 删除文件
rm -rf dir # 删除目录(小心用,删了就没了)
cp a b # 复制
mv a b # 移动或重命名
查看文件¶
cat file # 看文件内容
nano file # 编辑文件(新手用这个)
vim file # 编辑文件(高级)
系统操作¶
sudo xxx # 用管理员权限运行 xxx
apt install xxx # 安装软件
apt update # 更新软件源
apt upgrade # 升级软件
几个快捷键要记住¶
效率提升
| 快捷键 | 作用 |
|---|---|
Ctrl+C |
终止当前命令 |
Tab |
自动补全(超级有用,一定要用) |
上下箭头 |
翻历史命令 |
Ctrl+L |
清屏 |
练习建议¶
学习方法
多用几天就习惯了。
建议每天花 15 分钟练习这些命令,
一周后就能熟练使用。
5.2 Python 基础(强烈建议)¶
ROS2 支持 Python 和 C++,
新手建议
新手我建议先用 Python,语法简单上手快。
需要掌握的内容¶
1. 变量和数据类型¶
# 字符串
name = "ROS2"
# 数字
age = 18
# 列表
my_list = [1, 2, 3, 4, 5]
# 字典
my_dict = {"name": "robot", "type": "mobile"}
2. 条件和循环¶
# if else
if speed > 10:
print("太快了")
else:
print("正常")
# for 循环
for i in range(5):
print(i)
# while 循环
while running:
do_something()
3. 函数¶
# 定义函数
def calculate_distance(x, y):
return (x**2 + y**2) ** 0.5
# 调用函数
result = calculate_distance(3, 4)
print(result) # 输出 5.0
4. 类和对象(重要!)¶
这个比较重要,因为 ROS2 的节点通常都写成类的形式。
必须理解
得理解什么是类、什么是对象、什么是继承。
举个例子,ROS2 的节点基本都长这样:
class MyNode(Node):
def __init__(self):
super().__init__('my_node')
# 初始化代码
def some_callback(self):
# 回调函数
pass
如果看不懂
如果你看不懂这个,
建议先去补一下 Python 面向对象编程的知识。
5. 模块导入¶
# 导入整个模块
import math
# 从模块导入特定内容
from math import sqrt
# 导入并重命名
import numpy as np
Python 学习资源推荐¶
免费资源
- 菜鸟教程:https://www.runoob.com/python3
- 廖雪峰 Python 教程:https://www.liaoxuefeng.com/wiki/1016959663602400
- Python 官方教程(中文):https://docs.python.org/zh-cn/3/tutorial/
学习时间建议¶
如果是零基础:
- 基础语法:1-2 周
- 面向对象:1 周
- 总计:2-3 周
如果有其他编程语言基础:
- 3-5 天快速过一遍即可
5.3 Git 基础(推荐)¶
Git 是程序员必备技能,用来管理代码版本。
最基本的几个操作要会¶
git clone url # 下载代码
git status # 看状态
git add . # 添加修改
git commit -m "xx" # 提交
git push # 推送到远程
git pull # 拉取更新
为什么要学 Git¶
实际需求
- 下载 ROS2 功能包
-
很多功能包托管在 GitHub
-
管理自己的代码
- 方便版本控制
-
避免代码丢失
-
团队协作
- 多人开发必备
学习资源¶
推荐教程
- 廖雪峰 Git 教程:https://www.liaoxuefeng.com/wiki/896043488029600
- Git 简明指南:https://rogerdudler.github.io/git-guide/index.zh.html
学习时间¶
- 基础操作:1-2 天
- 够用了,遇到复杂情况再查
5.4 学习顺序建议¶
如果你是完全零基础¶
推荐路径
第一周: - 装个虚拟机 - 熟悉 Linux 基本命令 - 能在终端里自如地切换目录、创建文件、编辑文件
第二到三周: - 学 Python 基础 - 重点是函数和类
第四周: - 学 Git 基本操作
然后: - 就可以开始学 ROS2 了
如果你已经有一定编程基础¶
快速路径
可以直接开始学 ROS2,
遇到不会的再回来补。
5.5 不需要提前准备什么¶
有些东西 不需要 提前学:
不需要深入学 C++¶
学习策略
先用 Python 学 ROS2,
等 ROS2 概念清楚了,
需要性能的时候再学 C++。
不需要精通 Linux¶
够用即可
会基本命令就行,
不需要去学什么 Shell 脚本、系统管理。
不需要学习硬件知识¶
循序渐进
ROS2 可以纯软件学习,
用仿真器就行。
等基础扎实了再接触真实硬件。
5.6 学习心态调整¶
不要急¶
学习真理
学编程是个循序渐进的过程。
不要想着一口气学完所有东西。
遇到困难很正常¶
成长必经
每个人学 ROS2 都会遇到各种坑,
这是成长的必经之路。
善用搜索¶
解决问题的能力
学会搜索是程序员最重要的技能之一。
遇到问题先: 1. 看报错信息 2. 搜索报错信息 3. 查官方文档 4. 问社区
多动手¶
学习秘诀
光看不练是学不会的。
每个知识点都要自己敲一遍代码。
5.7 准备一个学习笔记¶
为什么需要笔记¶
记录的重要性
- 记录踩过的坑
-
避免重复犯错
-
记录有用的命令
-
方便日后查阅
-
记录学习进度
- 保持学习动力
推荐的笔记工具¶
- Typora:Markdown 编辑器,简洁好用
- Notion:在线笔记,功能强大
- 有道云笔记:国内访问快
- 纸质笔记本:传统但有效
笔记内容建议¶
日期:2026-01-15
主题:Linux 基本命令
今天学习内容:
- cd 命令的使用
- ls 命令的参数
遇到的问题:
- 权限不够时要用 sudo
解决方法:
- sudo apt install xxx
心得体会:
- Tab 键自动补全真的很方便
5.8 时间规划建议¶
零基础学习时间表¶
第 1 周:Linux 命令行
每天 1-2 小时练习基本命令
第 2-3 周:Python 基础
每天 2-3 小时
重点:函数、类、模块
第 4 周:Git 基础
每天 1 小时
掌握基本操作
第 5 周开始:正式学 ROS2
有基础的学习时间表¶
第 1-2 天:快速过一遍 Python
查漏补缺
第 3 天:学 Git 基本操作
第 4 天开始:正式学 ROS2
5.9 学习资源整理¶
Linux 学习¶
- 鸟哥的 Linux 私房菜(在线版)
- Linux 命令行大全(书籍)
Python 学习¶
- 菜鸟教程
- 廖雪峰 Python 教程
- 《Python 编程:从入门到实践》(书籍)
Git 学习¶
- 廖雪峰 Git 教程
- Pro Git(在线免费书)
本章小结¶
通过这一章,你应该已经了解到:
-
必须掌握的基础
Linux 命令行(必须)
Python 基础(强烈建议)
Git 基础(推荐)
-
学习顺序
先 Linux 命令
再 Python
最后 Git
然后开始学 ROS2
-
学习心态
不要急
遇到困难很正常
善用搜索
多动手
-
时间规划
零基础:约 4 周准备
有基础:3-5 天准备
下一章预告¶
下一章我们会讲:
开发工具介绍——认识你的"武器库"
介绍 ROS2 开发中常用的各种工具,
让你对开发环境有一个全面的认识。