在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Apollo中怎么添加新的控制算法

147次阅读
没有评论

共计 2033 个字符,预计需要花费 6 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 Apollo 中怎么添加新的控制算法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Apollo 中的控制算法由一个或多个控制器组成,可以轻松更改或替换为不同的算法。每个控制器将一个或多个控制命令输出到 CANbus。

Apollo 中的默认控制算法包含横向控制器(LatController)和纵向控制器(LonController)。它们分别负责横向和纵向的车辆控制。

新的控制算法不必遵循默认模式,例如,一个横向控制器 + 一个纵向控制器。它可以是单个控制器,也可以是任意数量控制器的组合。

添加新的控制算法的步骤:

创建一个控制器

在文件 control_config 中添加新控制器的配置信息

注册新控制器

为了更好的理解,下面对每个步骤进行详细的阐述:

一、创建一个控制器

所有控制器都必须继承基类 Controller,它定义了一组接口。以下是控制器实现的示例:

namespace apollo {
namespace control {
class NewController : public Controller {
 public:
 NewController();
 virtual ~NewController();
 Status Init(const ControlConf* control_conf) override;
 Status ComputeControlCommand(
 const localization::LocalizationEstimate* localization,
 const canbus::Chassis* chassis, const planning::ADCTrajectory* trajectory,
 ControlCommand* cmd) override;
 Status Reset() override;
 void Stop() override;
 std::string Name() const override;} // namespace control
} // namespace apollo

二、添加新控制器的配置信息

按照下面的步骤在文件 control_config 中添加新控制器的配置信息:

1、根据算法要求为新控制器配置和参数定义 proto。作为示例,可以参考以下位置的 LatController 的 proto 定义:modules/control/proto/ lat_controller_conf.proto

2、定义新的控制器 proto 之后,例如 new_controller_conf.proto,输入以下内容:

syntax =  proto2 
package apollo.control;
message NewControllerConf {
 double parameter1 = 1;
 int32 parameter2 = 2;
}

3、参考如下内容更新  modules/control/proto/control_conf.proto 文件:

optional apollo.control.NewControllerConf new_controller_conf = 15;

4、参考以内容更新  ControllerType(在 modules/control/proto/control_conf.proto  中):

enum ControllerType {
 LAT_CONTROLLER = 0;
 LON_CONTROLLER = 1;
 NEW_CONTROLLER = 2;
 };

protobuf 定义完成后,在 modules/control/conf/lincoln.pb.txt 中相应更新控制配置文件。

注意:上面的 control/conf 文件是 Apollo 的默认文件。您的项目可能使用不同的控制配置文件。

三、注册新控制器

要激活 Apollo 系统中的新控制器,请在如下文件中的“ControllerAgent”中注册新控制器:modules/control/controller/controller_agent.cc

按照如下示例添加注册信息:

void ControllerAgent::RegisterControllers() {
 controller_factory_.Register(
 ControlConf::NEW_CONTROLLER,
 []() -  Controller * { return new NewController(); });
}

在完成以上步骤后,您的新控制器便可在 Apollo 系统中生效。

以上是“Apollo 中怎么添加新的控制算法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2033字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 成人毛片网站 | 免费国产黄线在线播放 | 国产一级爱片在线播放 | 日韩精品成人无码专区免费 | 亚洲av综合色区 | 在线看欧美日韩中文字幕 | 日本四虎影院 | 麻豆久久 | 大地资源在线观看免费下载 | 性刺激的欧美三级视频中文 | 国内不卡一二三四区 | 四虎成人精品一区二区免费网站 | 国产久7精品视频 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 国产色综合久久无码有码 | 精品国产乱码久久久久久郑州公司 | 亚洲第一视频 | 动漫精品专区一区二区三区不卡 | 18精品久久久无码午夜福利 | 国产精品久久成人影院 | 黄网在线观看 | 成 人 色 网 站免费观看 | 粗大黑人巨精大战欧美成人 | 少妇三级全黄在线播放 | 免费日本毛片 | 国产特黄级aaaaa片免 | 国产色婷婷亚洲99精品小说 | 欧美成人片在线 | 一区二区国产在线播放 | 久久精品一区二区 | 国产又色又爽又黄又免费软件 | 亚洲日韩av无码一区二区三区 | 狠狠久久永久免费观看 | 色噜噜一区二区三区 | 国产精品国产三级国产aⅴ下载 | 久久亚洲av无码精品色午夜 | 18禁无遮挡羞羞污污污污网站 | 国产成人精品综合在线观看 | 无码熟妇人妻av在线影片 | 国产精品二区高清在线 | 国产免费一级精品视频 |