Skip to content

Add minimal_timer example for rclpy to demonstrate periodic execution using create_timer() #436

@yadnyeshwar

Description

@yadnyeshwar

Description

The rclcpp examples repository contains minimal timer demonstrations (e.g., examples_rclcpp_minimal_timer), which help beginners understand how to execute periodic callbacks using ROS 2 timers.

However, the rclpy examples currently include:

  • minimal_publisher
  • minimal_subscriber
  • pointcloud_publisher

but there is no minimal example demonstrating the use of create_timer() in Python.

Since timers are a fundamental mechanism in ROS 2 for running periodic tasks (such as sensor polling, monitoring loops, or periodic logging), a minimal Python example could help beginners understand this concept more easily.

Proposed Addition

Add a simple example under:

rclpy/topics/minimal_timer/

Possible structure:

rclpy/timer/minimal_timer/
 ├── minimal_timer.py
 └── README.md

The example could demonstrate:

  • Creating a ROS 2 node
  • Creating a timer using create_timer()
  • Executing a periodic callback
  • Logging output at fixed intervals

Motivation

This would:

  • Improve parity between rclcpp and rclpy examples
  • Help beginners understand periodic execution in ROS 2
  • Provide a simple reference implementation for timers in Python

If this addition is considered useful, I would be happy to implement the example and submit a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions