Skip to content
Snippets Groups Projects
Commit eedb2351 authored by Lukas Krauß's avatar Lukas Krauß
Browse files

Added reference position generator

parent baf9d1d9
No related branches found
No related tags found
2 merge requests!3Version 0.0.1,!1Adding the position generator, controller and double integrator
import rclpy
from rclpy.node import Node
from std_msgs.msg import Float64
class ReferencePositionGen(Node):
def __init__(self):
super().__init__('reference_position_gen')
self.declare_parameter('rate', 1.0)
self.declare_parameter('amplitude', 1.0)
self.rate = self.get_parameter('rate').value
self.amplitude = self.get_parameter('amplitude').value
self.reference_pub = self.create_publisher(Float64, 'desired_position', 10)
self.timer = self.create_timer(1.0 / self.rate, self.publish_reference)
self.time = 0.0
def publish_reference(self):
msg = Float64()
msg.data = self.amplitude * self.time # Linearly increasing reference
self.reference_pub.publish(msg)
self.time += 1.0 / self.rate
def main(args=None):
rclpy.init(args=args)
node = ReferencePositionGen()
rclpy.spin(node)
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment