Skip to the content.

📝 Week 3:Python 编程与机器人控制入门

实验内容

本周完成了以下任务:

  1. 复习 Python 基础知识(数据类型、函数与面向对象类)

  2. 学习 ROS2 Python 客户端库 rclpy 的基本结构

  3. 编写第一个 ROS2 节点,发布 geometry_msgs/Twist 消息控制机器人运动

  4. 探索 PyBullet 物理仿真引擎,实现对差速小车和 Panda 机械臂的控制

实验截图

ROS2 节点运行成功

PyBullet 机器人仿真

运行命令

Bash

创建并运行一个简单的 Python 节点

python3 my_first_node.py

运行控制小乌龟直行的节点

ros2 run my_package straight_mover

在 PyBullet 中启动差速小车模拟

python3 simple_car_sim.py

遇到的问题

  1. 问题:在编写 ROS2 节点时发现无法直接调用 rclpy 解决:确保在 Python 类中正确继承了 Node 类,并调用了 super().init(‘node_name’)

2.问题:PyBullet 环境下小车运动不符合预期 解决:检查 applyExternalForce 或 setJointMotorControl2 的参数设置,确保物理参数(如质量、摩擦力)设置正确

学习心得

通过本周学习,我掌握了如何将 Python 的面向对象编程思想应用到 ROS2 节点开发中。我深刻理解了 ROS2 节点本质上就是一个类,通过实例化该类并利用 rclpy.spin() 保持运行,可以实现稳定的消息发布与控制逻辑。此外,PyBullet 这种轻量级仿真工具为快速验证算法提供了极大便利。

返回

← 返回首页