openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 200 supported car makes and models.
You can not select more than 25 topicsTopics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Route is a class for conviently accessing all the logs from your routes. The LogReader class reads the non-video logs, i.e. rlog.bz2 and qlog.bz2. There's also a matching FrameReader class for reading the videos.
fromtools.lib.routeimportRoutefromtools.lib.logreaderimportLogReaderr=Route("4cf7a6ad03080c90|2021-09-29--13-46-36")# get a list of paths for the route's rlog filesprint(r.log_paths())# and road camera (fcamera.hevc) filesprint(r.camera_paths())# setup a LogReader to read the route's first rloglr=LogReader(r.log_paths()[0])# print out all the messages in the logimportcodecscodecs.register_error("strict",codecs.backslashreplace_errors)formsginlr:print(msg)# setup a LogReader for the route's second qloglr=LogReader(r.log_paths()[1])# print all the steering angles values from the logformsginlr:ifmsg.which()=="carState":print(msg.carState.steeringAngleDeg)
MultiLogIterator
MultiLogIterator is similar to LogReader, but reads multiple logs.
fromtools.lib.routeimportRoutefromtools.lib.logreaderimportMultiLogIterator# setup a MultiLogIterator to read all the logs in the router=Route("4cf7a6ad03080c90|2021-09-29--13-46-36")lr=MultiLogIterator(r.log_paths())# print all the steering angles values from all the logs in the routeformsginlr:ifmsg.which()=="carState":print(msg.carState.steeringAngleDeg)