Example #1
0
    def updateRadar(self):
        # Taken from testDrawRadarOnMap.py
        fren = self.iren.GetRenderWindow().GetRenderers().GetFirstRenderer()
        t = self.start + self.step * self.count
        radar_data = loadRDR(self.rdr_pts[t])[0]

        if radar_data.shape[0] > 0:
            #Convert from radar to lidar ref-frame
            radar_data[:, :3] = calibrateRadarPts(radar_data[:, :3],
                                                  self.radar_params)

            #Convert from lidar to IMU ref-frame
            radar_data[:, :3] = np.dot(
                self.lidar_params['T_from_l_to_i'][:3, :3],
                radar_data[:, :3].transpose()).transpose()

            h_radar_data = np.hstack(
                (radar_data[:, :3], np.ones((radar_data.shape[0], 1))))

            radar_data[:, :3] = np.dot(
                self.imu_transforms[t],
                h_radar_data.transpose()).transpose()[:, :3]

            for i in xrange(len(self.radar_actors)):
                fren.RemoveActor(self.radar_actors[i])

            self.radar_actors = []
            self.radar_clouds = []

            for i in xrange(radar_data.shape[0]):
                self.radar_clouds.append(VtkBoundingBox(radar_data[i, :]))
                (ax, ay, az) = euler_from_matrix(self.imu_transforms[t])
                box = self.radar_clouds[i].get_vtk_box(rot=az * 180 / np.pi)
                self.radar_actors.append(box)
                fren.AddActor(self.radar_actors[i])
Example #2
0
    def updateRadar(self):
        # Taken from testDrawRadarOnMap.py
        fren = self.iren.GetRenderWindow().GetRenderers().GetFirstRenderer()
        t = self.start + self.step * self.count
        radar_data = loadRDR(self.rdr_pts[t])[0]

        if radar_data.shape[0] > 0:
            #Convert from radar to lidar ref-frame
            radar_data[:, :3] = calibrateRadarPts(radar_data[:, :3], self.radar_params)

            #Convert from lidar to IMU ref-frame
            radar_data[:, :3] = np.dot(self.lidar_params['T_from_l_to_i'][:3, :3],
                radar_data[:, :3].transpose()).transpose()

            h_radar_data = np.hstack((radar_data[:, :3], np.ones((radar_data.shape[0], 1))))

            radar_data[:, :3] = np.dot(self.imu_transforms[t],
                h_radar_data.transpose()).transpose()[:, :3]

            for i in xrange(len(self.radar_actors)):
                fren.RemoveActor(self.radar_actors[i])

            self.radar_actors = []
            self.radar_clouds = []

            for i in xrange(radar_data.shape[0]):
                self.radar_clouds.append(VtkBoundingBox(radar_data[i, :]))
                (ax, ay, az) = euler_from_matrix(self.imu_transforms[t])
                box = self.radar_clouds[i].get_vtk_box(rot=az*180/np.pi)
                self.radar_actors.append(box)
                fren.AddActor(self.radar_actors[i])
                radar_data = []
                json_name = 'radar.json'
                json_radar_name = driverseat_run + json_name
                zip_radar_name = json_radar_name + '.zip'
                print driverseat_run
                if not os.path.isfile(json_radar_name):
                    print '\tExporting ' + json_name
                    radar_times = [
                        int(f.split('/')[-1][:-4])
                        for f in sorted(glob.glob(radar_folder + '*'))
                    ]
                    for i in xrange(0, gps_times_mk2.shape[0], sub_samp):
                        radar_idx = mk2_to_radar(i, radar_times, gps_times_mk2)
                        time = radar_times[radar_idx]
                        radar_file = radar_folder + str(time) + '.rdr'
                        rdr = loadRDR(radar_file)
                        data = {
                            time: {
                                'O': rdr[0].tolist(),
                                'T': rdr[1].tolist()
                            }
                        }
                        radar_data.append(data)
                    json.dump(radar_data, open(json_radar_name, 'w'))

                if not os.path.isfile(zip_radar_name):
                    print '\tZipping...'
                    data = '\n'.join(
                        [x for x in open(json_radar_name, 'r').readlines()])
                    json_zip = ZipFile(zip_radar_name, 'w', ZIP_DEFLATED)
                    json_zip.writestr(json_name, data)
                                                               run, 'mark1')
                _, gps_times_mk2 = get_transforms(remote_run, run, 'mark2')
                radar_data = []
                json_name = 'radar.json'
                json_radar_name = driverseat_run + json_name
                zip_radar_name = json_radar_name + '.zip'
                print driverseat_run
                if not os.path.isfile(json_radar_name):
                    print '\tExporting ' + json_name
                    radar_times = [int(f.split('/')[-1][:-4]) for
                                   f in sorted(glob.glob(radar_folder + '*'))]
                    for i in xrange(0, gps_times_mk2.shape[0], sub_samp):
                        radar_idx = mk2_to_radar(i, radar_times, gps_times_mk2)
                        time = radar_times[radar_idx]
                        radar_file = radar_folder + str(time) + '.rdr'
                        rdr = loadRDR(radar_file)
                        data = {time:{'O':rdr[0].tolist(), 'T':rdr[1].tolist()}}
                        radar_data.append(data)
                    json.dump(radar_data, open(json_radar_name, 'w'))

                if not os.path.isfile(zip_radar_name):
                    print '\tZipping...'
                    data = '\n'.join([x for x in open(json_radar_name,
                                                      'r').readlines()])
                    json_zip = ZipFile(zip_radar_name, 'w', ZIP_DEFLATED)
                    json_zip.writestr(json_name, data)
                    json_zip.close()

            configurator.set('radar_json', True)

        if configurator.config['gps_json'] == False: