print('The best fitness reaches the threshold value.') break if g >= 5: diff = np.abs(self.history[-5][1] - self.history[-1][1]) if diff < 1e-2: print('The best fitness does not change for 10 steps.') break self.gtot += 1 if __name__ == '__main__': # World world = World() world.generate_frame([-10, 10], [-10, 10]) world.type = 'cartesian' # Objects in the cartesian space og = ObjectGenerator(world) og.generate_object([[3.5, 6.5], [3.5, 3.5], [6.5, 3.5], [6.5, 6.5]]) # Robot robot2R = RobotArm(base=[0, 0], lengths=[3.0, 5.0]) robot2R.start = np.array([pi / 2, -pi / 7]) robot2R.goal = np.array([pi / 5, -pi / 7]) # C-space cspace = World() cspace.robot = robot2R cspace.generate_frame([-pi, pi], [-pi, pi])
self.path = np.vstack((djk1.path, djk2.path)) self.smoothed_path = self.smoothing(self.path) # ''' self.path_list.append(self.smoothed_path) if verbose: t2 = time.time() print('Generate multiple paths: {}\n'.format(t2 - t1)) if __name__ == '__main__': # --- world class world = World() world.generate_frame([-pi, pi], [-pi, pi]) # --- Set start/goal point world.start = np.array([-3.0, -3.0]) world.goal = np.array([3.0, 3.0]) # --- Set objects og = ObjectGenerator(world) og.generate_object_sample1() og.set_object_type() # ''' # --- Generate 10x10 valid roadmaps t0 = time.time() prm_list = [PRM(world, 100, 5) for i in range(10)] path_list = []