ROS 2 Python 核心 API 终极速查表

📅 2026/7/3 2:56:32
ROS 2 Python 核心 API 终极速查表
ROS 2 Python核心 API 终极速查表① rclpy顶层函数系统级负责启动、关闭、运行rclpy.init(argsargs) # 【初始化】初始化 ROS 2 通信基础设施和上下文环境rclpy.create_node(node_name) #【创建节点】快速创建一个基础的 ROS 2 节点对象rclpy.spin(node) # 【主循环】让节点持续运行阻塞并处理各类回调事件rclpy.spin_once(node) #【单次轮询】只执行一次回调或等待超时不无限阻塞rclpy.spin_until_future_complete() # 【异步等待】执行回调直到指定的 Future 任务完成rclpy.ok() #【状态检查】判断 ROS 2 通信环境是否处于正常运行状态rclpy.shutdown() # 【关闭清理】关闭 ROS 2 通信环境释放底层资源② Node内置方法节点级节点自身功能self.xxx() 调用# --- 生命周期与基础属性 ---super().__init__(node_name) # 【父类构造】调用父类 Node 的构造方法完成节点底层注册self.get_logger() #【日志打印】获取日志记录器支持 info, warn, error 等self.get_name() # 【获取名称】获取当前节点在 ROS 网络中的名称self.get_namespace() #【获取命名空间】获取当前节点的命名空间前缀self.get_clock() # 【获取时钟】获取节点绑定的时钟对象支持获取当前时间self.destroy_node() #【销毁节点】清理节点占用的底层资源通常在 finally 块中调用# --- 定时器 (Timer) ---self.create_timer(period, cb) # 【定时循环】按指定周期秒不断触发回调函数# --- 话题通信 (Topic) ---self.create_publisher() # 【话题发布】创建话题发布者用于向外发送消息流self.create_subscription() #【话题订阅】创建话题订阅者接收消息并触发回调# --- 服务通信 (Service) ---self.create_service() #【服务服务端】创建服务端接收请求并返回响应self.create_client() # 【服务客户端】创建客户端用于发送请求并等待响应# --- 参数管理 (Parameters) ---self.declare_parameter() #【声明参数】注册参数并设置默认值支持命令行覆盖self.has_parameter() # 【参数检查】判断某个参数是否已经被声明self.get_parameter() #【获取参数】获取已声明的参数对象self.get_parameter_value() # 【获取值对象】从参数对象中提取出 ParameterValue 对象.integer_value / .string_value #【提取具体值】从ParameterValue对象里取出int / string等具体类型self.set_parameters() # 【修改参数】在代码内部主动设置/修改参数值self.add_on_set_parameters_callback() #【参数回调】设置参数修改前的拦截/验证回调函数③消息接口.msg用于话题 Topic 传输的数据格式std_msgs.msg.String #【字符串】用于传输简单的文本数据std_msgs.msg.Int32 # 【整型】用于传输 32 位整数数据std_msgs.msg.Float64 #【浮点型】用于传输 64 位浮点数数据sensor_msgs.msg.Image # 【图像】用于传输相机拍摄的图像数据sensor_msgs.msg.LaserScan #【激光雷达】用于传输 360° 激光扫描距离数据geometry_msgs.msg.Twist # 【速度指令】用于传输线速度和角速度控制指令④服务接口.srv用于服务 Service 的请求响应格式std_srvs.srv.Trigger #【通用触发】无参数请求仅返回成功状态和消息std_srvs.srv.SetBool # 【设置布尔值】请求设置一个 bool 状态返回结果turtlesim.srv.Spawn #【生成实体】请求在指定坐标生成一只小乌龟turtlesim.srv.Kill # 【删除实体】请求通过名称删除一只小乌龟核心记忆口诀rclpy.xxx()管舞台系统环境的启动与关闭super().__init__()管出生节点的底层初始化self.xxx()管动作节点自身的业务与通信xxx.msg管单向广播的“信件”xxx.srv管一问一答的“合同”