Compare commits

..

No commits in common. "70568e30b13a13b985a334c035cd753f66b04523" and "aaaf8577d067786974ceb73a01e4c5255e5eab9b" have entirely different histories.

View file

@ -8,9 +8,9 @@ from serial import Serial
from enum import Enum from enum import Enum
class Servos(Enum): class Servos(Enum):
J1 = 'A' BODY = 0
J2 = 'B' ARM = 1
J3 = 'C' HAND = 2
class CobotMove(Node): class CobotMove(Node):
def __init__(self): def __init__(self):
@ -25,27 +25,24 @@ class CobotMove(Node):
base_topic = 'move/' base_topic = 'move/'
self.create_subscription(Float32, base_topic+'j1', self._move_j1_cb, rclpy.qos.qos_profile_sensor_data) self.create_subscription(Float32, base_topic+'body', self._move_body_cb, rclpy.qos.qos_profile_sensor_data)
self.create_subscription(Float32, base_topic+'j2', self._move_j2_cb, rclpy.qos.qos_profile_sensor_data) self.create_subscription(Float32, base_topic+'arm', self._move_arm_cb, rclpy.qos.qos_profile_sensor_data)
self.create_subscription(Float32, base_topic+'j3', self._move_j3_cb, rclpy.qos.qos_profile_sensor_data) self.create_subscription(Float32, base_topic+'hand', self._move_hand_cb, rclpy.qos.qos_profile_sensor_data)
self._serial.write(b'STA0.0.1\n') def _move_body_cb(self, msg):
print(self._serial.readline()) self._move_servo(Servos.BODY, msg.data)
def _move_j1_cb(self, msg): def _move_arm_cb(self, msg):
self._move_servo(Servos.J1, msg.data) self._move_servo(Servos.ARM, msg.data)
def _move_j2_cb(self, msg): def _move_hand_cb(self, msg):
self._move_servo(Servos.J2, msg.data) self._move_servo(Servos.HAND, msg.data)
def _move_j3_cb(self, msg):
self._move_servo(Servos.J3, msg.data)
def _move_servo(self, serv_num, pos): def _move_servo(self, serv_num, pos):
cmd = 'MT' cmd = 'SV'
# self._buf[serv_num] = pos # self._buf[serv_num] = pos
self._serial.write(f'{cmd}A{int(pos * 10000)}B0C0D0E0F0\n'.encode('UTF-8')) self._logger.info('COBOT: Servo {serv_num} to {pos}')
print(self._serial.readline()) self._serial.write(f'{cmd}V{serv_num}P{pos}\n'.encode('UTF-8'))
# def _push ? # def _push ?