コード例 #1
0
    def __init__(self):
        self.path_planner = PathPlanner()

        # will need a map:
        map_maker = MapMaker()
        map_maker.set_map()
        map_maker.calibrate_map()
        lowres_map = map_maker.get_lowres_map()
        self.path_planner.set_map(lowres_map)
コード例 #2
0
    def setUp(self):
        self.path_planner = PathPlanner()
        # will need a map:
        map_maker = MapMaker()
        map_maker.set_map()
        map_maker.calibrate_map()
        lowres_map = map_maker.get_lowres_map()

        self.path_planner.set_map(lowres_map)
        self.path_planner.set_start_node()
        self.path_planner.set_end_node()
コード例 #3
0
class RoboSys:
    def __init__(self):
        #self.listener = KinectSubscriber()
        self.map_maker = MapMaker()
        #self.map_maker.set_map()
        #self.map_data = self.map_maker.get_lowres_map()
        self.path_planner = PathPlanner()
        #self.marker_detector = MarkerDetector()
        #self.rgb_data = []

    def signal_handler(self, signal, frame):
        global run
        run = False
        print("Shutting down")
        cv2.destroyAllWindows()

    def run(self):
        #rospy.init_node('KinectSubscriber', anonymous=True)
        #signal.signal(signal.SIGINT, self.signal_handler)

        #while(run):
        #self.map_data = self.listener.get_map_data()
        #self.rgb_data = self.listener.get_rgb_data()

        #self.marker_detector.detect_markers(self.rgb_data)

        # cv2.imshow("RGB Image Window", detected)
        # cv2.waitKey(3)

        self.map_maker.set_map(
        )  # setting to default map in map_maker, can pass other map live
        lowres_map = self.map_maker.get_lowres_map()

        self.path_planner.set_map(lowres_map)
        self.path_planner.set_start_node()  # setting to default
        self.path_planner.set_end_node()  # setting to default

        self.path_planner.run()
コード例 #4
0
 def __init__(self):
     #self.listener = KinectSubscriber()
     self.map_maker = MapMaker()
     #self.map_maker.set_map()
     #self.map_data = self.map_maker.get_lowres_map()
     self.path_planner = PathPlanner()
コード例 #5
0
ファイル: dashboard.py プロジェクト: orlof/offroad
def main_loop():
    global pitch, roll, speed, gps_east, gps_north, man_east, man_north, bearing, azimuth, altitude

    screen = pygame.display.set_mode(SCREEN_RESOLUTION, pygame.FULLSCREEN)
    pygame.mouse.set_cursor((8, 8), (0, 0), (0, 0, 0, 0, 0, 0, 0, 0),
                            (0, 0, 0, 0, 0, 0, 0, 0))
    # pygame.mouse.set_visible(False)

    clock = pygame.time.Clock()

    side = AngleMeter("images/side_profile.png", (0, 0, 300, 300))
    back = AngleMeter("images/back_profile.png", (0, 300, 300, 300),
                      ratio=side.ratio)
    speedometer = SpeedoMeter((0, 600, 300, 100), fmt="%4s")
    altimeter = SpeedoMeter((0, 700, 300, 100), fmt="%4s")
    # magnetometer = Compass("images/compass.png", (0, 200, 200, 200))
    map = MapMaker((300, 0, 980, 800))
    map_level = 4

    mouse_sx = mouse_sy = 0
    drag = mouse_dn = False
    centered = True

    while True:
        clock.tick(20)

        for event in pygame.event.get():
            if event.type is pygame.QUIT:
                return

            if event.type is pygame.KEYDOWN and event.key == ord(
                    "+") and map_level < 10:
                map_level += 1
            if event.type is pygame.KEYDOWN and event.key == ord(
                    "-") and map_level > 2:
                map_level -= 1

            if event.type is pygame.MOUSEMOTION and mouse_dn:
                if centered:
                    man_east = gps_east
                    man_north = gps_north
                centered = False
                drag = True

                x, y = pygame.mouse.get_pos()
                de, dn = map.delta_px_to_TM35FIN(x - mouse_sx, y - mouse_sy,
                                                 map_level)
                man_east -= de
                man_north += dn
                mouse_sx = x
                mouse_sy = y

            if event.type is pygame.MOUSEBUTTONDOWN:
                mouse_dn = True
                mouse_sx, mouse_sy = pygame.mouse.get_pos()
            if event.type is pygame.MOUSEBUTTONUP:
                mouse_dn = False
                if not drag:
                    x, y = pygame.mouse.get_pos()
                    if abs(x - mouse_sx) < 10 and abs(y - mouse_sy) < 10:
                        if x < 30 and y < 30:
                            return
                        elif y < SCREEN_RESOLUTION[1] / 4:
                            if map_level > 2:
                                map_level -= 1
                        elif y > 3 * SCREEN_RESOLUTION[1] / 4:
                            if map_level < 10:
                                map_level += 1
                        else:
                            centered = True

                drag = False

        key_pressed = pygame.key.get_pressed()

        if key_pressed[pygame.K_ESCAPE]:
            return

        if key_pressed[pygame.K_c]:
            centered = True

        if key_pressed[pygame.K_DOWN]:
            if pygame.key.get_mods() & pygame.KMOD_SHIFT:
                pitch -= 1
            else:
                if centered:
                    man_east = gps_east
                    man_north = gps_north
                centered = False
                man_north -= map.get_step(map_level)

        if key_pressed[pygame.K_UP]:
            if pygame.key.get_mods() & pygame.KMOD_SHIFT:
                pitch += 1
            else:
                if centered:
                    man_east = gps_east
                    man_north = gps_north
                centered = False
                man_north += map.get_step(map_level)

        if key_pressed[pygame.K_LEFT]:
            if pygame.key.get_mods() & pygame.KMOD_SHIFT:
                roll -= 1
            else:
                if centered:
                    man_east = gps_east
                    man_north = gps_north
                centered = False
                man_east -= map.get_step(map_level)

        if key_pressed[pygame.K_RIGHT]:
            if pygame.key.get_mods() & pygame.KMOD_SHIFT:
                roll += 1
            else:
                if centered:
                    man_east = gps_east
                    man_north = gps_north
                centered = False
                man_east += map.get_step(map_level)

        if key_pressed[pygame.K_w]:
            speed += 1
        if key_pressed[pygame.K_s]:
            speed -= 1

        if key_pressed[pygame.K_a]:
            azimuth += 1
        if key_pressed[pygame.K_d]:
            azimuth -= 1

        if key_pressed[pygame.K_q]:
            bearing += 1
        if key_pressed[pygame.K_e]:
            bearing -= 1

        screen.fill((0, 0, 0))
        side.draw(screen, pitch,
                  side.bg_color if -50 < pitch < 50 else side.warn_color)
        back.draw(screen, -roll,
                  back.bg_color if -35 < roll < 35 else back.warn_color)
        speedometer.draw(
            screen, speed,
            speedometer.bg_color if speed < 80 else speedometer.warn_color)
        altimeter.draw(screen, altitude, altimeter.bg_color)
        # magnetometer.draw(screen, (azimuth, (255, 0, 0)), (bearing, (0, 0, 255)))

        if centered:
            map.draw(screen, gps_east, gps_north, map_level)
        else:
            map.draw(screen, man_east, man_north, map_level)

        map.draw_fov(screen, azimuth, (255, 0, 0))
        map.draw_fov(screen, bearing, (0, 0, 255))
        # gps_bearing.draw(screen, bearing)

        pygame.display.flip()
コード例 #6
0
 def __init__(self):
     self.listener = KinectSubscriber()
     self.map_maker = MapMaker()
     self.marker_detector = MarkerDetector()
     self.map_data = []
     self.rgb_data = []
コード例 #7
0
def create_image(parent_dir, pid, savefile):
    sourcedir = parent_dir + '/SegT2/Outputs/'
    bg = sourcedir + 'T2_Bias_Corrected/' + (
        os.listdir(sourcedir + 'T2_Bias_Corrected/')[0])
    mskdir = sourcedir + 'T2_Tissue_Classes/'
    image = MapMaker(bg)
    image.add_overlay(mskdir + '3/csf.nii.gz',
                      0.05,
                      1,
                      colormaps.csf(),
                      alpha=0.7)
    image.add_overlay(mskdir + '2/cortex.nii.gz',
                      0.05,
                      1,
                      colormaps.cortex(),
                      alpha=0.7)
    image.add_overlay(mskdir + '0/brainstem.nii.gz',
                      0.05,
                      1,
                      colormaps.brainstem(),
                      alpha=0.7)
    image.add_overlay(mskdir + '1/cerebellum.nii.gz',
                      0.05,
                      1,
                      colormaps.cerebellum(),
                      alpha=0.7)
    image.add_overlay(mskdir + '4/dgm.nii.gz',
                      0.05,
                      1,
                      colormaps.dgm(),
                      alpha=0.7)
    image.add_overlay(mskdir + '5/wm.nii.gz',
                      0.05,
                      1,
                      colormaps.wm(),
                      alpha=0.7)
    image.save_strip_center(savefile + '.png', 20)
コード例 #8
0
# FYI: exitCode=1 in javascript is probably a syntax error.
from map_maker import MapMaker
import sys, json, traceback
import time
import bridge
import util

# /var/folders/yl/31853pjx2lj80f8z5cqsbdww0000gn/T/upload_d041886e18e780a07ed751a46ee8183a
coverage_physical_path = sys.argv[1]

# 2016-10-08-01-01-01_pilot01_6166_occupancy.pgm
coverage_alias = sys.argv[2]

try:

    maker = MapMaker(coverage_physical_path)

    maker.grey_to_white()
    maker.flip()
    maker.scale(3)

    util.save(maker.getImg(), coverage_physical_path, coverage_alias,
              'coverage')

except:
    e_type, value, tb = sys.exc_info()
    stack = ''.join(traceback.format_tb(tb))
    bridge.error('Unhandled exception" %s\nDescription: %s\nStack: %s' %
                 (e_type, value, stack))
コード例 #9
0
ファイル: fast_thresh.py プロジェクト: yangguany/NeBSS
def create_image(outputs_dir, struct_t2, mask, savefile):
    discrete = colormaps.custom_discrete("albert", get_albert_colors())
    image = MapMaker(struct_t2)
    image.add_overlay(mask, 0.01, 'max', discrete, alpha=0.8)
    image.save_strip_center(savefile, 19)
コード例 #10
0
        current_angle = 0
        print(current_coord)

        while len(self.path) > 1:
            message, current_coord, current_angle = self.get_action(
                current_coord, current_angle, test=True)
            print(message + " STEPS LEFT:{}".format(len(self.path)))

        return


if __name__ == '__main__':
    path_planner = PathPlanner()

    # will need a map:
    map_maker = MapMaker()
    map_maker.set_map()
    map_maker.calibrate_map()
    lowres_map = map_maker.get_lowres_map()

    path_planner.set_map(lowres_map)
    # path_planner.set_start_node()
    # path_planner.set_end_node()
    # path_planner.set_targets()

    # path_planner.run()
    # path_planner.debug()
    # path_planner.test_action()
    path_planner.test_rover_movement()

    # path_planner.ser.close()