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()
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)
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)
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
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()
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'
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()