Пример #1
0
 def setUp(self):
     self.browser = webdriver.Chrome(ChromeDriverManager().install())
     self.navigator = Navigator(self.browser)
     self.browser.get(
         "https://kkstream.testrail.net/index.php?/runs/overview/30")
     self.navigator.loginPage().userName().input()
     self.navigator.loginPage().passWord().input()
     self.navigator.loginPage().submitButton().tap()
Пример #2
0
def main():
    rospy.logerr("before before lineee")
    rospy.init_node('accio_backend')
    wait_for_time()
    # TODO incorporate navigation
    navigator = Navigator.Navigator()
    station_handler = StationInformation.StationInformation(navigator)
    print("Initializing the gripper, arm, torso, head...")
    print("To quit before these are initialized, do ctrl-C and then ctrl-D.")
    gripper = Gripper()
    print("Gripper ready...")
    arm = Arm()
    print("Arm ready...")
    torso = Torso()
    print("Torso ready...")
    head = Head()
    print("Head ready...")
    base = Base()
    print("Base ready...")
    program_handler = ProgramHandler(PROGRAM_FILE, gripper, arm, torso, head,
                                     base)
    #load_program(PROGRAM_FILE, gripper, arm, torso, head) # karan commented this out, refactoring
    status_pub = rospy.Publisher('print_update',
                                 std_msgs.msg.String,
                                 queue_size=10)
    order_handler = OrderHandler.OrderHandler(station_handler, program_handler,
                                              status_pub)
    robot_state = RobotState(order_handler, status_pub)
    rospy.sleep(1)

    #rospy.Subscriber('available_items', acciobot_main.msg.ItemStock, printHI)
    rospy.Subscriber('dispatch_order', acciobot_main.msg.Order,
                     robot_state.order_callback)

    # dispatch_sub = rospy.Subscriber('dispatch_order', acciobot_main.msg.Order, printHI)

    def stop_things():
        navigator.stop()
        arm.cancel_all_goals()
        base.stop()

    rospy.on_shutdown(stop_things)

    rospy.logerr("Waiting for orders")

    while True:
        if robot_state.get_current_order() is not None:
            rospy.logerr("Robot state has a current order")
            order = order_handler.remove_order(robot_state.get_current_order())
            success = order.fulfill_order()
            # TODO: Uncomment when navigation is ready
            print("press enter to continue [removed]")
            # raw_input()
            navigator.move_to_posestamped(
                station_handler.get_cashier().location)
            robot_state.finished_order()
        rospy.sleep(1)
Пример #3
0
def processUrl(data, readStandalone):
    nav = Navigator.Navigator(data).getFinancialUrls()
    basicSheet = BasicsScrapper.BasicsScrapper(nav['Basic']).readPage()
    # print("Basic Sheet processed")
    finData = readFinancialData(nav,basicSheet, readStandalone)
    if(not finData is None):
        basicSheet = updateBasicData(basicSheet, finData)
        writeData(basicSheet, finData)
        print("finished processing ", data)
        time.sleep(5)
Пример #4
0
    def __init__(self, maze_dim):
        '''
        Use the initialization function to set up attributes that your robot
        will use to learn and navigate the maze. Some initial attributes are
        provided based on common information, including the size of the maze
        the robot is placed in.
        '''

        self.location = [0, 0]
        self.heading = 'up'
        self.maze_dim = maze_dim
        self.maze = Mapper(maze_dim)
        self.idx_dir_map = {0:"l", 1:"u",2:"r", 3:"d"}
        self.dir_idx_map = {"left":0, "up":1,"right":2, "down":3,
        "l":0, "u":1, "r":2, "d":3}
        self.navigator = Navigator()
        self.second = False
Пример #5
0
    def __init__(self, serverQueue, serverLock, location, direction):

        #These variables deal with orders being processed from server
        self.serverQueue = serverQueue
        self.serverLock = serverLock
        self.currentOrder = None

        threading.Thread.__init__(self)

        #these variables handle the state of the machine
        self.state = botstates.IDLE
        self.prevState = botstates.IDLE

        self.leds = LEDManager.BotLEDManager()
        self.navigator = Navigator.Navigator(directions.getDir(direction),
                                             location)
        self.dispensor = Dispensor.Dispensor()
        self.listener = Listener.Listener(listenerPort, self.serverQueue,
                                          self.serverLock)
        self.pusher = Pusher.Pusher(pusherPort, self.serverQueue,
                                    self.serverLock)

        self.listener.start()
        self.pusher.start()
Пример #6
0
import Navigator
import time
import json

from threading import Thread
import random

nav = Navigator.Navigator()
nav.startSafe()


def getFakeSensorData():
    sensorData = {}
    sensorData['angle'] = random.randint(0, 360)
    sensorData['distance'] = random.randint(0, 100)
    return sensorData


def readSensors(param):
    while True:
        sensorData = nav.readSensorsData()
        #sensorData = getFakeSensorData()
        print json.dumps(sensorData, indent=4, sort_keys=False)
        time.sleep(1)


thread = Thread(target=readSensors, args=('someParam', ))
thread.start()
thread.join()

print 'thread exiting'
Пример #7
0
    def run(self):
        #do initialization

        while (True):

            if (self.state == botstates.IDLE):

                self.currentOrder = self.serverQueue.get(block=True)

                if (self.currentOrder.location !=
                        self.navigator.getDestination()):
                    self.destination = self.currentOrder.location
                    self.prevState = self.state
                    self.state = botstates.MOTION

                elif (self.currentOrder.location ==
                      self.navigator.getDestination()):
                    self.prevState = self.state
                    self.state = botstates.DISPENSING

            elif (self.state == botstates.MOTION):
                self.navigator = Navigator.Navigator(
                    directions.getDir(self.navigator.direction),
                    self.navigator.location)
                self.navigator.start()
                try:
                    self.navigator.join()
                except Exception as e:
                    self.prevState = self.state
                    self.state = botstates.LINE_LOST

                self.prevState = self.state
                self.state = botstates.DISPENSING

            elif (self.state == botstates.DISPENSING):

                if (self.currentOrder['drink'] == '1'):
                    resp = self.dispensor.orangejuice()
                    if (resp):
                        self.leds.done()
                        self.prevState = self.state
                        self.state = botstates.IDLE
                    else:
                        self.prevState = self.state
                        self.state = botstates.ERROR

                elif (self.currentOrder['drink'] == '2'):
                    self.leds.done()
                    resp = self.dispensor.gingerAle()
                    if (resp):
                        self.prevState = self.state
                        self.state = botstates.IDLE
                    else:
                        self.prevState = self.state
                        self.state = botstates.ERROR

                elif (self.currentOrder['drink'] == '3'):
                    self.leds.done()
                    resp = self.dispensor.mimosa()
                    if (resp):
                        self.prevState = self.state
                        self.state = botstates.IDLE
                    else:
                        self.prevState = self.state
                        self.state = botstates.ERROR

            elif (self.state == botstates.LINE_LOST):
                #perform recovery
                #utils.espeak('"line has been lost"')
                self.leds.blinkAll()

            elif (self.state == botstates.ERROR):
                #utils.espeak('"error dispensing drink"')
                self.leds.blinkAll()