zoukankan      html  css  js  c++  java
  • Control算法相关

    Control算法相关

    • 添加新的control算法官方指导教程
      • 创建一个控制器;
      • 在文件control_config中添加新控制器的配置信息;
      • 注册新控制器。
    • 如何添加新的CAN卡
      • Apollo中使用额默认CAN卡是ESD CAN-PCIe卡;
      • 实现新CAN卡的CanClient类;
      • 在CanClientFactory中注册新的CAN卡;
      • 更新配置文件。
    • 在预测模块中添加新评估器
      • 评估其通过应用预测训练的深度学习模型生成特征(来自障碍物和当前的原始)以获得,模型输出。
      • 在proto中添加一个字段;
      • 声明一个从Evaluator类继承的类NewEvaluator;
      • 实现类NewEvaluator;
      • 更新预测配置;
      • 更新评估器管理;
    • 在预测模块中添加一个预测器
      • 预测器是为每个障碍物生成预测轨迹。
      • 定义一个继承基类Predictor的类;
      • 实现新类NewPredictor;
      • 在prediction_conf.proto中添加一个新的预测期类型;
      • 更新prediction_conf;
      • 更新预测器管理器(Predictor manager)。
    • 如何添加外部依赖项
      • 用Bazel作为包/依赖性的管理系统。
      • 在workspace中添加一个名为foo的工作站规则;
      • 明确foo的来源(通常是一个URL)和版本(通常是git的标签或commit的哈希码);
      • 为了建构, 在third_party目录下新建一个foo.BUILD, 这个BUILD文件和和目标中的Bazel BUILD文件一样;
      • 在依赖于foo的目标中, 把@foo://:<foo_target>加入到依赖项中。
      • 用Bazel添加一个外部依赖项, 如果用Bazel把foo添加进工作站规则来构建目标。
    • Apollo 3.0技术指南
    • 调试Dreamview启动问题
    • Apollo的入门编译教程
      • 怎么启动的程序?
        • 所有编译完成的产出二进制文件放在bazel-bin这个文件下的, modules子目录中放的是所有模块的产出;
        • 利用bash scripts/bootstrap.sh脚本启动所有的程序。
      • 解析bootstap.sh脚本:
        • linux ulimit命令
        • 在start函数中会调用bash scripts/roscore.sh start启动ros的消息管理器。
        • 在start函数中会通过supervisord -c /apollo/modules/tools/supervisord/release.conf启动release.conf文件中的所有进程。
      • 所有的参数在.conf的文件中进行了重定向,重定向与--flagfile=modules/common/data/global_flagfile.txt
        • 设置车辆配置文件--vehicle_config_path=/apollo/modules/common/data/mkz_config.pb.txt
          • 有前后左右到中心点的距离;
          • 车高、车宽、车长信息;
          • 方向盘和速度相关的配置项。
        • 配置日志输出文件--log_dir=/apollo/data/log;
          • 这是一个文件夹;
        • 是否使用导航模式--use_navigation_mode=false;
        • 地图的位置--map_dir=/apollo/modules/map/data/sunnyvale_big_loop
          • 这个位置中什么东西也没有,所以dreamview中啥东西也没有。
    • Apollo是一个编译脚本:
      • 设置apollo的路径;
      • 检查系统的机器架构;
      • 检查系统配置项;
      • 检查esd-CAN卡文件;

    Apollo项目中工厂模式分析

    • 工厂模式的详解
      • 工厂要生产产品,A工厂生产A产品, B工厂生产B产品。
      • 也可以让一个抽象的工厂生产两个产品。
      • 工厂模式下,抽象工厂内只有一种抽象类产品,即这类工厂只能生产一类产品。
      • 抽象工厂模式下,抽象工厂内有多种抽象类产品,即这类工厂能生产多类产品。
    • C++实现工厂模式
      • 在很多应用中,需要创建哪些具体的类对象,事先根本无法知晓,只有在程序实际运行的那一刻,才能从配置文件、注册表或数据库获取需要创建的类对象。
      • 我们希望通过改变配置文件、注册表或数据库来动态地使用不同的算法类,以期获得最优的性能。
      • Apollo项目使用的是抽象工厂模式,因为该项目使用模板定义工厂类,因此工厂模式经典定义中的抽象工厂类就不再需要了。
  • 相关阅读:
    java-servlet
    oracle 函数
    List 集合的交集
    jsp中表格,表格中的文字根据表格的大小自动换行
    eclipse快捷键调试总结【转】
    Spring(Bean)4 配置数据源、连接池
    Spring(Bean)3
    前端实现表格基于游览器固定显示
    vue下谷歌浏览器的扩展程序(vue-devtools-master)
    前端vue如何下载或者导出word文件和excel文件
  • 原文地址:https://www.cnblogs.com/longjiang-uestc/p/10066326.html
Copyright © 2011-2022 走看看