def _broadcast_arlo_status(self, msg): ''' Description - broadcasts the ArlobotNode status :param msg: :return: None ''' arlo_status = arloStatus() arlo_status.safeToProceed = msg.safe_to_proceed arlo_status.safeToRecede = msg.safe_to_recede arlo_status.Escaping = msg.escaping arlo_status.abd_speedLimit = msg.max_forward_speed arlo_status.abdR_speedLimit = msg.max_reverse_speed arlo_status.Heading = self.lastHeading arlo_status.gyroHeading = self.alternate_heading arlo_status.minDistanceSensor = msg.min_distance_sensor arlo_status.leftMotorVoltage = msg.left_motor_voltage arlo_status.rightMotorVoltage = msg.right_motor_voltage arlo_status.leftMotorCurrent = msg.left_motor_current arlo_status.rightMotorCurrent = msg.left_motor_current arlo_status.cliffDetected = msg.cliff_detected arlo_status.floorObstacleDetected = msg.floor_obstacle_detected # Who need to use ArloStatus? self._arlo_status_publisher.publish(arlo_status)
def _broadcast_arlo_status(self, line_parts): arlo_status = arloStatus() # Order from ROS Interface for ArloBot.c # dprint(term, "s\t%d\t%d\t%d\t%d\t%d\n", safeToProceed, safeToRecede, Escaping, abd_speedLimit, abdR_speedLimit); if int(line_parts[1]) == 1: arlo_status.safeToProceed = True else: arlo_status.safeToProceed = False if int(line_parts[2]) == 1: arlo_status.safeToRecede = True else: arlo_status.safeToRecede = False if int(line_parts[3]) == 1: arlo_status.Escaping = True else: arlo_status.Escaping = False arlo_status.abd_speedLimit = int(line_parts[4]) arlo_status.abdR_speedLimit = int(line_parts[5]) arlo_status.Heading = self.lastHeading arlo_status.gyroHeading = self.alternate_heading arlo_status.minDistanceSensor = int(line_parts[6]) left_motor_voltage = (15 / 4.69) * float(line_parts[7]) right_motor_voltage = (15 / 4.69) * float(line_parts[8]) arlo_status.robotBatteryLevel = 12.0 if left_motor_voltage < 1: arlo_status.leftMotorPower = False else: arlo_status.leftMotorPower = True arlo_status.robotBatteryLevel = left_motor_voltage self._leftMotorPower = arlo_status.leftMotorPower if right_motor_voltage < 1: arlo_status.rightMotorPower = False else: arlo_status.rightMotorPower = True arlo_status.robotBatteryLevel = right_motor_voltage self._rightMotorPower = arlo_status.rightMotorPower # 11.6 volts is the cutoff for an SLA battery. if arlo_status.robotBatteryLevel < 12: arlo_status.robotBatteryLow = True else: arlo_status.robotBatteryLow = False arlo_status.laptopBatteryPercent = self._laptop_battery_percent arlo_status.acPower = self._acPower if int(line_parts[9]) == 1: arlo_status.cliff = True else: arlo_status.cliff = False if int(line_parts[10]) == 1: arlo_status.floorObstacle = True else: arlo_status.floorObstacle = False self._arlo_status_publisher.publish(arlo_status)
def _broadcast_arlo_status(self, line_parts): arlo_status = arloStatus() # Order from ROS Interface for ArloBot.c # dprint(term, "s\t%d\t%d\t%d\t%d\t%d\n", safeToProceed, safeToRecede, Escaping, abd_speedLimit, abdR_speedLimit); if int(line_parts[1]) == 1: arlo_status.safeToProceed = True else: arlo_status.safeToProceed = False if int(line_parts[2]) == 1: arlo_status.safeToRecede = True else: arlo_status.safeToRecede = False if int(line_parts[3]) == 1: arlo_status.Escaping = True else: arlo_status.Escaping = False arlo_status.abd_speedLimit = int(line_parts[4]) arlo_status.abdR_speedLimit = int(line_parts[5]) arlo_status.Heading = self.lastHeading arlo_status.gyroHeading = self.alternate_heading arlo_status.minDistanceSensor = int(line_parts[6]) left_motor_voltage = (15 / 4.69) * float(line_parts[7]) right_motor_voltage = (15 / 4.69) * float(line_parts[8]) arlo_status.robotBatteryLevel = 12.0 if left_motor_voltage < 1: arlo_status.leftMotorPower = False else: arlo_status.leftMotorPower = True arlo_status.robotBatteryLevel = left_motor_voltage self._leftMotorPower = arlo_status.leftMotorPower if right_motor_voltage < 1: arlo_status.rightMotorPower = False else: arlo_status.rightMotorPower = True arlo_status.robotBatteryLevel = right_motor_voltage self._rightMotorPower = arlo_status.rightMotorPower # 11.6 volts is the cutoff for an SLA battery. if arlo_status.robotBatteryLevel < 12: arlo_status.robotBatteryLow = True else: arlo_status.robotBatteryLow = False arlo_status.laptopBatteryPercent = self._laptop_battery_percent arlo_status.acPower = self._acPower self._arlo_status_publisher.publish(arlo_status)
def _broadcast_arlo_status(self, line_parts): arlo_status = arloStatus() # Order from ROS Interface for ArloBot.c # dprint(term, "s\t%d\t%d\t%d\t%d\t%d\n", safeToProceed, safeToRecede, Escaping, abd_speedLimit, abdR_speedLimit); if int(line_parts[1]) == 1: arlo_status.safeToProceed = True else: arlo_status.safeToProceed = False if int(line_parts[2]) == 1: arlo_status.safeToRecede = True else: arlo_status.safeToRecede = False if int(line_parts[3]) == 1: arlo_status.Escaping = True else: arlo_status.Escaping = False arlo_status.abd_speedLimit = int(line_parts[4]) arlo_status.abdR_speedLimit = int(line_parts[5]) arlo_status.Heading = self.lastHeading arlo_status.gyroHeading = self.alternate_heading self._arlo_status_publisher.publish(arlo_status)
def _broadcast_arlo_status(self, msg): arlo_status = arloStatus() # Order from ROS Interface for ArloBot.c arlo_status.safeToProceed = msg.safe_to_proceed arlo_status.safeToRecede = msg.safe_to_recede arlo_status.Escaping = msg.escaping arlo_status.abd_speedLimit = msg.max_forward_speed arlo_status.abdR_speedLimit = msg.max_reverse_speed arlo_status.Heading = self.lastHeading arlo_status.gyroHeading = self.alternate_heading arlo_status.minDistanceSensor = msg.min_distance_sensor # Note: Just faking the motor voltages for now, remember to change this when there is an actual motor voltage measurement left_motor_voltage = (15 / 4.69) * msg.left_motor_voltage right_motor_voltage = (15 / 4.69) * msg.right_motor_voltage arlo_status.robotBatteryLevel = 12.0 if left_motor_voltage < 1: arlo_status.leftMotorPower = False else: arlo_status.leftMotorPower = True arlo_status.robotBatteryLevel = left_motor_voltage self._leftMotorPower = arlo_status.leftMotorPower if right_motor_voltage < 1: arlo_status.rightMotorPower = False else: arlo_status.rightMotorPower = True arlo_status.robotBatteryLevel = right_motor_voltage self._rightMotorPower = arlo_status.rightMotorPower # 11.6 volts is the cutoff for an SLA battery. if arlo_status.robotBatteryLevel < 12: arlo_status.robotBatteryLow = True else: arlo_status.robotBatteryLow = False arlo_status.laptopBatteryPercent = self._laptop_battery_percent arlo_status.acPower = self._acPower arlo_status.cliff = msg.cliff_detected arlo_status.floorObstacle = msg.floor_obstacle_detected self._arlo_status_publisher.publish(arlo_status)