2019-02-21 19:13:48 +08:00
|
|
|
#!/usr/bin/env python
|
|
|
|
|
2019-03-29 17:58:05 +08:00
|
|
|
# Copyright (c) 2019 Computer Vision Center (CVC) at the Universitat Autonoma de
|
2019-02-21 19:13:48 +08:00
|
|
|
# Barcelona (UAB).
|
|
|
|
#
|
|
|
|
# This work is licensed under the terms of the MIT license.
|
|
|
|
# For a copy, see <https://opensource.org/licenses/MIT>.
|
|
|
|
|
|
|
|
import glob
|
|
|
|
import os
|
|
|
|
import sys
|
|
|
|
|
|
|
|
try:
|
2019-03-29 02:15:13 +08:00
|
|
|
sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
|
2019-02-21 19:13:48 +08:00
|
|
|
sys.version_info.major,
|
|
|
|
sys.version_info.minor,
|
|
|
|
'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
|
|
|
|
except IndexError:
|
|
|
|
pass
|
|
|
|
|
|
|
|
import carla
|
|
|
|
|
|
|
|
import argparse
|
|
|
|
|
|
|
|
|
|
|
|
def main():
|
|
|
|
|
|
|
|
argparser = argparse.ArgumentParser(
|
|
|
|
description=__doc__)
|
|
|
|
argparser.add_argument(
|
|
|
|
'--host',
|
|
|
|
metavar='H',
|
|
|
|
default='127.0.0.1',
|
|
|
|
help='IP of the host server (default: 127.0.0.1)')
|
|
|
|
argparser.add_argument(
|
|
|
|
'-p', '--port',
|
|
|
|
metavar='P',
|
|
|
|
default=2000,
|
|
|
|
type=int,
|
|
|
|
help='TCP port to listen to (default: 2000)')
|
|
|
|
argparser.add_argument(
|
|
|
|
'-s', '--start',
|
|
|
|
metavar='S',
|
|
|
|
default=0.0,
|
|
|
|
type=float,
|
|
|
|
help='starting time (default: 0.0)')
|
|
|
|
argparser.add_argument(
|
|
|
|
'-d', '--duration',
|
|
|
|
metavar='D',
|
|
|
|
default=0.0,
|
|
|
|
type=float,
|
|
|
|
help='duration (default: 0.0)')
|
|
|
|
argparser.add_argument(
|
|
|
|
'-f', '--recorder_filename',
|
|
|
|
metavar='F',
|
2019-02-28 19:37:02 +08:00
|
|
|
default="test1.log",
|
|
|
|
help='recorder filename (test1.log)')
|
2019-02-21 19:13:48 +08:00
|
|
|
argparser.add_argument(
|
|
|
|
'-c', '--camera',
|
|
|
|
metavar='C',
|
|
|
|
default=0,
|
|
|
|
type=int,
|
|
|
|
help='camera follows an actor (ex: 82)')
|
2019-03-06 01:01:17 +08:00
|
|
|
argparser.add_argument(
|
2019-04-11 22:01:12 +08:00
|
|
|
'-x', '--time_factor',
|
2019-03-06 01:01:17 +08:00
|
|
|
metavar='X',
|
|
|
|
default=1.0,
|
|
|
|
type=float,
|
2019-04-11 22:01:12 +08:00
|
|
|
help='time factor (default 1.0)')
|
2019-06-26 16:28:53 +08:00
|
|
|
argparser.add_argument(
|
|
|
|
'-i', '--ignore_hero',
|
|
|
|
action='store_true',
|
|
|
|
help='ignore hero vehicles')
|
2019-02-21 19:13:48 +08:00
|
|
|
args = argparser.parse_args()
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
|
|
|
client = carla.Client(args.host, args.port)
|
|
|
|
client.set_timeout(60.0)
|
|
|
|
|
2019-06-26 16:28:53 +08:00
|
|
|
# set the time factor for the replayer
|
2019-04-11 22:01:12 +08:00
|
|
|
client.set_replayer_time_factor(args.time_factor)
|
2019-06-26 16:28:53 +08:00
|
|
|
|
|
|
|
# set to ignore the hero vehicles or not
|
|
|
|
client.set_replayer_ignore_hero(args.ignore_hero)
|
|
|
|
|
|
|
|
# replay the session
|
2019-02-28 19:37:02 +08:00
|
|
|
print(client.replay_file(args.recorder_filename, args.start, args.duration, args.camera))
|
2019-02-21 19:13:48 +08:00
|
|
|
|
|
|
|
finally:
|
|
|
|
pass
|
|
|
|
|
2019-03-19 19:20:59 +08:00
|
|
|
|
2019-02-21 19:13:48 +08:00
|
|
|
if __name__ == '__main__':
|
|
|
|
|
|
|
|
try:
|
|
|
|
main()
|
|
|
|
except KeyboardInterrupt:
|
|
|
|
pass
|
|
|
|
finally:
|
|
|
|
print('\ndone.')
|