7 from geometry_msgs.msg
import Twist
8 from std_msgs.msg
import Float32
16 rospy.init_node(
"simple_drive")
18 baudrate = rospy.get_param(
'~baudrate', 9600)
19 Serial = serial.Serial(baudrate=baudrate)
20 Serial.port = rospy.get_param(
"~serial_dev")
23 def on_new_twist(data):
24 serial_msg = cmd_byte_map[
'twist'] + struct.pack(
"<ff", data.linear.x, data.angular.z)
25 Serial.write(serial_msg)
27 def on_new_servo(data):
28 serial_msg = cmd_byte_map[
'servo'] + struct.pack(
"<f", data.data)
29 Serial.write(serial_msg)
32 subscriber_twist = rospy.Subscriber(
"cmd_vel", Twist, on_new_twist, queue_size=10)
33 subscriber_servo = rospy.Subscriber(
"servo_pos", Float32, on_new_servo, queue_size=10)