本文主要记录了 BHuman 代码中的 Config 目录的一些东西。
2016 的代码和 2017/2018 的代码在 Config 上面稍微有些不同。由于代码的重新编译在某些情况下需要花费大量的时间,并且每个机器人需要不同的配置,软件使用了大量的配置文件,这些文件可以在不引起重新编译的情况下进行修改。
软件使用的所有文件都位于 Config 目录下。还有一些机器人操作系统的配置文件,它们位于Install目录中。
下面主要是 2017 代码中的一些参数解释。
Config
1 | . |
Scenarios
可以为不同的独立任务配置软件。只需在Config/scenario中创建一个具有所需名称的新文件夹并将配置文件放入其中,就可以设置它们。只有在Config/settings.cfg文件中激活该场景时,才会考虑这些配置文件。
Locations
可用于将软件配置为在不同地点使用,例如在家中的实验室中,以及在不同的比赛中。例如,字段的尺寸和颜色校准可以依赖于机器人所使用的位置。
Robots
除了全局配置文件外,还有一些文件依赖于机器人的头部、身体或两者。为了区分这些文件的位置,使用了每个机器人头部和身体的名称。它们在文件Config/Robots/Robots中定义。cfg将机器人头部和身体的序列号映射到它们的实际名称。在模拟器中,两个名称都是“Nao”。
配置文件的搜索序列
Config/Robots/<head name>/Head/<filename>
用于仅依赖于机器人头部的文件
例如:Robots/Amy/Head/cameraIntrinsics.cfg
Config/Robots/<body name>/Body/<filename>
用于仅依赖于机器人身体的文件
例如:Robots/Alex/Body/walkingEngine.cfg
Config/Robots/<head name>/<body name>/<filename>
用于同时依赖于机器人头部和身体的文件。
例如:Robots/Amy/Alex/cameraCalibration.cfg
Config/Locations/<current location>/<filename>
Config/Scenarios/<current scenario>/<filename>
Config/Robots/Default/<filename>
Config/Locations/Default/<filename>
Config/Scenarios/Default/<filename>
Config/<filename>