使用python,通过串口ROS直接控制电机驱动器(3)

运用python最大的好处就是我们能够通过面向对象的方式来编写程序,因此在这一节里我们首先创建一个电机的对象,在脑海里构思,电机有哪些属性,需要哪些控制方法!

在考虑到这么多的属性与方法之后,我参考卖家基于stm32的can通讯类方法,写了以下设置初始化方式:

class SpeedMotor:
    def __init__(self, device, acc, dcc):
        #z真实速度
        self.rel_speed = 0
        #设置的速度
        self.set_speed = 0
        #运行状态
        self.run = False
        #故障状态
        self.fault = None
        #电机电压
        self.voltage = 0
        #电机电流
        self.current = 0
	self.serial = serial.Serial(device, 57600)
        self.serial.timeout = 0
        ……
def motor_start(self):
    ……
def motor_stop(self):
    ……
def motor_speed_set(self, speed):
            ……

初始化方式是:

m = SpeedMotor('com4',20,20)

初始化SpeedMoto,设置device为com4,加速度为20,减速度为20。

并设置了三个方法为:motor_start(),motor_stop(),motor_speed_set()

你可能感兴趣的:(ROS)