码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 仿真-Carla-控制方法原理流程研究


    目录

    • 0. 简介
    • 1.Carla控制方法流程介绍
      • 1.1 启动CARLA并连接客户端Launching CARLA and connecting the client
      • 1.2 加载地图Loading a map
      • 1.3 观众导航Spectator navigation
      • 1.4 添加NPC Adding NPCs
        • 1.4.1 演员和蓝图 Actors and blueprints
          • 1.4.1.1 蓝图 Blueprints
          • 1.4.1.2 管理蓝图库管理蓝图库 Managing the blueprint library
          • 1.4.1.3 演员生命周期 Actor life cycle
          • 1.4.1.4 演员的类型 Types of actors
        • 1.4.2 添加传感器 Add sensors
        • 1.4.2 与交通管理器动画车辆 Animate vehicles with traffic manager
        • 1.4.3 将车辆分配为自我车辆 Assign a vehicle as the Ego Vehicle
        • 1.4.4 选择你的地图 Choose your map
        • 1.4.5 选择您的车辆 Choose your vehicles

    0. 简介

    1.Carla控制方法流程介绍

    在本教程中,我们将介绍CARLA中的标准工作流程,从启动服务器和连接客户端,通过添加车辆、传感器和生成用于机器学习的训练数据。本教程旨在简化细节,并尽可能高效地完成使用CARLA生成机器学习训练数据的关键步骤。有关工作流程每个部分的更多详细信息,例如蓝图库中可用的车辆数量或可用的替代传感器类型,请查阅文本中的链接或浏览左侧菜单。

    1.1 启动CARLA并连接客户端Launching CARLA and connecting the client

    1.启动客户端

    cd /carla/root
    ./CarlaUE4.sh

    2.通过Python API操纵CARLA
    要通过Python API操纵CARLA,我们需要通过开放端口将Python客户端连接到服务器,客户端通过客户端和世界对象控制模拟器打开Python笔记本或创建新脚本,然后在脚本或main函数的开头添加以下代码:

    import carla
    import random
    # Connect to the client and retrieve the world object
    client = carla.Client('localhost', 2000)
    world = client.get_world()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    这个客户机对象用于维护客户机与服务器的连接,并具有许多应用命令和加载或导出数据的功能。

    该端口可以选择为任何可用端口,默认设置为2000,您还可以使用计算机的IP地址选择不同于localhost的主机。这样,CARLA服务器可以在联网机器上运行,而python客户端可以在个人计算机上运行。这对于区分用于运行CARLA模拟器的GPU和用于神经网络训练的GPU特别有用,这两者对图形硬件的要求都很高。

    后续假设CARLA在默认的异步模式下运行。如果使用同步模式,以下部分中的某些代码可能无法按预期工作

    1.2 加载地图Loading a map

    在CARLA API中,世界对象提供了对模拟的所有元素的访问,包括地图、地图中的对象,如建筑物、交通信号灯、车辆和行人。CARLA服务器通常加载默认地图(通常是城镇10)。如果您想使用备用地图启动CARLA,请使用config.py脚本:

    ./config.py --map Town05

    们还可以使用world对象从客户端加载地图:

    client.load_world(‘Town05’)

    1.3 观众导航Spectator navigation

    旁观者是模拟的视图。默认情况下,当您在附加屏幕的计算机上运行CARLA服务器时,旁观者会在新窗口中打开,除非您指定-RenderOffScreen命令行选项。
    旁观者有助于可视化您的模拟。使用旁观者,您可以熟悉您加载的地图,并查看您所做的任何更改的结果,例如添加车辆、更改天气、打开/关闭地图的各个层以及用于调试目的。
    您可以使用鼠标控制观众视图的俯仰和偏航,并使用QWE-ASD键移动观众:

    Q - move upwards (towards the top edge of the window)
    Q-向上移动(朝向窗口的上边缘)
    E - move downwards (towards the lower edge of the window)
    E-向下移动(朝向窗口的下边缘)
    W - move forwards
    向前移动
    S - move backwards
    向后移动
    A - move left
    向左移动
    D - move right
    向右移动

    左键单击并在观众窗口中上下拖动鼠标以控制俯仰,左右拖动以控制偏航。

    可以通过Python API访问和操作观察者及其属性:

    # Retrieve the spectator object
    spectator = world.get_spectator()
    
    # Get the location and rotation of the spectator through its transform
    transform = spectator.get_transform()
    
    location = transform.location
    rotation = transform.rotation
    
    # Set the spectator with an empty transform
    spectator.set_transform(carla.Transform())
    # This will set the spectator at the origin of the map, with 0 degrees
    # pitch, yaw and roll - a good way to orient yourself in the map
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    1.4 添加NPC Adding NPCs

    现在我们已经加载了地图并且服务器已启动并运行,我们现在需要用一些车辆填充我们的模拟,以模拟具有交通和其他道路使用者或非玩家角色(NPC)的真实环境。

    <
  • 相关阅读:
    dspe-peg-cy7.5;磷脂-聚乙二醇-CY7.5吲哚菁绿
    ARCGIS 横向图例是怎么做的?
    函数式编程
    为什么重写equals方法,还必须要重写hashcode方法,重写equals()和hashCode()方法实例
    网络编程之Socket
    c++异网正确使用接受
    SpringCloud服务治理介绍&Nacos安装及实现负载均衡
    数据挖掘经典十大算法_NaiveBayes朴素贝叶斯
    滤波器与时间延迟
    KY37 小白鼠排队
  • 原文地址:https://blog.csdn.net/weixi234/article/details/138207110
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号