- 博客(80)
- 收藏
- 关注
原创 15-ROS桥接安装(ROS 1)
在使用ROS桥接之前,您需要满足以下软件要求:根据您的操作系统安装ROS:根据您的需要,可能需要额外的ROS包。强烈建议使用rviz可视化ROS数据。安装CARLA 0.9.7或更高版本(0.9.7以前的版本与ROS桥接不兼容)。
2024-10-28 11:02:36
681
原创 13-交通管理器
交通管理器(TM)是在仿真中控制车辆自动驾驶模式的模块。它的目标是模拟真实的城市交通状况。用户可以自定义一些行为,例如设置特定的学习环境。用户可以通过设置参数来控制交通流。用户可以根据自己的喜好改变交通流行为。例如,汽车可以被允许忽略速度限制或强行改变车道。上图是TM的内部架构的表示。每个组件的c++代码可以在LibCarla/source/carla/trafficmanager中找到。下面几节将详细解释每个组件。
2024-10-21 15:32:58
812
原创 7-地图和导航
地图既包括城镇的3D模型,也包括城镇的道路定义。地图的道路定义基于Opendrive文件,这是一种标准化的、带注释的道路定义格式。opdrive标准1.4定义道路、车道、路口等的方式决定了Python API的功能和决策背后的推理。每对中的第一个元素与第二个元素连接,两者都定义了地图中每条车道的起点和终点。图层地图的布局与非分层地图相同,但可以关闭和打开地图的图层。表示它在地图上的位置以及包含它的车道的方向。与服务器的通信只需要一次,就可以获得包含路点信息的地图对象。路点保存着包含它的车道的信息。
2024-09-29 10:18:40
752
原创 5-世界和客户端
客户端和世界是CARLA的两个基础,是操作仿真及其参与者的必要抽象。本教程从定义这些元素的基础和创建开始,描述它们的可能性。如果在阅读过程中出现任何疑问或问题,CARLA论坛将为您解答。
2024-09-27 15:26:07
959
原创 4-核心概念
本页面介绍了CARLA的主要功能和模块。不同主题的详细说明可以在相应的页面中找到。为了了解API中不同的类和方法,请查看Python API参考(
2024-09-27 14:03:16
842
原创 3-基于容器安装carla
用户可以将基于CARLA发布的镜像拉到Docker容器中运行。这对于以下用户很有用:想要运行CARLA而不需要安装所有依赖项运行多台CARLA服务器,进行GPU映射。运行不显示的CARLA服务器本节解释了运行CARLA图像的要求,以及如何使用OpenGL和Vulkan图形api运行图像。
2024-09-27 13:26:10
1132
原创 1-carla简介
它是从头开始构建的,作为一个模块化和灵活的API,可以解决自动驾驶问题中涉及的一系列任务。对模拟的控制是通过Python和c++中处理的API授予的,该API随着项目的发展而不断增长。因为它的目标是实现真实的仿真结果,所以最适合的是使用专用GPU运行服务器,特别是在处理机器学习时。在CARLA中,它们是附着在车辆上的一种特定类型的actor,它们接收到的数据可以被检索和存储,以简化处理过程。CARLA有许多不同的特征和元素,下面列出了其中的一些主要特征,以便对CARLA可以实现的功能有一个宏观认知。
2024-09-27 10:07:28
474
原创 8-选择静态或共享库
此时,如果您构建了所有内容,您可能会注意到链接失败,因为我们正在将不依赖位置的静态库与具有位置依赖的库组合在一起。在本节中,我们将展示如何使用BUILD_SHARED_LIBS变量来控制add_library()的默认行为,并允许控制如何构建没有显式类型的库(STATIC、SHARED、MODULE或OBJECT)。要做到这一点,我们需要将BUILD_SHARED_LIBS添加到顶级的CMakeLists.txt中。接下来,我们需要为静态库和共享库指定输出目录。
2024-07-09 17:08:42
198
原创 7-打包安装程序
接下来,我们将一些CPack变量设置到存储此项目的许可证和版本信息的位置。CPACK_GENERATOR和CPACK_SOURCE_GENERATOR变量分别选择用于二进制和源代码安装的生成器。接下来假设我们想要将我们的项目分发给其他人,以便他们可以使用它。这与我们之前在安装和测试中所做的安装略有不同,在安装中我们安装了从源代码构建的二进制文件。在本例中,我们将构建支持二进制安装和包管理特性的安装包。最后,我们将包括CPack模块,它将使用这些变量和当前系统的一些其他属性来设置安装程序。
2024-07-09 16:55:57
292
原创 6-添加自定义命令和生成的文件
通过在 CMake 构建过程中,定义了一个名为Table.h的自定义生成规则。当构建过程需要这个文件时,会执行MakeTable程序来生成它。确保在执行生成命令之前,会先构建MakeTable。这种方法通常用于生成代码、复制文件或执行其他自定义构建任务,使得 CMake 的构建系统能够灵活地扩展和自定义。接下来我们要让CMake知道这个mysqrt.cxx依赖于生成的文件Table.h。这是通过将生成的Table.h添加到SqrtLibrary库的源列表中来实现的。mysqrt.cxx。
2024-07-09 16:33:36
590
原创 5-添加可用性检测
考虑在我们的项目中添加一些代码,这些代码依赖于目标平台可能没有的特性。对于本例,我们将添加一些代码,这些代码取决于目标平台是否具有log和exp函数。当然,几乎每个平台都有这些功能,但在本教程中,我们假设它们并不常见。
2024-07-09 15:24:56
412
原创 3-添加库的使用需求
目标参数的使用要求允许对库或可执行文件的链接和包含行进行更好的控制,同时也允许对CMake中目标的传递属性进行更多的控制。本节使用的示例代码见。
2024-07-09 14:00:12
301
原创 2-添加库
本节将学习如何在项目中创建和使用库,还将看到如何使库的使用成为可选的。 要在CMake中添加一个库,使用add_library()命令并指定哪些源文件应该组成该库。 我们可以使用一个或多个子目录组织项目,而不是将所有源文件放在一个目录中。在本例中,我们将专门为库创建一个子目录。在这里,我们可以添加一个新的CMakeLists.txt文件和一个或多个源文件。在顶级的CMakeLists.txt文件中,我们将使用add_subdirectory()命令将子目录添加到构建中。 创建库之后,使
2024-07-09 13:27:45
914
原创 1-简单开始cmake实践
教程所使用的实例代码见本文资源绑定的文件。最基本的CMake项目是从单个源代码文件构建的可执行文件。对于这样的简单项目,只需要一个包含三个命令的CMakeLists.txt文件。注意:虽然CMake支持大写,小写和混合大小写命令,但小写命令是首选,并将在整个教程中使用。任何项目的最重要的CMakeLists.txt必须从使用cmake_minimum_required()命令指定最小CMake版本开始。这将建立策略设置,并确保以下CMake函数与CMake的兼容版本一起运行。
2024-07-08 16:41:07
654
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人