ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.14k stars 9.71k forks source link

How is the perception.conf being used ? #4064

Closed ankitvora7 closed 6 years ago

ankitvora7 commented 6 years ago

I looked into the code and didn't find any calls to perception.conf file. The perception.cc file calls the perception_adapter_config file but not the perception config file. So, how are the parameters read from the perception.conf during run time ? I ran into this issue when running the perception module and got the error UnityRectifier instantiation failed. This is because the parameter 'traffic_light_rectifier set in the perception.conf is not read by the perception module. As as result, it takes the default empty value defined in tl_proc_subnode.cc

gengqx commented 6 years ago

in the file scripts/apollo_base.sh,you could find line 260:

    eval "nohup ${APOLLO_BIN_PREFIX}/modules/${MODULE_PATH}/${MODULE} \
        --flagfile=modules/${MODULE_PATH}/conf/${MODULE}.conf \
        --log_dir=${APOLLO_ROOT_DIR}/data/log $@ </dev/null >${LOG} 2>&1 &"

and in file modules/common/apollo_app.h,you could find line 116:

#define APOLLO_MAIN(APP)                                       \
  int main(int argc, char **argv) {                            \
    google::InitGoogleLogging(argv[0]);                        \
    google::ParseCommandLineFlags(&argc, &argv, true);         \
    signal(SIGINT, apollo::common::apollo_app_sigint_handler); \
    APP apollo_app_;                                           \
    ros::init(argc, argv, apollo_app_.Name());                 \
    apollo_app_.Spin();                                        \
    return 0;                                                  \
  }

It's a gflags file.

gengqx commented 6 years ago

From apollo 1.5,it use supervisor as it default launch method ,so you could also find it in modules/tools/supervisord/dev.conf

[program:monitor]
command=/apollo/bazel-bin/modules/monitor/monitor --flagfile=/apollo/modules/monitor/conf/monitor.conf
autostart=false
numprocs=1
exitcodes=0
stopsignal=KILL
startretries=10
autorestart=unexpected
redirect_stderr=true
stdout_logfile=/apollo/data/log/monitor.out
natashadsouza commented 6 years ago

Closing this issue as it appears to be resolved.