|
| 1 | +description: "Run the yielding trajectory planner on the real vehicle with real perception" |
| 2 | +mode: hardware |
| 3 | +vehicle_interface: gem_hardware.GEMHardwareInterface |
| 4 | +mission_execution: StandardExecutor |
| 5 | + |
| 6 | +# Recovery behavior after a component failure |
| 7 | +recovery: |
| 8 | + planning: |
| 9 | + trajectory_tracking : recovery.StopTrajectoryTracker |
| 10 | + |
| 11 | +# Driving behavior for the GEM vehicle. Runs real pedestrian perception, yield planner, but does not send commands to real vehicle. |
| 12 | +drive: |
| 13 | + |
| 14 | + perception: |
| 15 | + state_estimation: GNSSStateEstimator |
| 16 | + agent_detection: |
| 17 | + type: pedestrian_detection.PedestrianDetector3D |
| 18 | + args: |
| 19 | + camera_name: front #[front, front_right] |
| 20 | + camera_calib_file: ./GEMstack/knowledge/calibration/gem_e4_perception_cameras.yaml |
| 21 | + |
| 22 | + enable_tracking: True # True if you want to enable tracking |
| 23 | + visualize_2d: False # True to see 2D detection visualization |
| 24 | + use_cyl_roi: False # True to use a cylinder ROI |
| 25 | + save_data: False # True to save sensor input data |
| 26 | + orientation: False # True to detect flipped cones |
| 27 | + use_start_frame: True # True to output in START frame |
| 28 | + |
| 29 | + perception_normalization: StandardPerceptionNormalizer |
| 30 | + planning: |
| 31 | + relations_estimation: |
| 32 | + type: pedestrian_yield_logic.PedestrianYielder |
| 33 | + args: |
| 34 | + mode: 'real' |
| 35 | + params: { |
| 36 | + 'yielder': 'expert', # 'expert', 'analytic', or 'simulation' |
| 37 | + 'planner': 'milestone', # 'milestone', 'dt', or 'dx' |
| 38 | + 'desired_speed': 1.0, # m/s, 1.5 m/s seems max speed? Feb24 |
| 39 | + 'acceleration': 0.75 # m/s2, 0.5 is not enough to start moving. Feb24 |
| 40 | + } |
| 41 | + route_planning: |
| 42 | + type: StaticRoutePlanner |
| 43 | + args: [!relative_path '../GEMstack/knowledge/routes/forward_15m.csv','start'] |
| 44 | + motion_planning: longitudinal_planning.YieldTrajectoryPlanner |
| 45 | + trajectory_tracking: |
| 46 | + type: pure_pursuit.PurePursuitTrajectoryTracker |
| 47 | + print: False |
| 48 | + |
| 49 | + |
| 50 | +log: |
| 51 | + # Specify the top-level folder to save the log files. Default is 'logs' |
| 52 | + #folder : 'logs' |
| 53 | + # If prefix is specified, then the log folder will be named with the prefix followed by the date and time. Default no prefix |
| 54 | + #prefix : 'fixed_route_' |
| 55 | + # If suffix is specified, then logs will output to folder/prefix+suffix. Default uses date and time as the suffix |
| 56 | + #suffix : 'test3' |
| 57 | + # Specify which ros topics to record to vehicle.bag. Default records nothing. This records the "standard" ROS topics. |
| 58 | + ros_topics : |
| 59 | + # Specify options to pass to rosbag record. Default is no options. |
| 60 | + #rosbag_options : '--split --size=1024' |
| 61 | + # If True, then record all readings / commands of the vehicle interface. Default False |
| 62 | + vehicle_interface : True |
| 63 | + # Specify which components to record to behavior.json. Default records nothing |
| 64 | + components : ['state_estimation','agent_detection','motion_planning'] |
| 65 | + # Specify which components of state to record to state.json. Default records nothing |
| 66 | + #state: ['all'] |
| 67 | + # Specify the rate in Hz at which to record state to state.json. Default records at the pipeline's rate |
| 68 | + #state_rate: 10 |
| 69 | + # If True, then make plots of the recorded data specifically from PurePursuitTrajectoryTracker_debug.csv and report metrics. Default False |
| 70 | + #auto_plot : True |
| 71 | +replay: # Add items here to set certain topics / inputs to be replayed from logs |
| 72 | + # Specify which log folder to replay from |
| 73 | + log: |
| 74 | + ros_topics : [] |
| 75 | + components : [] |
| 76 | + |
| 77 | +#usually can keep this constant |
| 78 | +computation_graph: !include "../GEMstack/knowledge/defaults/computation_graph.yaml" |
| 79 | + |
| 80 | +variants: |
| 81 | + detector_only: |
| 82 | + run: |
| 83 | + description: "Run the pedestrian detection code" |
| 84 | + drive: |
| 85 | + planning: |
| 86 | + trajectory_tracking: |
| 87 | + real_sim: |
| 88 | + run: |
| 89 | + description: "Run the pedestrian detection code with real detection and fake simulation" |
| 90 | + mode: hardware |
| 91 | + vehicle_interface: |
| 92 | + type: gem_mixed.GEMRealSensorsWithSimMotionInterface |
| 93 | + args: |
| 94 | + scene: !relative_path '../scenes/xyhead_demo.yaml' |
| 95 | + mission_execution: StandardExecutor |
| 96 | + require_engaged: False |
| 97 | + visualization: !include "klampt_visualization.yaml" |
| 98 | + drive: |
| 99 | + perception: |
| 100 | + state_estimation : OmniscientStateEstimator |
| 101 | + planning: |
| 102 | + relations_estimation: |
| 103 | + type: pedestrian_yield_logic.PedestrianYielder |
| 104 | + args: |
| 105 | + mode: 'sim' |
| 106 | + |
| 107 | + fake_real: |
| 108 | + run: |
| 109 | + description: "Run the yielding trajectory planner on the real vehicle with faked perception" |
| 110 | + drive: |
| 111 | + perception: |
| 112 | + agent_detection : pedestrian_detection.FakePedestrianDetector2D |
| 113 | + |
| 114 | + fake_sim: |
| 115 | + run: |
| 116 | + description: "Run the yielding trajectory planner in simulation with faked perception" |
| 117 | + mode: simulation |
| 118 | + vehicle_interface: |
| 119 | + type: gem_simulator.GEMDoubleIntegratorSimulationInterface |
| 120 | + args: |
| 121 | + scene: !relative_path '../scenes/xyhead_demo.yaml' |
| 122 | + visualization: !include "klampt_visualization.yaml" |
| 123 | + drive: |
| 124 | + perception: |
| 125 | + # agent_detection : pedestrian_detection.FakePedestrianDetector2D |
| 126 | + agent_detection : OmniscientAgentDetector #this option reads agents from the simulator |
| 127 | + state_estimation : OmniscientStateEstimator |
| 128 | + planning: |
| 129 | + relations_estimation: |
| 130 | + type: pedestrian_yield_logic.PedestrianYielder |
| 131 | + args: |
| 132 | + mode: 'sim' |
0 commit comments