Beispiel #1
0
    def provide_task_status_handler(self, missionId):
        # If mission found...
        for mission in self.missions:
            if mission['missionId'] == missionId:
                taskStatus = MSGConstructor.TaskStatusConstructor(
                    missionId=mission['missionId'],
                    taskId=mission['taskId'],
                    statusCode=mission['statusCode'],
                    statusDescription=mission['statusDescription'],
                    when=mission['when'])
                return taskStatus

        # If mission not found
        taskStatus = MSGConstructor.TaskStatusConstructor(
            missionId='null',
            taskId='null',
            statusCode=12,
            statusDescription='null',
            when=rospy.get_rostime())
        return taskStatus
Beispiel #2
0
    def update_mission_status(self, missionId, taskId, statusCode,
                              statusDescription):
        if statusCode in [1, 3, 11]:
            rospy.loginfo('[TaskManager] [' + str(self.robotId) + '] [' +
                          str(missionId) + '] ' + str(statusDescription))
        elif statusCode in [4, 12]:
            rospy.logerr('[TaskManager] [' + str(self.robotId) + '] [' +
                         str(missionId) + '] ' + str(statusDescription))

        if self.taskStatusPub is not None:
            taskStatus = MSGConstructor.TaskStatusConstructor(
                missionId=missionId,
                taskId=taskId,
                statusCode=statusCode,
                statusDescription=statusDescription,
                when=rospy.get_rostime())
            self.taskStatusPub.publish(taskStatus)

        for mission in self.missions:
            if mission['missionId'] == missionId:
                mission['taskId'] = taskId
                mission['statusCode'] = statusCode
                mission['statusDescription'] = statusDescription
                mission['when'] = rospy.get_rostime()