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项目使用的是抽象工厂模式,因为该项目使用模板定义工厂类,因此工厂模式经典定义中的抽象工厂类就不再需要了。

Control算法相关的更多相关文章

  1. logging日志模块,hashlib hash算法相关的库,

    logging: 功能完善的日志模块 import logging #日志的级别 logging.debug("这是个调试信息")#级别10 #常规信息 logging.info( ...

  2. geatpy - 遗传和进化算法相关算子的库函数(python)

    Geatpy The Genetic and Evolutionary Algorithm Toolbox for Python Introduction Website (including doc ...

  3. SIFT算法相关资料

    SIFT算法相关资料 一.SIFT算法的教程.源码及应用软件1.ubc:DAVID LOWE---SIFT算法的创始人,两篇巨经典经典的文章http://www.cs.ubc.ca/~lowe/ 2. ...

  4. MS-queue算法相关

    简介: 多核多线程已经成为当下一个时髦的话题,而无锁编程更是这个时髦话题中的热点话题.Linux 内核可能是当今最大最复杂的并行程序之一,为我们分析多核多线程提供了绝佳的范例.内核设计者已经将最新的无 ...

  5. [转]计算机视觉之跟踪算法——相关滤波器Correlation Filter

    https://blog.csdn.net/victoriaw/article/details/62416759 ASEF相关滤波器: Average of Synthetic Exact Filte ...

  6. iOS面试的算法相关

    转自:https://www.jianshu.com/p/c4820b159159 面试中遇到的这些算法,在平常工作中,基本不会用到. 不过现实的面试中经常喜欢问关于算法的问题 有些还要求写出代码.一 ...

  7. GNN 相关资料记录;GCN 与 graph embedding 相关调研;社区发现算法相关;异构信息网络相关;

    最近做了一些和gnn相关的工作,经常听到GCN 和 embedding 相关技术,感觉很是困惑,所以写下此博客,对相关知识进行索引和记录: 参考链接: https://www.toutiao.com/ ...

  8. python 第二百零八天 ----算法相关

    查找方法   :    顺序查找法     二分查找法 import time,random #时间计算 def cal_time(func): def wrapper(*args,**kwargs) ...

  9. 算法相关——Java排序算法之希尔排序(五)

    个子块,即{3,5},{1,0},{5,2},{9,4},{6,12},将每个子块进行插入排序(即第i位与第i+5位进行比较交换),初步排序结果为{3,0,2,4,6,5,1,5,9,12}.希尔排序 ...

随机推荐

  1. ruby数组操作方法汇总

    1.数组定义 arr1 = [] arr2 = Array.new arr3 = ['1','2','3'] 2.输出 print arr3,"\n" #123 puts arr3 ...

  2. 解决Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.17 问题

    详细报错如下 Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.17 from http://maven ...

  3. sql 三表左外链接的2种写法【原】

    初始化语句 DROP TABLE student; ) )); ','bobo'); ','sisi'); ','gugu'); ','mimi'); DROP TABLE room; ) ),roo ...

  4. DirectX11 With Windows SDK--02 顶点/像素着色器的创建、顶点缓冲区

    前言 由于在Direct3D 11中取消了固定管线,要想绘制图形必须要了解可编程渲染管线的流程,一个能绘制出图形的渲染管线最少需要有这两个可编程着色器:顶点着色器和像素着色器. 本章会直接跳过渲染管线 ...

  5. 【leetcode-86】 分隔链表

    (1过) 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前. 你应当保留两个分区中每个节点的初始相对位置. 示例: 输入: head = 1-> ...

  6. 解析ArcGis的字段计算器(三)——文本型字段计算,编号那些事儿

    实际操作中我们一般会将编号字段定义为文本型,因为编号不是序号,序号是一个递增数值,而编号往往是一个数字串代码. 本篇无说明的均使用VBScript语句1.怎么编号?最简单的编号—>直接在编号字段 ...

  7. 20155324 2016-2017-2 《Java程序设计》第8周学习总结

    20155324 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 通用API -** 日志API** 1.~java.util.logging~包提供了日志功 ...

  8. HashMap中的TreeNode,红黑树源码分析

    在看HashMap的源码时候看到了TreeNode.因此需要对其进行一个了解.是一个红黑树.可以百度一下红黑树的数据结构.分析了下源码,还是比较枯燥的 红黑树的性质:本身是一个二叉查找树(所有左节点的 ...

  9. python中的optionParser模块

    Python 有两个内建的模块用于处理命令行参数:一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数:另一个是 optparse,它功能强大,而 ...

  10. Ubuntu18.04中安装cuda的记录

    一.参考: https://blog.csdn.net/QLULIBIN/article/details/78714596 https://www.jianshu.com/p/00c37b09f0f3 ...