コード例 #1
0
def create_image_proc_launch(filename):
    """
    Creates launch file for image rectification and processing nodes
    """
    template_name = 'image_proc_launch.xml'
    machine_file = faa_utilities.file_tools.machine_launch_file

    # Create dictionary which associates a camera name to its namespace for all
    # cameras which have a calibration
    namespace_dict = faa_introspection.get_camera_namespace_dict()
    camera_list = faa_introspection.get_calibrated_cameras()
    for camera in namespace_dict.keys():
        if not camera in camera_list:
            namespace_dict.pop(camera)

    # Create a list given pairs (camera namespace, computer) on which to launch
    # image_proc nodes.
    camera_assignment = faa_introspection.get_camera_assignment()
    launch_list = []
    for camera, namespace in namespace_dict.iteritems():
        computer = camera_assignment[camera]['computer']
        launch_list.append((namespace,computer))

    # Create xml launch file
    jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir))
    template = jinja2_env.get_template(template_name)
    xml_str = template.render(machine_file=machine_file, launch_list=launch_list)

    with open(filename,'w') as f:
        f.write(xml_str)
コード例 #2
0
def create_image_proc_launch(filename):
    """
    Creates launch file for image rectification and processing nodes
    """
    template_name = 'image_proc_launch.xml'
    machine_file = faa_utilities.file_tools.machine_launch_file

    # Create dictionary which associates a camera name to its namespace for all
    # cameras which have a calibration
    namespace_dict = faa_introspection.get_camera_namespace_dict()
    camera_list = faa_introspection.get_calibrated_cameras()
    for camera in namespace_dict.keys():
        if not camera in camera_list:
            namespace_dict.pop(camera)

    # Create a list given pairs (camera namespace, computer) on which to launch
    # image_proc nodes.
    camera_assignment = faa_introspection.get_camera_assignment()
    launch_list = []
    for camera, namespace in namespace_dict.iteritems():
        computer = camera_assignment[camera]['computer']
        launch_list.append((namespace, computer))

    # Create xml launch file
    jinja2_env = jinja2.Environment(
        loader=jinja2.FileSystemLoader(template_dir))
    template = jinja2_env.get_template(template_name)
    xml_str = template.render(machine_file=machine_file,
                              launch_list=launch_list)

    with open(filename, 'w') as f:
        f.write(xml_str)
コード例 #3
0
                '00305300013f2ef4': {'image_topic': '/faa_master/00305300013f2ef4/camera/image_raw', 'mjpeg_port': 8088, 'mjpeg_server': 'mjpeg_server_00305300013f2ef4'},
                '00305300013f2ef5': {'image_topic': '/faa_master/00305300013f2ef5/camera/image_raw', 'mjpeg_port': 8082, 'mjpeg_server': 'mjpeg_server_00305300013f2ef5'},
                '0030530001410997': {'image_topic': '/faa_slave1/0030530001410997/camera/image_raw', 'mjpeg_port': 8081, 'mjpeg_server': 'mjpeg_server_0030530001410997'},
                '00305300013f2ef8': {'image_topic': '/faa_slave2/00305300013f2ef8/camera/image_raw', 'mjpeg_port': 8084, 'mjpeg_server': 'mjpeg_server_00305300013f2ef8'},
                '00305300013f2ef9': {'image_topic': '/faa_slave2/00305300013f2ef9/camera/image_raw', 'mjpeg_port': 8080, 'mjpeg_server': 'mjpeg_server_00305300013f2ef9'},
                '00305300013f2efb': {'image_topic': '/faa_master/00305300013f2efb/camera/image_raw', 'mjpeg_port': 8090, 'mjpeg_server': 'mjpeg_server_00305300013f2efb'},
                '00305300013f2efa': {'image_topic': '/faa_master/00305300013f2efa/camera/image_raw', 'mjpeg_port': 8087, 'mjpeg_server': 'mjpeg_server_00305300013f2efa'},
                '003053000140e715': {'image_topic': '/faa_slave1/003053000140e715/camera/image_raw', 'mjpeg_port': 8086, 'mjpeg_server': 'mjpeg_server_003053000140e715'},
                '0030530001412079': {'image_topic': '/faa_slave2/0030530001412079/camera/image_raw', 'mjpeg_port': 8091, 'mjpeg_server': 'mjpeg_server_0030530001412079'}
                }
        create_mjpeg_server_launch(filename,mjpeg_info_dict)

    if 0:
        filename = 'camera.launch'
        yaml_directory = './'
        camera_assignment = faa_introspection.get_camera_assignment()
        create_camera_yaml(directory=yaml_directory,camera_assignment=camera_assignment)
        create_camera_launch(filename=filename,camera_assignment=camera_assignment)

    if 0:
        filename = 'camera_calibrator.launch'
        image_topics = [
                '/faa_slave2/camera_10/camera/image_raw',
                '/faa_slave2/camera_12/camera/image_raw',
                '/faa_slave1/camera_9/camera/image_raw',
                '/faa_slave2/camera_7/camera/image_raw',
                '/faa_slave2/camera_5/camera/image_raw',
                '/faa_master/camera_8/camera/image_raw',
                '/faa_master/camera_6/camera/image_raw',
                '/faa_slave1/camera_1/camera/image_raw',
                '/faa_slave1/camera_2/camera/image_raw',
コード例 #4
0
                'image_topic': '/faa_slave1/003053000140e715/camera/image_raw',
                'mjpeg_port': 8086,
                'mjpeg_server': 'mjpeg_server_003053000140e715'
            },
            '0030530001412079': {
                'image_topic': '/faa_slave2/0030530001412079/camera/image_raw',
                'mjpeg_port': 8091,
                'mjpeg_server': 'mjpeg_server_0030530001412079'
            }
        }
        create_mjpeg_server_launch(filename, mjpeg_info_dict)

    if 0:
        filename = 'camera.launch'
        yaml_directory = './'
        camera_assignment = faa_introspection.get_camera_assignment()
        create_camera_yaml(directory=yaml_directory,
                           camera_assignment=camera_assignment)
        create_camera_launch(filename=filename,
                             camera_assignment=camera_assignment)

    if 0:
        filename = 'camera_calibrator.launch'
        image_topics = [
            '/faa_slave2/camera_10/camera/image_raw',
            '/faa_slave2/camera_12/camera/image_raw',
            '/faa_slave1/camera_9/camera/image_raw',
            '/faa_slave2/camera_7/camera/image_raw',
            '/faa_slave2/camera_5/camera/image_raw',
            '/faa_master/camera_8/camera/image_raw',
            '/faa_master/camera_6/camera/image_raw',