def loadMapTest(self, map_name, pc_coords, pc_sprite):
     print("* Loading map test...")
     self.unloadMap()
     self.world = World(self)
     #self.world = World(self, "Ashgrove")
     #campaign.init(self.world)
     self.world.current_map_name = map_name
     if not pc_sprite.endswith(".xml"):
         print("Incorrect sprite file name", pc_sprite)
         return
     pc_sprite_name = pc_sprite.split("\\")[-1][:-4]
     print(pc_sprite, pc_sprite_name)
     pc = self.world.addCharacterAt(pc_coords, map_name, "test_character",
                                    "test character", str(pc_sprite_name))
     self.world.enablePlayerCharacter(pc)
     self.loadObject("objects\\Sprites - Characters\\" + str(pc_sprite))
     self.loadMap(self.world.current_map_name)
     self.world.visual = WorldVisual(self, self.maplayer, self.world)
     self.view = View(self)
     #self.view.camera.getLocationRef().setLayerCoordinates(
     #			fife.ModelCoordinate(40, 0, 0))
     self.gui.showHUD()
     self.unpause(True)
     self.change_map_name = None
     self.exploration = Exploration(self)
     print("* Map loaded!")
 def loadGame(self, save_name):
     self.loadMap(self.world.current_map_name)
     self.world.application = self
     self.world.visual = WorldVisual(self, self.maplayer, self.world)
     self.view = View(self)
     self.gui.showHUD()
     self.unpause(True)
     self.change_map_name = None
     self.exploration = Exploration(self)
     print("* Game loaded!")
 def newGame(self):
     self.loadMap(self.world.current_map_name)
     self.world.visual = WorldVisual(self, self.maplayer, self.world)
     self.view = View(self)
     camera_loc = self.view.camera.getLocation()
     camera_loc.setLayerCoordinates(self.world.camera_coords)
     self.view.camera.setLocation(camera_loc)
     self.gui.showHUD()
     self.unpause(True)
     self.change_map_name = None
     self.exploration = Exploration(self)
     print("* Game started!")
Exemple #4
0
def main():
    entrypoint = 0x401094
    fuzzed_address = set()
    queue = multiprocessing.Queue()
    process = list()

    ctx = TritonContext()
    ctx.setArchitecture(ARCH.X86_64)
    ctx.enableMode(MODE.ALIGNED_MEMORY, True)
    ctx.setAstRepresentationMode(AST_REPRESENTATION.PYTHON)

    exploration = Exploration()
    tracer = Tracer(program_name, True)
    tracer.tracer_init(ctx)

    # Sets callbacks
    tracer.add_start_callback(exploration.start)
    tracer.add_instruction_callback(exploration.get_instruction)
    tracer.add_end_callback(exploration.end)
    tracer.add_memory_callback(exploration.symbolized_memory_input)
    tracer.add_register_callback(exploration.symbolized_register_input)

    for i in range(30):
        tracer.start(ctx, 1, entrypoint)

        if exploration.fuzz_is_needed is True:
            untaken_branch = set(exploration.get_untaken_branch())
            for i in untaken_branch:
                if i not in fuzzed_address:
                    if exploration.untaken_branch[i] != 0:
                        process.append(
                            send_to_fuzz(
                                entrypoint,
                                copy.deepcopy(exploration.exploration_memory),
                                copy.deepcopy(
                                    exploration.exploration_registers),
                                copy.copy(exploration.untaken_branch[i]), i,
                                queue))
                        process[-1].start()
                        process[-1].join()

                    fuzzed_address.add(i)

            try:
                new_inputs = queue.get(block=True, timeout=5)
                exploration.add_fuzz_inputs(new_inputs[0], new_inputs[1])
            except Queue.Empty:
                print(map(hex, exploration.get_untaken_branch()))
                print("Can't find more branch")
                break

    exploration.show_exploration()
Exemple #5
0
        def get_services():
            try:
                self.memory = self.session.service('ALMemory')

                self.motion_service=self.session.service("ALMotion")
                self.decos_navigation_files_service=self.session.service("DecosNavigationFiles")
                self.navigation_service=self.session.service("ALNavigation")

                self.exploration = Exploration(self.navigation_service,self.motion_service,self.decos_navigation_files_service)

                self.logger.info('All services are now connected')
                self.services_connected.setValue(True)
            except RuntimeError as e:
                self.logger.warning('Still missing some service:\n {}'.format(e))
 def __init__(self) -> None:
     self.network = NetWork().to(device)
     print("Number of parameters in network:",
           count_parameters(self.network))
     self.criterion = MSELoss()
     self.optimizer = Adam(self.network.parameters(),
                           lr=0.001,
                           weight_decay=0.001)
     self.memory = ReplayBuffer(100000)
     self.remember = self.memory.remember()
     self.exploration = Exploration()
     self.explore = self.exploration.epsilonGreedy
     self.target_network = NetWork().to(device)
     self.placeholder_network = NetWork().to(device)
 def changeMap(self, map_name):
     self.real_timeline.clear()
     self.world.visual.cleanUp()
     self.world.visual = None
     self.world.current_map_name = map_name
     if self.map:
         self.model.deleteMap(self.map)
     if self.imagemanager.getMemoryUsed() > 700000000:
         self.imagemanager.freeUnreferenced()
     print("Memory used by the image manager:",
           "{:,}".format(self.imagemanager.getMemoryUsed()))
     self.loadMap(self.world.current_map_name)
     self.world.visual = WorldVisual(self, self.maplayer, self.world)
     self.view = View(self)
     self.gui.showHUD()
     self.unpause(True)
     self.exploration = Exploration(self)
 def __init__(self,
              game: Game,
              network: Networks,
              learner: Learners,
              exploration: Explorations,
              gamma: float = None,
              K: float = None,
              width: int = None,
              height: int = None,
              batch: int = None,
              _extra_dim: int = 0,
              **kwargs) -> None:
     self.extradim = _extra_dim
     self.batch = batch
     self.height = height
     self.width = width
     self.net = Net(
         len(game.layers) + _extra_dim, width, height, network, **kwargs)
     self.learner = Learner(self.net, learner, gamma, **kwargs)
     self.exploration = Exploration(exploration, K, **kwargs)
Exemple #9
0
def dfExplore(df):
    explore = Exploration(df)
    explore.scatter()
    explore.classGraph()
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        """ Set GUI to track mouse """
        QWidget.setMouseTracking(self, True)
        """
        Dynamixel bus
        TODO: add other motors here as needed with their correct address"""
        # self.dxlbus = DXL_BUS(DEVICENAME, BAUDRATE)
        # port_num = self.dxlbus.port()
        # base = DXL_XL(port_num, 1)
        # shld = DXL_XL(port_num, 2)
        # elbw = DXL_XL(port_num, 3)
        # wrst = DXL_XL(port_num, 4)
        # grip = DXL_XL(port_num, 5)
        """Objects Using Other Classes"""
        self.camera = PiCamera()
        # self.rexarm = Rexarm((base, shld, elbw, wrst, grip))
        # self.tp = TrajectoryPlanner(self.rexarm)
        self.sm = StateMachine(self.rexarm, self.tp)
        global explore_obj
        explore_obj = Exploration(self.sm)
        self.taskThread = TaskThread(self.sm)
        self.rgb_image = None
        """
        Attach Functions to Buttons & Sliders
        TODO: NAME AND CONNECT BUTTONS AS NEEDED
        """
        self.ui.btn_estop.clicked.connect(self.estop)
        self.ui.btnUser1.setText("Calibrate")
        self.ui.btnUser1.clicked.connect(
            partial(self.sm.set_current_state, "calibrate"))
        self.ui.btnUser2.setText("Moving Arm")
        self.ui.btnUser2.clicked.connect(
            partial(self.sm.set_current_state, "moving_arm"))
        self.ui.btnUser3.setText("Return Home")
        self.ui.btnUser3.clicked.connect(
            partial(self.sm.set_current_state, "arm_return_home"))
        self.ui.btnUser4.setText("Exploration")
        self.ui.btnUser4.clicked.connect(
            partial(self.sm.set_current_state, "exploration"))
        self.ui.btnUser5.setText("Swipe")
        self.ui.btnUser5.clicked.connect(
            partial(self.sm.set_current_state, "swipe"))
        self.ui.btnUser6.setText("Put back block")
        self.ui.btnUser6.clicked.connect(
            partial(self.sm.set_current_state, "put_back_block"))
        self.ui.btnUser7.setText("Moving back")
        self.ui.btnUser7.clicked.connect(
            partial(self.sm.set_current_state, "moving_back"))
        self.ui.btnUser8.setText("Reach block")
        self.ui.btnUser8.clicked.connect(
            partial(self.sm.set_current_state, "reach_block"))
        self.ui.btnUser9.setText("Moving to side")
        self.ui.btnUser9.clicked.connect(
            partial(self.sm.set_current_state, "moving_to_block_side"))

        # self.ui.btn_task1.clicked.connect(
        #   partial(self.taskThread.set_task_num, 1))
        self.ui.btn_task1.clicked.connect(partial(self.taskThread.run))
        # Button for exploration code to run
        # self.ui.explore_btn.clicked.connect(self.taskThread.start)

        self.ui.sldrBase.valueChanged.connect(self.sliderChange)
        self.ui.sldrShoulder.valueChanged.connect(self.sliderChange)
        self.ui.sldrElbow.valueChanged.connect(self.sliderChange)
        self.ui.sldrWrist.valueChanged.connect(self.sliderChange)

        self.ui.sldrWrist2.valueChanged.connect(self.sliderChange)
        self.ui.sldrGrip1.valueChanged.connect(self.sliderChange)

        self.ui.sldrMaxTorque.valueChanged.connect(self.sliderChange)
        self.ui.sldrSpeed.valueChanged.connect(self.sliderChange)
        self.ui.chk_directcontrol.stateChanged.connect(self.directControlChk)
        self.ui.rdoutStatus.setText("Waiting for input")
        """initalize manual control off"""
        self.ui.SliderFrame.setEnabled(False)
        """initalize rexarm"""
        self.rexarm.initialize()
        """Setup Threads"""
        self.videoThread = VideoThread(self.camera)
        self.videoThread.updateFrame.connect(self.setImage)
        self.videoThread.updateAprilTags.connect(self.updateAprilTags)
        self.videoThread.start()

        self.logicThread = LogicThread(self.sm)
        self.logicThread.start()

        # Moving line to button to start
        # self.taskThread.start()

        self.displayThread = DisplayThread(self.rexarm, self.sm)
        self.displayThread.updateJointReadout.connect(self.updateJointReadout)
        self.displayThread.updateEndEffectorReadout.connect(
            self.updateEndEffectorReadout)
        self.displayThread.updateStatusMessage.connect(
            self.updateStatusMessage)
        self.displayThread.start()
        """
        Setup Timer
        this runs the trackMouse function every 50ms
        """
        self._timer = QTimer(self)
        self._timer.timeout.connect(self.trackMouse)
        self._timer.start(50)
Exemple #11
0
#print(probleme.nombre_piece_mal_placees(etat_initial))

# Dijkstra
#fonction_score = lambda noeud: noeud.g
fonction_score = lambda noeud: noeud.g

#Greedy

#A*

###############################################
# Exploration (générique)
###############################################

#exploration = Exploration(probleme=probleme, critere=fonction_score)
exploration = Exploration(probleme=probleme, critere=fonction_score)

temps_debut = time.process_time()
chemin = exploration.explorer()
temps_fin = time.process_time()

###############################################
# Résultat
###############################################
print("=====================================================")
etapes = -1
X_rech = []
Y_rech = []
print("État initial :\t" + str(probleme.etat_initial))
if len(chemin) > 0:
    last = None
Exemple #12
0
 def __init__(self,
              exploration='epsilonGreedy',
              memory=10000,
              discount=0.99,
              uncertainty=True,
              uncertainty_weight=1,
              update_every=200,
              double=True,
              use_distribution=True,
              reward_normalization=False,
              encoder=None,
              hidden_size=40,
              state_difference=True,
              state_difference_weight=1,
              **kwargs) -> None:
     self.uncertainty = uncertainty
     self.hidden_size = hidden_size
     self.network = NetWork(self.hidden_size).to(device)
     self.createEncoder(encoder)
     self.network.hasEncoder = self.hasEncoder
     print("Number of parameters in network:",
           count_parameters(self.network))
     self.criterion = MSELoss()
     self.memory = ReplayBuffer(int(memory))
     self.remember = self.memory.remember()
     self.exploration = Exploration()
     if exploration == 'greedy':
         self.explore = self.exploration.greedy
     elif exploration == 'epsilonGreedy':
         self.explore = self.exploration.epsilonGreedy
     elif exploration == 'softmax':
         self.explore = self.exploration.softmax
     elif exploration == 'epsintosoftmax':
         self.explore = self.exploration.epsintosoftmax
     self.target_network = NetWork(self.hidden_size).to(device)
     self.target_network.hasEncoder = self.hasEncoder
     self.placeholder_network = NetWork(self.hidden_size).to(device)
     self.placeholder_network.hasEncoder = self.hasEncoder
     self.gamma, self.f = discount, 0
     self.update_every, self.double, self.use_distribution = update_every, double, use_distribution
     self.counter = 0
     self.reward_normalization = reward_normalization
     self.state_difference = state_difference
     self.true_state_trace = None
     self.uncertainty_weight = uncertainty_weight
     self.state_difference_weight = state_difference_weight
     if encoder is not None:
         self.optimizer_value = Adam(
             list(self.network.fromEncoder.parameters()) +
             list(self.network.lstm.parameters()) +
             list(self.network.linear.parameters()),
             lr=1e-4,
             weight_decay=1e-5)
     else:
         self.optimizer_value = Adam(list(self.network.color.parameters()) +
                                     list(self.network.conv1.parameters()) +
                                     list(self.network.lstm.parameters()) +
                                     list(self.network.linear.parameters()),
                                     lr=1e-4,
                                     weight_decay=1e-5)
     if self.uncertainty:
         self.optimizer_exploration = Adam(list(
             self.network.exploration_network.parameters()),
                                           lr=1e-4,
                                           weight_decay=1e-5)
     if self.state_difference:
         self.optimizer_state_avoidance = Adam(list(
             self.network.state_difference_network.parameters()),
                                               lr=1e-4,
                                               weight_decay=1e-5)
     self.onpolicy = True