Esempio n. 1
0
 def __init__(self,
              render=True,
              realtime=True,
              ip="127.0.0.1",
              port="21560"):
     # initialize base class
     self.render = render
     if self.render:
         self.updateDone = True
         self.updateLock = threading.Lock()
         self.server = UDPServer(ip, port)
     self.actLen = 12
     self.mySensors = sensors.Sensors(["EdgesReal"])
     self.dists = array([20.0, sqrt(2.0) * 20, sqrt(3.0) * 20])
     self.gravVect = array([0.0, -100.0, 0.0])
     self.centerOfGrav = zeros((1, 3), float)
     self.pos = ones((8, 3), float)
     self.vel = zeros((8, 3), float)
     self.SpringM = ones((8, 8), float)
     self.d = 60.0
     self.dt = 0.02
     self.startHight = 10.0
     self.dumping = 0.4
     self.fraktMin = 0.7
     self.fraktMax = 1.3
     self.minAkt = self.dists[0] * self.fraktMin
     self.maxAkt = self.dists[0] * self.fraktMax
     self.reset()
     self.count = 0
     self.setEdges()
     self.act(array([20.0] * 12))
     self.euler()
     self.realtime = realtime
     self.step = 0
Esempio n. 2
0
    def __init__(self, renderer=True, realtime=True, ip="127.0.0.1", port="21590", buf='16384'):
        """ initializes the virtual world, variables, the frame rate and the callback functions."""
        print "ODEEnvironment -- based on Open Dynamics Engine."
        
        # initialize base class
        GraphicalEnvironment.__init__(self)
        
        if renderer:
            self.updateDone = True
            self.updateLock = threading.Lock()
            self.server = UDPServer(ip, port, buf)
        self.render=renderer
        self.realtime=realtime
        
        # initialize attributes
        self.resetAttributes()

        # initialize the textures dictionary
        self.textures = {}

        # initialize sensor and exclude list
        self.sensors = []
        self.excludesensors = []

        #initialize actuators list
        self.actuators = []
        
        # A joint group for the contact joints that are generated whenever two bodies collide
        self.contactgroup = ode.JointGroup()
         
        self.dt = 0.01
        self.FricMu = 8.0
        self.stepsPerAction = 1
        self.stepCounter = 0
Esempio n. 3
0
 def __init__(self, ip="127.0.0.1", port="21560"):
     self.target = array([80.0, 0.0, 0.0])
     #self.dataLock = threading.Lock()
     self.centerOfGrav = array([0.0, -2.0, 0.0])
     self.points = ones((8, 3), float)
     self.updateDone = True
     self.updateLock = threading.Lock()
     self.server = UDPServer(ip, port)
Esempio n. 4
0
 def __init__(self, render=True, ip="127.0.0.1", port="21580", numdir=1):
     # initialize the environment (randomly)
     self.action = [0.0, 0.0]
     self.delay = False
     self.numdir = numdir  # number of directions in which ship starts
     self.render = render
     if self.render:
         self.updateDone = True
         self.updateLock = threading.Lock()
         self.server = UDPServer(ip, port)
     self.reset()