import rclpy
from rclpy.node import Node
from geometry_msgs.msg import Twist

class CircularMove(Node):
    def __init__(self):
        super().__init__('circular_move_node')
        self.publisher_ = self.create_publisher(Twist, '/cmd_vel', 10)
        timer_period = 0.1  # 10 Hz
        self.timer = self.create_timer(timer_period, self.timer_callback)

    def timer_callback(self):
        msg = Twist()
        msg.linear.x = 0.2  # Velocidad hacia adelante (m/s)
        msg.angular.z = 0.5 # Velocidad de giro (rad/s)
        self.publisher_.publish(msg)

def main(args=None):
    rclpy.init(args=args)
    node = CircularMove()
    try:
        rclpy.spin(node)
    except KeyboardInterrupt:
        node.get_logger().info('Deteniendo el robot...')
        node.publisher_.publish(Twist()) # Enviar comando de parada
    finally:
        node.destroy_node()
        rclpy.shutdown()

if __name__ == '__main__':
    main()
