def __init__(self, factory): """Constructor. Args: factory (factory.FactoryCreate) """ self.create = factory.create_create() self.time = factory.create_time_helper() self.servo = factory.create_servo() self.sonar = factory.create_sonar() # Add the IP-address of your computer here if you run on the robot self.virtual_create = factory.create_virtual_create() self.pdTheta = pd_controller.PDController(500, 40, -200, 200) self.pidTheta = pid_controller.PIDController(200, 5, 50, [-10, 10], [-200, 200], is_angle=True) self.map = lab8_map.Map("lab8_map.json") self.base_speed = 100 self.odometry = odometry.Odometry() self.particle_filter = ParticleFilter( map=self.map, virtual_create=self.virtual_create, num_particles=100, distance=STRAIGHT_DISTANCE, sigma_sensor=0.1, sigma_theta=0.05, sigma_distance=0.01, ) _ = self.create.sim_get_position()
def __init__(self, factory): self.create = factory.create_create() self.time = factory.create_time_helper() self.sonar = factory.create_sonar() self.servo = factory.create_servo() #self.p_controller = p_controller.PController(1000, -75, 75) self.pd_controller = pd_controller.PDController(1000, 100, -75, 75)
def __init__(self, factory): self.create = factory.create_create() self.time = factory.create_time_helper() self.sonar = factory.create_sonar() self.servo = factory.create_servo() self.odometry = odometry.Odometry() self.pdTheta = pd_controller.PDController(75, 1, -200, 200) # self.pdTheta = pd_controller.PDController(200, 10, -75, 75) # self.pdTheta = pd_controller.PDController(500, 100, -200, 200) self.pidTheta = pid_controller.PIDController(75, 20, 1, -100, 100, -100, 100)
def __init__(self, factory): self.create = factory.create_create() self.time = factory.create_time_helper() self.sonar = factory.create_sonar() self.servo = factory.create_servo() self.odometry = odometry.Odometry() self.pdTheta = pd_controller.PDController(self.theta_kp, self.theta_kd, -200, 200) # self.pidTheta = pid_controller.PIDController(self.theta_kp, self.theta_kd, self.theta_ki, -200, 200) self.pidXY = pid_controller.PIDController(self.xy_kp, self.xy_kd, self.xy_ki, -200, 200)
def __init__(self, factory): """Constructor. Args: factory (factory.FactoryCreate) """ self.create = factory.create_create() self.time = factory.create_time_helper() self.servo = factory.create_servo() self.sonar = factory.create_sonar() self.arm = factory.create_kuka_lbr4p() self.virtual_create = factory.create_virtual_create() # self.virtual_create = factory.create_virtual_create("192.168.1.XXX") self.odometry = odometry.Odometry() self.mapJ = lab8_map.Map("lab8_map.json") self.map = rrt_map.Map("configuration_space.png") self.rrt = rrt.RRT(self.map) self.path = [] self.is_localized = False # TODO identify good PID controller gains self.pd_controller = pd_controller.PDController(1000, 100, -75, 75) self.pdWF = pid_controller.PIDController(200, 50, 0, [0, 0], [-50, 50]) self.pidTheta = pid_controller.PIDController(200, 0, 100, [-10, 10], [-50, 50], is_angle=True) self.pidTheta2 = pid_controller.PIDController(300, 5, 50, [-10, 10], [-200, 200], is_angle=True) self.pidDistance = pid_controller.PIDController(1000, 0, 50, [0, 0], [-200, 200], is_angle=False) # TODO identify good particle filter parameters self.pf = particle_filter.ParticleFilter(self.mapJ, 1000, 0.06, 0.15, 0.2) self.joint_angles = np.zeros(7)