# do not modify these
root: ./
name: simulation
socket_name: mrs
attach: false
tmux_options: -f /etc/ctu-mrs/tmux.conf
# you can modify these
pre_window: export UAV_NAME=uav1; export RUN_TYPE=simulation; export UAV_TYPE=x500
startup_window: status
windows:
  - roscore:
      layout: tiled
      panes:
        - roscore
  - gazebo:
      layout: tiled
      panes:
        - waitForRos; roslaunch mrs_uav_gazebo_simulation simulation.launch world_name:=grass_plane gui:=true
        - waitForGazebo; rosservice call /mrs_drone_spawner/spawn "1 --$UAV_TYPE"
        - waitForControl; gz camera -c gzclient_camera -f $UAV_NAME; history -s gz camera -c gzclient_camera -f $UAV_NAME
  - status:
      layout: tiled
      panes:
        - waitForHw; roslaunch mrs_uav_status status.launch
  - hw_api:
      layout: tiled
      panes:
        - waitForTime; roslaunch mrs_uav_px4_api api.launch
  - core:
      layout: tiled
      panes:
        - waitForHw; roslaunch mrs_uav_core core.launch
          platform_config:=`rospack find mrs_uav_gazebo_simulation`/config/mrs_uav_system/$UAV_TYPE.yaml
          custom_config:=./config/custom_config.yaml
          world_config:=./config/world_config.yaml
          network_config:=./config/network_config.yaml
  - takeoff:
      layout: tiled
      panes:
        - waitForHw; roslaunch mrs_uav_autostart automatic_start.launch
        - 'waitForControl; rosservice call /$UAV_NAME/hw_api/arming 1; sleep 2; rosservice call /$UAV_NAME/hw_api/offboard'
  - goto:
      layout: tiled
      panes:
        - 'history -s rosservice call /$UAV_NAME/control_manager/goto \"goal: \[0.0, 10.0, 1.5, 0.0\]\"' 
  - trajectory:
      layout: tiled
      panes:
        - 'history -s rosservice call /$UAV_NAME/uav_manager/land; 
           history -s rosservice call /$UAV_NAME/control_manager/start_trajectory_tracking;
           history -s ./config/square_path.sh'
  - rviz:
      layout: tiled
      panes:
        - waitForControl; roslaunch mrs_uav_core rviz.launch
        - waitForControl; roslaunch mrs_rviz_plugins load_robot.launch
        - waitForControl; roslaunch mrs_rviz_plugins rviz_interface.launch
  - layout:
      layout: tiled
      panes:
        - waitForControl; sleep 3; ~/.i3/layout_manager.sh ./layout.json
