Beispiel #1
0
    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.virtual_create = factory.create_virtual_create()
        self.odometry = odometry.Odometry()

        # For Simulation Testing
        # self.p_map = lab8_map.Map("final_map.json")
        # self.map = lab10_map.Map("final_map_config.png")

        # For Physical Testing
        self.p_map = lab8_map.Map("finalproject_map3.json")
        self.map = lab10_map.Map("finalproject_map3_config.png")
        self.path = lab10.Run(factory, self.map)

        # TODO identify good PID controller gains
        self.pidTheta = pid_controller.PIDController(200, 0, 100, [-10, 10], [-50, 50], is_angle=True)
        # TODO identify good particle filter parameters
        self.pf = particle_filter.ParticleFilter(self.p_map, 1000, 0.06, 0.15, 0.2)
        self.joint_angles = np.zeros(7)
Beispiel #2
0
    def __init__(self):
        self.time = time
        self.locationX = 0
        self.locationY = 0
        self.orientation = 0

        self.distance = 0

        #self.probSensorGivenLoc = 0
        self.numParticles = 1000
        self.probLoc = []
        for index in range(0, self.numParticles):
            #self.probLoc.append(math.log(1) - math.log(self.numParticles))
            self.probLoc.append(1/self.numParticles)

        self.realMean = 0
        self.realStd = 0

        self.particleSense = []
        for index in range(0, self.numParticles):
            self.particleSense.append(0)

        self.round = 1
        self.data = []
        self.particlesToUse = []
        self.map = lab10_map.Map("lab10.map")
Beispiel #3
0
    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._map = lab8_map.Map("lab8_map.json")
        # self.map = lab10_map.Map("configuration_space.png")
        self.map = lab10_map.Map("config2.png")
        self.rrt = rrt.RRT(self.map)
        self.min_dist_to_localize = 0.1
        self.min_theta_to_localize = math.pi / 4
        # TODO identify good PID controller gains
        self.pidTheta = pid_controller.PIDController(300,
                                                     5,
                                                     50, [-10, 10],
                                                     [-200, 200],
                                                     is_angle=True)
        # self.pidTheta = pid_controller.PIDController(200, 0, 100, [-10, 10], [-50, 50], is_angle=True)
        # self.pidDistance = pid_controller.PIDController(300, 0, 20, [0, 0], [-200, 200], is_angle=False)
        # TODO identify good particle filter parameters
        self.pf = particle_filter.ParticleFilter(self._map, 5000, 0.06, 0.15,
                                                 0.2)

        _ = self.create.sim_get_position()
        self.my_arm_robot = MyArmRobot(factory.create_kuka_lbr4p(), self.time)

        self.joint_angles = np.zeros(7)
 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.pidTheta = pid_controller.PIDController(300, 5, 50, [-10, 10], [-200, 200], is_angle=True)
     self.map = lab10_map.Map("lab10.png")
     self.rrt = rrt.RRT(self.map)
Beispiel #5
0
 def __init__(self, factory):
     self.create = factory.create_create()
     self.time = factory.create_time_helper()
     self.map = lab10_map.Map("lab10.png")
     self.map.thicker_border = 10
     self.odometry = odometry.Odometry()
     self.pidTheta = pid_controller.PIDController(300,
                                                  5,
                                                  50, [-10, 10],
                                                  [-200, 200],
                                                  is_angle=True)
Beispiel #6
0
    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.map = lab10_map.Map("lab10.map")
        self.pf = particle_filter.ParticleFilter()
        self.odometry = odometry.Odometry()
Beispiel #7
0
 def __init__(self, factory):
     self.create = factory.create_create()
     self.time = factory.create_time_helper()
     self.map = lab10_map.Map("lab10.png")
     self.odometry = odometry.Odometry()
     self.pidTheta = 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)
Beispiel #8
0
    def __init__(self, factory):
        self.create = factory.create_create()
        self.time = factory.create_time_helper()
        self.map = lab10_map.Map("configuration_space.png")
        self.RRTree = RRTree(1, self.map)

        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.pidTheta = pd_controller2.PDController(500, 100, -200, 200, is_angle=True)
        self.pidTheta = 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)
    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.map = lab8_map.Map("lab8_map.json")
        self.map = lab10_map.Map("configuration_space.png")

        self.pidTheta = pid_controller.PIDController(300,
                                                     5,
                                                     50, [-10, 10],
                                                     [-200, 200],
                                                     is_angle=True)
        self.pidDistance = pid_controller.PIDController(300,
                                                        0,
                                                        20, [0, 0],
                                                        [-200, 200],
                                                        is_angle=False)
        # self.pidTheta = pid_controller.PIDController(200, 0, 100, [-10, 10], [-50, 50], is_angle=True)
        self.rrt = rrt.RRT(self.map)

        self.joint_angles = np.zeros(7)

        # the position that the robot returns after localizing
        self.localized_x = 0
        self.localized_y = 0
        self.localized_theta = math.pi / 2