def __init__(self, host, port, startDevices=1): #print("TCPRobot __init__") Robot.__init__(self) self.lock = threading.Lock() # Set the socket parameters #print("host:") #print(host) #print("port") #print(port) self.host = host self.port = port self.addr = (host, port) self.type = "Pyrobot" # Create socket self.socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: self.socket.settimeout(1) except: print("WARN: entering deadlock zone; upgrade to Python 2.3 to avoid") done = 0 while not done: try: self.socket.connect( self.addr ) done = 1 except: print("Waiting on PyrobotSimulator...") time.sleep(1) self.connectionNum = self.getItem("connectionNum:%d" % self.port) self.init(startDevices)
def __init__(self, name="Blimp", serialPort="/dev/ttyUSB0"): Robot.__init__(self) # robot constructor self.channels = 4 self.debug = 0 self.name = name self.simulated = 0 self.serialPort = serialPort self.port = Serial(serialPort, baudrate=9600) #self.port = open("debug.txt", "w") self.lastCommand = {} offPositions = {} for i in range(1, self.channels + 1): # init to zeros self.lastCommand[i] = 0 offPositions[i] = 15000 # send commands to all be neutral (15000): self.sendCommands(offPositions) # default values for all robots: self.stall = 0 self.x = 0.0 self.y = 0.0 self.th = 0.0 self.thr = 0.0 # Can we get these from player? self.radius = 1.00 self.type = "Blimp" self.subtype = 0 self.units = "METERS" self.localize(0.0, 0.0, 0.0) self.update()
def __init__(self, url, user='******', password='******'): Robot.__init__(self) # an Admin user account on Rovio. Needs to be Admin for all functions to work! self.theurl = url self.username = user self.password = password # self.camLock = 1 self.ping() # said Admin user's password self.passman = urllib2.HTTPPasswordMgrWithDefaultRealm() self.passman.add_password(None, self.theurl, self.username, self.password) self.authhandler = urllib2.HTTPBasicAuthHandler(self.passman) self.opener = urllib2.build_opener(self.authhandler) urllib2.install_opener(self.opener) self.light = '0' # set up some globals self.battList = [126, 126, 126, 126, 126] self.emailok = 0 self.head = 1 self.obstacle = 0 self.lock = threading.Lock() self.camLock = threading.Lock()
def __init__(self, name = "Blimp", serialPort = "/dev/ttyUSB0"): Robot.__init__(self) # robot constructor self.channels = 4 self.debug = 0 self.name = name self.simulated = 0 self.serialPort = serialPort self.port = Serial(serialPort, baudrate=9600) #self.port = open("debug.txt", "w") self.lastCommand = {} offPositions = {} for i in range(1, self.channels + 1): # init to zeros self.lastCommand[i] = 0 offPositions[i] = 15000 # send commands to all be neutral (15000): self.sendCommands(offPositions) # default values for all robots: self.stall = 0 self.x = 0.0 self.y = 0.0 self.th = 0.0 self.thr = 0.0 # Can we get these from player? self.radius = 1.00 self.type = "Blimp" self.subtype = 0 self.units = "METERS" self.localize(0.0, 0.0, 0.0) self.update()
def __init__(self, name="TeamPyrobot", host="localhost", port=6000, goalie=0): Robot.__init__(self) self.lastTranslate = 0 self.lastRotate = 0 self.updateNumber = 0L self._historyNumber = 0L self._lastHistory = 0 self._historySize = 100 self._history = [0] * self._historySize self.simulated = 1 self.name = name self.host = host self.port = port self.continuous = 1 self.goalie = goalie self.address = (self.host, self.port) self.socket = socket(AF_INET, SOCK_DGRAM) self.reader = ReadUDP(self) self.reader.start() msg = "(init %s (version 9.0)" % self.name if goalie: msg += "(goalie)" msg += ")" self.socket.sendto(msg, self.address) # wait to get the real address while self.address[1] == self.port: pass self.builtinDevices = ["simulation", "laser"] self.startDevice("simulation") self.startDevice("laser") self.simulation[0].setPose(random() * 100 - 50, random() * 20 - 10) self.range = self.laser[0] # default values for all robots: self.stall = 0 self.x = 0.0 self.y = 0.0 self.th = 0.0 self.thr = 0.0 # Can we get these from robocup? self.radius = 0.75 self.type = "Robocup" self.subtype = 0 self.units = "METERS" #self.supportedFeatures.append( "odometry" ) self.supportedFeatures.append("continuous-movement") self.supportedFeatures.append("range-sensor") self.localize(0, 0, 0) self.update()
def __init__(self, name="TeamPyrobot", host="localhost", port=6000, goalie = 0): Robot.__init__(self) self.lastTranslate = 0 self.lastRotate = 0 self.updateNumber = 0L self._historyNumber = 0L self._lastHistory = 0 self._historySize = 100 self._history = [0] * self._historySize self.simulated = 1 self.name = name self.host = host self.port = port self.continuous = 1 self.goalie = goalie self.address = (self.host, self.port) self.socket = socket(AF_INET, SOCK_DGRAM) self.reader = ReadUDP(self) self.reader.start() msg = "(init %s (version 9.0)" % self.name if goalie: msg += "(goalie)" msg += ")" self.socket.sendto(msg, self.address) # wait to get the real address while self.address[1] == self.port: pass self.builtinDevices = ["simulation", "laser"] self.startDevice("simulation") self.startDevice("laser") self.simulation[0].setPose( random() * 100 - 50, random() * 20 - 10 ) self.range = self.laser[0] # default values for all robots: self.stall = 0 self.x = 0.0 self.y = 0.0 self.th = 0.0 self.thr = 0.0 # Can we get these from robocup? self.radius = 0.75 self.type = "Robocup" self.subtype = 0 self.units = "METERS" #self.supportedFeatures.append( "odometry" ) self.supportedFeatures.append( "continuous-movement" ) self.supportedFeatures.append( "range-sensor" ) self.localize(0, 0, 0) self.update()
def __init__(self, host): Robot.__init__(self) self.host = host #--------------------------------------------------- self.main_control = Listener(self.PORT["Main Control"], self.host) self.main_control.s.send("!reset\n") # reset menu # -------------------------------------------------- # Throttle the sending of data from the Aibo; we can't handle much faster than # 10 bits of data a second. Make this lower if you can (these are ms pauses): self.setAiboConfig("vision.rawcam_interval", 50) #self.setAiboConfig("vision.rle_interval", 50) #self.setAiboConfig("vision.worldState_interval", 50) # -------------------------------------------------- self.setRemoteControl("Walk Remote Control", "on") self.setRemoteControl("EStop Remote Control", "on") self.setRemoteControl("World State Serializer", "on") self.setRemoteControl("Raw Cam Server", "off") self.setRemoteControl("Aibo 3D", "on") time.sleep(1) # let the servers get going... self.walk_control = Listener(self.PORT["Walk Remote Control"], self.host) self.estop_control = Listener(self.PORT["EStop Remote Control"], self.host) # stop control #wsjoints_port =10031 # world state read sensors #wspids_port =10032 # world state read pids self.sensor_socket = Listener(self.PORT["World State Serializer"], self.host) # sensors self.joint_socket = Listener(self.PORT["Joint Writer"], self.host) # joints self.sensor_thread = ListenerThread(self.sensor_socket, self.readWorldState) self.sensor_thread.start() #self.pid_socket = Listener(10032, self.host) # sensors time.sleep(1) # let all of the servers get going... self.estop_control.s.send( "start\n") # send "stop\n" to emergency stop the robot time.sleep(1) # let all of the servers get going... self.builtinDevices = ["ptz"] # start up some devices: self.startDevice("ptz")
def __init__(self, host): Robot.__init__(self) self.host = host #--------------------------------------------------- self.main_control = Listener(self.PORT["Main Control"], self.host) self.main_control.s.send("!reset\n") # reset menu # -------------------------------------------------- # Throttle the sending of data from the Aibo; we can't handle much faster than # 10 bits of data a second. Make this lower if you can (these are ms pauses): self.setAiboConfig("vision.rawcam_interval", 50) #self.setAiboConfig("vision.rle_interval", 50) #self.setAiboConfig("vision.worldState_interval", 50) # -------------------------------------------------- self.setRemoteControl("Walk Remote Control", "on") self.setRemoteControl("EStop Remote Control", "on") self.setRemoteControl("World State Serializer", "on") self.setRemoteControl("Raw Cam Server", "off") self.setRemoteControl("Aibo 3D", "on") time.sleep(1) # let the servers get going... self.walk_control = Listener(self.PORT["Walk Remote Control"], self.host) self.estop_control = Listener(self.PORT["EStop Remote Control"], self.host) # stop control #wsjoints_port =10031 # world state read sensors #wspids_port =10032 # world state read pids self.sensor_socket = Listener(self.PORT["World State Serializer"], self.host) # sensors self.joint_socket = Listener(self.PORT["Joint Writer"], self.host) # joints self.sensor_thread = ListenerThread(self.sensor_socket, self.readWorldState) self.sensor_thread.start() #self.pid_socket = Listener(10032, self.host) # sensors time.sleep(1) # let all of the servers get going... self.estop_control.s.send("start\n") # send "stop\n" to emergency stop the robot time.sleep(1) # let all of the servers get going... self.builtinDevices = ["ptz"] # start up some devices: self.startDevice("ptz")
def __init__(self, host, port, startDevices=1): Robot.__init__(self) self.lock = threading.Lock() # Set the socket parameters self.host = host self.port = port self.addr = (host, port) self.type = "Pyrobot" # Create socket self.socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: self.socket.settimeout(1) except: print "WARN: entering deadlock zone; upgrade to Python 2.3 to avoid" done = 0 while not done: try: self.socket.connect( self.addr ) done = 1 except: print "Waiting on PyrobotSimulator..." time.sleep(1) self.connectionNum = self.getItem("connectionNum:%d" % self.port) self.init(startDevices)
def destroy(self): self.setRemoteControl("Raw Cam Server", "off") self.sensor_thread.join() Robot.destroy(self)
def update(self): Robot.update(self) if self.continuous: self.keepGoing() self.updateNumber += 1
def __init__(self, simulator, port, connectionNum, startDevices=1): Robot.__init__(self) self.simulator = simulator self.connectionNum = connectionNum self.port = port self.init(startDevices)
def INIT(): return Robot()
def destroy(self): self.sensor_thread.join() Robot.destroy(self)