专栏感知Carla仿真场景构建工具开发系列 视角切换及跟车(二)

Carla仿真场景构建工具开发系列 视角切换及跟车(二)

巴山夜雨2026-06-11
54
0

大家好,我是橙子,本章主要介绍,开发过程中关于视角切换的代码,由于仿真过程中,我们需要变换视角观测车辆动态表现,所以我想的是通过GUI选择视角类型,切换不同视角,并使视角跟车行驶。

1.视角切换功能实现

我采用是使用QT的 QComboBox控件,添加不同类型的视角,通过对控件值得返回判断切换不同得视角

代码功能解析

该代码片段实现了一个视角切换功能,通过View_Select下拉菜单选择不同视角(前视、后视、俯视、侧视),调整Carla仿真环境中spectator(观察者)的位置和角度。

前视视角


 将观察者设置在车辆正前方,高度略微抬升:

后视视角


 将观察者设置在车辆正后方,高度略微抬升,镜头旋转180度:


俯视视角


 将观察者设置在车辆正上方,镜头垂直向下:

侧视视角


 将观察者设置在车辆右后侧方,高度抬升,镜头倾斜:

关键变量说明

  • self.ego_trans

    :车辆当前的位置和旋转信息

  • self.forward_vector

    :车辆前进方向向量

  • self.right_vector

    :车辆右侧方向向量

  • self.high_adjustment

    :视角高度调整参数

  • self.spectator

    :Carla仿真环境中的观察者对象

坐标系说明

代码中使用Carla的左手坐标系
  • X轴:车辆右侧方向

  • Y轴:车辆前进方向

  • Z轴:垂直向上方向 旋转角度遵循:

  • Yaw:绕Z轴旋转(偏航角)
  • Pitch:绕X轴旋转(俯仰角)
  • Roll:绕Y轴旋转(滚动角

该实现通过向量运算动态计算观察者位置,确保视角能跟随车辆移动和旋转。

2.视角跟车逻辑实现

这个功能实现起来比较简单,就是在初始化时,创建一个视角定时器,并将这个定时器连接到上述函数中,实现持续更新

3.效果

俯视跟车:

图片

前视跟车:

图片

文章转载自公众号:智驾前沿社

作者:小橙子的青葱岁月


感知
技术深度解析
评论0
0/600