authware
This article is part of the Autoware series. Check out the full series: Part 1, Part 2
本文是Autoware系列文章的一部分。 查看完整的系列文章: 第1 部分 , 第2部分
In this article, we will learn how to build an AutoWare.auto package and create a YonoArc block from this package. But first what is Autoware.auto and how it’s different from Autoware.ai
在本文中,我们将学习如何构建AutoWare.auto程序包并从该程序包创建YonoArc块。 但是首先是什么是Autoware.auto,它与Autoware.ai有何不同
Autoware.Auto is a project supported by the Autoware Foundation. It is a clean slate rewrite of Autoware. Autoware.auto applies best-in-class software engineering practices, including pulling request reviews, pull request builds, comprehensive documentation, 100% code coverage, a coding style guide, and a defined development and release process, all managed by an open-source community manager. It also has crisply defined interfaces for different modules, including messages and APIs, and a software architecture designed for determinism. It will be possible to reproduce behaviors live and on development machines.
Autoware.Auto是Autoware Foundation支持的项目。 这是对Autoware的彻底重写。 Autoware.auto应用了一流的软件工程实践,包括拉动请求审核,拉动请求构建,全面的文档,100%代码覆盖率,编码样式指南以及定义的开发和发布过程,所有这些工作均由开源进行管理社区管理员。 它还具有针对不同模块(包括消息和API)的明确定义的接口,以及为确定性而设计的软件体系结构。 可以在开发机器上实时再现行为。
The first use case of Autoware.auto is Valet Parking and Autonomous Depot Maneuvering, and they have set some milestones to achieve this. This use case will allow you to use Autoware.auto to map a parking lot and drive autonomously in it.
Autoware.auto的第一个用例是代客泊车和自治仓库操纵,他们已经为实现这一目标设定了一些里程碑。 该用例使您可以使用Autoware.auto来映射停车场并在其中自动驾驶。
Autonomous Valet Parking by autoware.auto 通过autoware.auto自动代客泊车The recommended way to build Autoware.auto is by using the ADE tool to manage the docker environments used by all the developers. But instead, we can use the YonoEBuilder environment and share it easily with anyone using YonoStore.
推荐的构建Autoware.auto的方法是使用ADE工具来管理所有开发人员使用的docker环境。 但是,我们可以使用YonoEBuilder环境,并轻松地与任何使用YonoStore的人共享它。
I’ve already done this and created a YonoEBuidler environment where you can build Autoware.auto in it. You can grab this environment from the store from this link.
我已经完成了此操作,并创建了一个YonoEBuidler环境,您可以在其中构建Autoware.auto。 您可以通过此链接从商店中获取此环境。
I’ve also created a punch of Autoware.auto blocks and published them in the store. You can grab these blocks form this link.
我还创建了一些Autoware.auto块并将其发布在商店中。 您可以从此链接中获取这些块。
As an example, I will create a Ray-ground classifier block which is based on the Autoware.auto package ray_ground_classifier_node, and use it with the Lidar data from the AirSim simulator.
例如,我将创建一个基于Autoware.auto包ray_ground_classifier_node的Ray-ground分类器块,并将其与AirSim模拟器中的Lidar数据一起使用。
Autoware.auto and AirSim Autoware.auto和AirSimIn the following steps, we will create a new YonoArc Block based on one of Autoware.auto packages.
在以下步骤中,我们将基于Autoware.auto软件包之一创建一个新的YonoArc模块。
The flow of building a YonoArc block from an Autoware.auto package is so simple. It can be done in a few minutes, thanks to the YonoEBuilder environment of Autoware.auto.
从Autoware.auto包构建YonoArc块的流程非常简单。 这要归功于Autoware.auto的YonoEBuilder环境,只需几分钟即可完成。
All you have to do is create a new YonoArc Project based on Autoware.auto source code from GitLab and using the Autoware.auto Environment you got from the store earlier.
您要做的就是基于来自GitLab的Autoware.auto源代码并使用您之前从商店获得的Autoware.auto环境创建一个新的YonoArc项目。
Let’s create a block from the Ray-Ground classifier Autoware.auto package.Make sure to choose Autoware.auto Environment, and for the source code, you can use Autoware.auto GitLab repo.
让我们从Ray-Ground分类器Autoware.auto包中创建一个块。确保选择Autoware.auto Environment,对于源代码,您可以使用Autoware.auto GitLab存储库。
https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
Then press create and build your project. This will start building Autoware.auto ROS2 workspace and discover all the available ROS2 nodes we can use to create YonoArc Blocks.
然后按创建并生成您的项目。 这将开始构建Autoware.auto ROS2工作区,并发现我们可用于创建YonoArc块的所有可用ROS2节点。
After the build finishes we can navigate to the Blocks tab and from the dropdown choose our built project. The project contains a lot of ROS2 nodes we can search for our desired node then select it and invert to select all the other nodes. Now we can delete them to keep only the one we interested in.
构建完成后,我们可以导航到“块”选项卡,然后从下拉列表中选择我们的构建项目。 该项目包含许多ROS2节点,我们可以搜索所需的节点,然后选择它并反转以选择所有其他节点。 现在我们可以删除它们,只保留我们感兴趣的一个。
Our block requires one input port and 2 output ports. We can get the topic names easily from the node source code here. Then define them as usual with their message type and topic name.
我们的模块需要一个输入端口和2个输出端口。 我们可以在这里从节点源代码轻松获得主题名称。 然后像往常一样使用消息类型和主题名称对其进行定义。
ROS2 nodes take the parameters as YAML file we can also get this node YAML file from here.
ROS2节点将参数作为YAML文件,我们也可以从此处获取此节点YAML文件。
Then we can define a property for our block to browse for this YAML file.
然后,我们可以为我们的块定义一个属性以浏览此YAML文件。
so let’s create this property with a key “p_yaml” don’t forget it we will need this very soon. In the optional arguments, we can pass this parameter file to our ROS2 node like the following.
因此,让我们使用键“ p_yaml”创建此属性,不要忘记它,我们很快就会需要它。 在可选参数中,我们可以将该参数文件传递给ROS2节点,如下所示。
__params:=<p_yaml>
__params:=<p_yaml>
Now we are ready to save and release our Block and use it with any YonoArc pipelines we have.
现在,我们准备保存并释放我们的Block并将其与我们拥有的任何YonoArc管道一起使用。
About YonoHub:
关于YonoHub:
Yonohub is a web-based cloud system for the development, evaluation, integration, and deployment of complex systems, including Artificial Intelligence, Autonomous Driving, and Robotics. Yonohub features a drag-and-drop tool to build complex systems, a marketplace to share and monetize blocks, a builder for custom development environments, and much more. YonoHub can be deployed on-premises and on-cloud.
Yonohub是基于Web的云系统,用于开发,评估,集成和部署复杂系统,包括人工智能,自动驾驶和机器人技术。 Yonohub的功能包括用于构建复杂系统的拖放工具,用于共享和货币化区块的市场,用于自定义开发环境的构建器等等。 YonoHub可以部署在本地和云上。
Get $25 free credits when you sign up now. For researchers and labs, contact us to learn more about Yonohub sponsorship options. Yonohub: A Cloud Collaboration Platform for Autonomous Vehicles, Robotics, and AI Development. www.yonohub.com
立即注册可获得$ 25的免费赠送金额。 对于研究人员和实验室,请与我们联系以了解有关Yonohub赞助选项的更多信息。 Yonohub:用于自动驾驶,机器人和AI开发的云协作平台。 www.yonohub.com
If you liked this article, please consider following us on Twitter at @yonohub, email us directly, or find us on LinkedIn. I’d love to hear from you if I can help you or your team with how to use YonoHub.
如果您喜欢这篇文章,请考虑在Twitter上@yonohub关注 我们,直接给我们发送电子邮件 ,或在LinkedIn上找到我们 。 如果我可以帮助您或您的团队如何使用YonoHub,我希望能收到您的来信。
翻译自: https://medium.com/yonohub/autoware-auto-with-easiness-on-yonohub-5e81d4612d06
authware
相关资源:authware代码