Esempio n. 1
0
	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)
Esempio n. 2
0
 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()
Esempio n. 3
0
    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()
Esempio n. 4
0
 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()
Esempio n. 5
0
 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()
Esempio n. 6
0
 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()
Esempio n. 7
0
 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")
Esempio n. 8
0
 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")
Esempio n. 9
0
	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)
Esempio n. 10
0
 def destroy(self):
     self.setRemoteControl("Raw Cam Server", "off")
     self.sensor_thread.join()
     Robot.destroy(self)
Esempio n. 11
0
 def update(self):
     Robot.update(self)
     if self.continuous:
         self.keepGoing()
     self.updateNumber += 1
Esempio n. 12
0
	def __init__(self, simulator, port, connectionNum, startDevices=1):
		Robot.__init__(self)
		self.simulator = simulator
		self.connectionNum = connectionNum
		self.port = port
		self.init(startDevices)
Esempio n. 13
0
 def __init__(self, simulator, port, connectionNum, startDevices=1):
     Robot.__init__(self)
     self.simulator = simulator
     self.connectionNum = connectionNum
     self.port = port
     self.init(startDevices)
Esempio n. 14
0
 def update(self):
     Robot.update(self)
     if self.continuous:
         self.keepGoing()
     self.updateNumber += 1
Esempio n. 15
0
def INIT():
    return Robot()
Esempio n. 16
0
 def destroy(self):
     self.sensor_thread.join()
     Robot.destroy(self)
Esempio n. 17
0
 def destroy(self):
     self.setRemoteControl("Raw Cam Server", "off")
     self.sensor_thread.join()
     Robot.destroy(self)