def _drive_direct(self,data): logger.debug("Drive Direct") if not(len(data)==5): logger.warning("Direct Drive command should have 5 bytes, recieved %d"%len(data)) else: self.vel_right = pici.bytes2val(data[1],data[2]) self.vel_left = pici.bytes2val(data[3],data[4])
def _drive(self,data): logger.debug("Drive") if not(len(data)==5): logger.warning("Drive command should have 5 bytes, received %d"%len(data)) else: # Math for driving in a circle vel = pici.bytes2val(data[1],data[2]) radius = pici.bytes2val(data[3],data[4]) if radius==32678 or radius==32767: # Straight self.vel_right = vel self.vel_left = vel elif radius==-1: # turn in place clockwise self.vel_right = vel self.vel_left = -vel elif radius==1 or abs(radius)<1: # turn in place counter-clockwise self.vel_right = -vel self.vel_left = vel else: # radius = v/omega omega = float(vel)/float(radius) # rad/s L = self.L # distance between wheels in mm #R = 65.0/2 # Radius of the wheels self.vel_right = vel+omega*L/2 # in mm/s self.vel_left = vel-omega*L/2
def _drive(self, data): logger.debug("Drive") if not (len(data) == 5): logger.warning("Drive command should have 5 bytes, received %d" % len(data)) else: # Math for driving in a circle vel = pici.bytes2val(data[1], data[2]) radius = pici.bytes2val(data[3], data[4]) if radius == 32678 or radius == 32767: # Straight self.vel_right = vel self.vel_left = vel elif radius == -1: # turn in place clockwise self.vel_right = vel self.vel_left = -vel elif radius == 1 or abs(radius) < 1: # turn in place counter-clockwise self.vel_right = -vel self.vel_left = vel else: # radius = v/omega omega = float(vel) / float(radius) # rad/s L = self.L # distance between wheels in mm #R = 65.0/2 # Radius of the wheels self.vel_right = vel + omega * L / 2 # in mm/s self.vel_left = vel - omega * L / 2
def _drive_direct(self, data): logger.debug("Drive Direct") if not (len(data) == 5): logger.warning( "Direct Drive command should have 5 bytes, recieved %d" % len(data)) else: self.vel_right = pici.bytes2val(data[1], data[2]) self.vel_left = pici.bytes2val(data[3], data[4])