Configuration Files

User specified Global Configurations

Example global configuration file

leader_pid: 1
mutex_handler: BaseMutexHandler
udp_bcast_ip: 127.255.255.255
udp_port: 61820
agents:
    - pid: 0
      on_device: drone0
      motion_automaton: MoatTestDrone
    - pid: 1
      on_device: drone1
      motion_automaton: MoatTestDrone
    - pid: 2
      on_device: drone2
      motion_automaton: MoatTestDrone
    - pid: 3
      on_device: hotdec_car
      motion_automaton: MoatTestCar
      
devices:
    hotdec_car:
      bot_type: CAR
      ip: 127.0.1.0
      ros_node_prefix: 'waypoint_node'
      queue_size: 1
      motion: &cym_moat_car  # Set anchor for reusing
        waypoint_topic:
            topic: 'waypoint'
            type: PoseStamped  # geometry_msgs/PoseStamped
        reached_topic:
            topic: 'reached'
            type: String  # std_msgs/String
        positioning_topic:
            topic:  '/vrpn_client_node/'  # TODO '"/vrpn_client_node/" + vicon_obj + "/pose"'
            type: PoseStamped  # geometry_msgs/PoseStamped
        planner: SimplePlanner
        motion_automata: [MoatTestCar]

    f1car:
      bot_type: CAR
      ip: 127.0.1.1
      motion: *cym_moat_car  # Reuse car motion configs

    drone0:
      bot_type: QUAD
      ip: 127.0.2.0
      motion: &cym_moat_drone  # Set anchor for reusing
        ros_node_prefix: 'waypoint_node'
        queue_size: 1
        waypoint_topic:
            topic: 'waypoint'
            type: PoseStamped  # geometry_msgs/PoseStamped
        reached_topic:
            topic: 'reached'
            type: String  # std_msgs/String
        positioning_topic:
            topic:  '/vrpn_client_node/'  # TODO '"/vrpn_client_node/" + vicon_obj + "/pose"'
            type: PoseStamped  # geometry_msgs/PoseStamped
        planner: SimplePlanner
        motion_automata: [MoatTestDrone]

    drone1:
      bot_type: QUAD
      ip: 127.0.2.1
      motion: *cym_moat_drone  # Reuse car motion configs

    drone2:
      bot_type: QUAD
      ip: 127.0.2.2
      motion: *cym_moat_drone

Auto-generated Agent Local Configurations

Example local configuration file for one of the agents.

agent:
  motion_automaton: MoatTestDrone
  on_device: drone1
  pid: 1
device:
  bot_name: drone1
  bot_type: QUAD
  ip: 127.0.2.1
  motion_automata: [MoatTestDrone]
  planner: SimplePlanner
  port: 61820
  positioning_topic: {topic: /vrpn_client_node/, type: PoseStamped}
  queue_size: 1
  reached_topic: {topic: reached, type: String}
  ros_node_prefix: drone1/waypoint_node
  waypoint_topic: {topic: waypoint, type: PoseStamped}
leader_pid: 1
mutex_handler: BaseMutexHandler
num_agents: 4
udp_bcast_ip: 127.255.255.255
udp_port: 61820

Todo

Include usage of gen_local_config script to generate a local config from the global config