通过 VS Code 配合终端,完成从创建环境到编写第一个 Python 节点的全部流程。
第一步:创建 ROS 2 工作空间
- 打开你的 VS Code,确保它已经连接到了 WSL: Ubuntu。
- 点击 VS Code 顶部的 Terminal -> New Terminal。
- 在终端中依次输入以下命令:
bash
# 1. 创建工作空间文件夹 dev_ws 及其源码目录 src
mkdir -p ~/dev_ws/src
# 2. 进入工作空间
cd ~/dev_ws
# 3. 尝试编译(虽然现在里面没代码,但这一步会生成 install, build, log 文件夹)
colcon build
第二步:创建你的第一个功能包 (Package)
在 ROS 2 中,你写的每一段程序都必须属于一个"功能包"。我们创建一个名为 my_first_pkg 的 Python 功能包。
在终端输入:
bash
cd ~/dev_ws/src
ros2 pkg create --build-type ament_python my_first_pkg --dependencies rclpy
--build-type ament_python: 告诉 ROS 这我们要用 Python 写代码。--dependencies rclpy: 自动添加 ROS 2 的 Python 核心库依赖。
第三步:编写第一行代码
- 在 VS Code 左侧的文件浏览器中,找到
dev_ws -> src -> my_first_pkg -> my_first_pkg文件夹。 - 右键点击该文件夹,新建一个文件,命名为
hello_node.py。 - 将以下代码复制进去:
python
import rclpy
from rclpy.node import Node
def main(args=None):
# 初始化 ROS 2 通信
rclpy.init(args=args)
# 创建一个名为 "my_node" 的节点
node = Node("my_node")
# 在终端打印一条欢迎信息
node.get_logger().info("你好 ROS 2!这是我的第一行代码。")
# 保持节点运行(由于我们只是打印一行,这里直接销毁)
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
第四步:注册你的程序
ROS 2 并不直接运行 .py 文件,它需要你注册一个"入口"。
- 在 VS Code 中打开
dev_ws/src/my_first_pkg/setup.py。 - 找到
entry_points部分,将其修改为:
python
entry_points={
'console_scripts': [
'hello_exe = my_first_pkg.hello_node:main'
],
},
这行代码的意思是:当我们运行 hello_exe 时,去执行 hello_node.py 里的 main 函数。
第五步:编译并运行
回到你的终端:
bash
# 1. 回到工作空间根目录
cd ~/dev_ws
# 2. 编译代码
colcon build
# 3. 打开"开关":让当前终端识别你刚写的代码
source install/setup.bash
# 4. 运行你的节点!
ros2 run my_first_pkg hello_exe
验证结果
如果一切顺利,你应该会在终端看到:
[INFO] [my_node]: 你好 ROS 2!这是我的第一行代码。
💡 给小白的温馨提示:
- 红波浪线问题: VS Code 可能会提示找不到
rclpy。点击右下角的 Python 版本号,选择包含ros-humble路径的解释器,或者在.vscode/settings.json中添加路径。 - 必须 Source: 记住,每次你在新的终端运行自己的代码前,都要先执行
source install/setup.bash。