File 2
File 2
import time
import py_trees
from py_trees import common
import py_trees_ros
import rcl_interfaces.msg as rcl_msgs
import rcl_interfaces.srv as rcl_srvs
import rclpy
import rclpy.qos
import std_msgs.msg as std_msgs
import geometry_msgs.msg as geometry_msgs
class Rotate(py_trees.behaviour.Behaviour):
def __init__(self,
name: str,
topic_name: str="/cmd_vel",
counterclockwise: bool=False,
vel: float=0.2):
super(Rotate, self).__init__(name=name)
self.topic_name = topic_name
self.counterclockwise = counterclockwise
self.vel = vel
self.publisher = self.node.create_publisher(
msg_type=geometry_msgs.Twist,
topic=self.topic_name,
qos_profile=py_trees_ros.utilities.qos_profile_latched()
)
self.feedback_message = "publisher created"
class Drive(py_trees.behaviour.Behaviour):
def __init__(self,
name: str,
topic_name: str="/cmd_vel",
counterclockwise: bool=False,
vel: float=0.2):
super(Drive, self).__init__(name=name)
self.topic_name = topic_name
self.counterclockwise = counterclockwise
self.vel = vel
self.publisher = self.node.create_publisher(
msg_type=geometry_msgs.Twist,
topic=self.topic_name,
qos_profile=py_trees_ros.utilities.qos_profile_latched()
)
self.feedback_message = "publisher created"