|
| 1 | +description: "Drive the GEM vehicle along a fixed route (currently xyhead_highbay_backlot_p.csv)" |
| 2 | +mode: hardware |
| 3 | +vehicle_interface: gem_hardware.GEMHardwareInterface |
| 4 | +mission_execution: StandardExecutor |
| 5 | +# require_engaged: False |
| 6 | +# Recovery behavior after a component failure |
| 7 | +recovery: |
| 8 | + planning: |
| 9 | + trajectory_tracking: |
| 10 | + type: recovery.StopTrajectoryTracker |
| 11 | + print: False |
| 12 | +# Driving behavior for the GEM vehicle following a fixed route |
| 13 | +drive: |
| 14 | + perception: |
| 15 | + state_estimation : GNSSStateEstimator |
| 16 | + perception_normalization : StandardPerceptionNormalizer |
| 17 | + planning: |
| 18 | + parking_component: |
| 19 | + type: ParkingSim |
| 20 | + route_planning_component: |
| 21 | + type: RoutePlanningComponent |
| 22 | + motion_planning: longitudinal_planning.YieldTrajectoryPlanner |
| 23 | + # type: RouteToTrajectoryPlanner |
| 24 | + # args: [null] #desired speed in m/s. If null, this will keep the route untimed for the trajectory tracker |
| 25 | + trajectory_tracking: |
| 26 | + type: pure_pursuit.PurePursuitTrajectoryTracker |
| 27 | + # args: [null] |
| 28 | + # args: {desired_speed: 2.5} #approximately 5mph |
| 29 | + print: False |
| 30 | + |
| 31 | +log: |
| 32 | + # Specify the top-level folder to save the log files. Default is 'logs' |
| 33 | + #folder : 'logs' |
| 34 | + # If prefix is specified, then the log folder will be named with the prefix followed by the date and time. Default no prefix |
| 35 | + #prefix : 'fixed_route_' |
| 36 | + # If suffix is specified, then logs will output to folder/prefix+suffix. Default uses date and time as the suffix |
| 37 | + #suffix : 'test3' |
| 38 | + # Specify which ros topics to record to vehicle.bag. Default records nothing. This records the "standard" ROS topics. |
| 39 | + ros_topics : ['/septentrio_gnss/insnavgeod','/pacmod/parsed_tx/vehicle_speed_rpt'] |
| 40 | + # Specify options to pass to rosbag record. Default is no options. |
| 41 | + #rosbag_options : '--split --size=1024' |
| 42 | + # If True, then record all readings / commands of the vehicle interface. Default False |
| 43 | + vehicle_interface : True |
| 44 | + # Specify which components to record to behavior.json. Default records nothing |
| 45 | + components : ['state_estimation','trajectory_tracking'] |
| 46 | + # Specify which components of state to record to state.json. Default records nothing |
| 47 | + #state: ['all'] |
| 48 | + # Specify the rate in Hz at which to record state to state.json. Default records at the pipeline's rate |
| 49 | + #state_rate: 10 |
| 50 | +replay: # Add items here to set certain topics / inputs to be replayed from logs |
| 51 | + # Specify which log folder to replay from |
| 52 | + log: |
| 53 | + # For replaying sensor data, try !include "../knowledge/defaults/standard_sensor_ros_topics.yaml" |
| 54 | + ros_topics : [] |
| 55 | + components : [] |
| 56 | + |
| 57 | +#usually can keep this constant |
| 58 | +computation_graph: !include "../GEMstack/knowledge/defaults/computation_graph.yaml" |
| 59 | + |
| 60 | +after: |
| 61 | + show_log_folder: True #set to false to avoid showing the log folder |
| 62 | + |
| 63 | +#on load, variants will overload the settingsNone structure |
| 64 | +variants: |
| 65 | + #sim variant doesn't execute on the real vehicle |
| 66 | + #real variant executes on the real robot |
| 67 | + sim: |
| 68 | + run: |
| 69 | + mode: simulation |
| 70 | + vehicle_interface: |
| 71 | + type: gem_simulator.GEMDoubleIntegratorSimulationInterface |
| 72 | + args: |
| 73 | + scene: !relative_path '../scenes/xyhead_demo.yaml' |
| 74 | + |
| 75 | + drive: |
| 76 | + perception: |
| 77 | + state_estimation : OmniscientStateEstimator |
| 78 | + agent_detection : OmniscientAgentDetector |
| 79 | + visualization: [!include "klampt_visualization.yaml", !include "mpl_visualization.yaml"] |
| 80 | + log_ros: |
| 81 | + log: |
| 82 | + ros_topics : !include "../GEMstack/knowledge/defaults/standard_ros_topics.yaml" |
0 commit comments