def main(): logger.info("Starting robot") session = Session() update_delay = 1.0 / general_config.update_rate_hz try: session.start() while True: session.update() time.sleep(update_delay) except (LowBatteryException, ShutdownException) as e: logger.error(str(e), exc_info=True) shutdown(session) except RebootException as e: logger.error(str(e), exc_info=True) reboot(session) except (RelaunchException, DeviceRestartException) as e: logger.error(str(e), exc_info=True) relaunch(session) except BaseException as e: logger.error(str(e), exc_info=True) close(session)