Example #1
0
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)