Esempio n. 1
0
def main(args=None):
    """

    main function

    :return:
    """
    ros_init(args)
    controller = None
    try:
        executor = MultiThreadedExecutor()
        controller = CarlaAdAgent()
        executor.add_node(controller)

        update_timer = controller.new_timer(
            0.05, lambda timer_event=None: controller.run_step())

        controller.spin()

    except (ROSInterruptException, ROSException) as e:
        if ros_ok():
            logwarn("ROS Error during exection: {}".format(e))
    except KeyboardInterrupt:
        loginfo("User requested shut down.")
    finally:
        if controller is not None:
            stopping_speed = Float64()
            stopping_speed.data = 0.0
            controller.speed_command_publisher.publish(stopping_speed)
        ros_shutdown()
Esempio n. 2
0
def main(args=None):
    """

    main function

    :return:
    """
    roscomp.init("local_planner", args=args)

    local_planner = None
    update_timer = None
    try:
        local_planner = LocalPlanner()
        roscomp.on_shutdown(local_planner.emergency_stop)

        update_timer = local_planner.new_timer(
            local_planner.control_time_step,
            lambda timer_event=None: local_planner.run_step())

        local_planner.spin()

    except KeyboardInterrupt:
        pass

    finally:
        roscomp.loginfo('Local planner shutting down.')
        roscomp.shutdown()
Esempio n. 3
0
def main(args=None):
    """

    main function

    :return:
    """
    roscomp.init("ad_agent", args=args)
    controller = None
    try:
        executor = roscomp.executors.MultiThreadedExecutor()
        controller = CarlaAdAgent()
        executor.add_node(controller)

        roscomp.on_shutdown(controller.emergency_stop)

        update_timer = controller.new_timer(
            0.05, lambda timer_event=None: controller.run_step())

        controller.spin()

    except (ROSInterruptException, ROSException) as e:
        if roscomp.ok():
            roscomp.logwarn("ROS Error during exection: {}".format(e))
    except KeyboardInterrupt:
        roscomp.loginfo("User requested shut down.")
    finally:
        roscomp.shutdown()
Esempio n. 4
0
def main(args=None):
    """

    main function

    :return:
    """
    ros_init(args)

    local_planner = None
    update_timer = None
    try:
        local_planner = LocalPlanner()
        if ROS_VERSION == 1:
            local_planner.on_shutdown(local_planner.emergency_stop)

        update_timer = local_planner.new_timer(
            local_planner.control_time_step,
            lambda timer_event=None: local_planner.run_step())

        local_planner.spin()

    except KeyboardInterrupt:
        pass

    finally:
        loginfo('Local planner shutting down.')
        if update_timer:
            if ROS_VERSION == 1:
                update_timer.shutdown()
            else:
                update_timer.destroy()
        if ROS_VERSION == 2:
            local_planner.emergency_stop()
        local_planner.shutdown()
def main(args=None):
    """

    main function

    :return:
    """
    ros_init(args)

    scenario_runner = CarlaRosScenarioRunner()

    if ROS_VERSION == 2:
        spin_thread = threading.Thread(target=scenario_runner.spin,
                                       daemon=True)
        spin_thread.start()

    try:
        scenario_runner.run()
    except KeyboardInterrupt:
        loginfo("User requested shut down.")
    finally:
        if scenario_runner._scenario_runner.is_running():
            scenario_runner.loginfo(
                "Scenario Runner still running. Shutting down.")
            scenario_runner._scenario_runner.shutdown()
        del scenario_runner
        ros_shutdown()
        if ROS_VERSION == 2:
            spin_thread.join()
Esempio n. 6
0
def main(args=None):
    """

    main function

    :return:
    """
    ros_init(args)
    controller = None
    try:
        controller = CarlaAdAgent()
        while ros_ok():
            time.sleep(0.01)
            if ROS_VERSION == 2:
                rclpy.spin_once(controller)
            controller.run_step()
    except (ROSInterruptException, ROSException) as e:
        if ros_ok():
            logwarn("ROS Error during exection: {}".format(e))
    except KeyboardInterrupt:
        loginfo("User requested shut down.")
    finally:
        if controller is not None:
            stopping_speed = Float64()
            stopping_speed.data = 0.0
            controller.speed_command_publisher.publish(stopping_speed)
        ros_shutdown()
Esempio n. 7
0
def main():
    """
    main function
    """
    roscomp.init("set_initial_pose")

    try:
        set_initial_pose_node = SetInitialPose()
        set_initial_pose_node.spin()
    except KeyboardInterrupt:
        roscomp.loginfo("Cancelled by user.")
    finally:
        roscomp.shutdown()
Esempio n. 8
0
def main(args=None):
    """
    main function
    """
    roscomp.init('carla_waypoint_publisher', args)

    waypoint_converter = None
    try:
        waypoint_converter = CarlaToRosWaypointConverter()
        waypoint_converter.spin()
    except (RuntimeError, ROSException):
        pass
    except KeyboardInterrupt:
        roscomp.loginfo("User requested shut down.")
    finally:
        roscomp.loginfo("Shutting down.")
        if waypoint_converter:
            waypoint_converter.destroy()
        roscomp.shutdown()
Esempio n. 9
0
def main(args=None):
    """
    main function
    """
    roscomp.init("manual_control", args=args)

    # resolution should be similar to spawned camera with role-name 'view'
    resolution = {"width": 800, "height": 600}

    pygame.init()
    pygame.font.init()
    pygame.display.set_caption("CARLA ROS manual control")

    try:
        display = pygame.display.set_mode(
            (resolution['width'], resolution['height']),
            pygame.HWSURFACE | pygame.DOUBLEBUF)

        manual_control_node = ManualControl(resolution)
        clock = pygame.time.Clock()

        executor = roscomp.executors.MultiThreadedExecutor()
        executor.add_node(manual_control_node)

        spin_thread = Thread(target=manual_control_node.spin)
        spin_thread.start()

        while roscomp.ok():
            clock.tick_busy_loop(60)
            if manual_control_node.render(clock, display):
                return
            pygame.display.flip()
    except KeyboardInterrupt:
        roscomp.loginfo("User requested shut down.")
    finally:
        roscomp.shutdown()
        spin_thread.join()
        pygame.quit()
def main(args=None):
    """
    main function
    """
    ros_init(args)

    waypoint_converter = None
    try:
        waypoint_converter = CarlaToRosWaypointConverter()
        if ROS_VERSION == 1:
            waypoint_converter.spin()
        else:
            spin_thread = threading.Thread(target=waypoint_converter.spin)
            spin_thread.start()
            spin_thread.join()
    except (RuntimeError, ROSException):
        pass
    except KeyboardInterrupt:
        loginfo("User requested shut down.")
    finally:
        loginfo("Shutting down.")
        if waypoint_converter:
            waypoint_converter.destroy()
        ros_shutdown()