Carla鱼眼相机ubuntu20.04

sudo apt-get update &&
sudo apt-get install wget software-properties-common &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
sudo apt-get update
sudo apt-get install build-essential clang-10 lld-10 g++-7 cmake ninja-build libvulkan1 python python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-10/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-10/bin/clang 180
pip install --user setuptools &&
pip3 install --user -Iv setuptools==47.3.1 &&
pip install --user distro &&
pip3 install --user distro &&
pip install --user wheel &&
pip3 install --user wheel auditwheel

关联github和UE4的账号:

由于 Carla 是基于 UE4 引擎进行开发的,所以在安装 Carla 前最终要的一步就是安装 UE4 ,这里在 CALAR 0.9.12 以后的版本使用的引擎是 Unreal Engine 4.26 。在安装 Carla 之前要安装好 Unreal Engine 4.26 。安装之前需要保证你的 github 账户和 Unreal Engine 账户连接。 连接方法可以参考下面链接:

https://www.unrealengine.com/en-US/ue-on-github

然后在这里我们需要点击 Follow:

如果这里没有点击,就不显示 UE4 源码仓库,无法 git clone 下载

除了两个账户之间的连接之外,还需要注意的是 git clone 过程中需要用 github 账户登入,但 github 从 2021 年开始不支持这种登入方式,需要设置个人密钥。

保存好这个秘钥,他只会显示一次,关闭网页就看不到了,需要重新去生成。

开始下载UE4:

git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26

输入自己的github账号和前面保存的秘钥: 

 

2.添加unreal engine补丁

找到补丁文件https://github.com/carla-simulator/carla/files/5739990/UE4_patch_fisheye-sensor.zip,下载zip补丁包,手动将修改后的文件添加上去。

由于补丁较早,无法自动打补丁,需要手动修改。

绿色是需要修改的文件,红色是修改位置的前一个函数名,由于UE4的更新,行数仅能提供大概位置作为参考。+号是要添加的代码,-号是要删除的代码。+号前的代码(比如#endif  })对应于UE4的位置,后面添加带+号的代码,还可以参考后面没有+号的代码,依此确定修改代码的位置。

记得把+号去除,添加完如图:

其它代码依照修改。

我这边最后一项不用修改。

cd ~/UnrealEngine_4.26
./Setup.sh
./GenerateProjectFiles.sh
make
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

报错:

error1:/Engine/Source/Runtime/Engine/Private/CubemapUnwrapUtils.cpp,类内未定义GetVertexShader()函数、GetPixelShader()函数

使用

RHICmdList.GetBoundVertexShader() 代替 GetVertexShader()。
RHICmdList.GetBoundPixelShader() 代替GetPixelShader()。

GraphicsPSOInit.BoundShaderState.VertexShaderRHI = VertexShader.GetVertexShader()
GraphicsPSOInit.BoundShaderState.PixelShaderRHI = PixelShader.GetPixelShader()

报错:

 error:marked "override' but does not override any member functions virtual bool Serialize(FArchive& Ar) override

解决:

直接删除或注释

报错:

Assertion failed: Alignedoffset == TypeLayout.size [File: /home/shao/unrealEngine_4.26/Engine/source/Runtime/core/Private/Serialization/MemoryImage.cpp] [Line: 224]

[FCubemapTexturePropertiesVsFisheye] calculated size: 280, Real size: 288

解决:

 在Engine/Source/Runtime/Engine/Public/CubemapUnwrapUtils.h文件修改以下内容,添加LAYOUT_FIELD().

 

 

再次运行

make
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

成功 

Carla下载地址:

git clone https://github.com/carla-simulator/carla

首先更新

./Update.sh

设置虚幻引擎的变量位置 

echo "export UE4_ROOT=~/UnrealEngine_4.26" >> ~/.bashrc
source ~/.bashrc

编译客户端PythonAPI

make PythonAPI

编译服务器

make launch

 测试

cd carla-master/PythonAPI/examples
python3 maunaul_control.py

可能缺少pygame和numpy,安装即可

pip3 install pygame
pip3 install numpy

点击运行 ,然后等待.........

生成交通车辆

python3 -m pip install -r requirements.txt
python3 generate_traffic.py

这样就有车在动了。

后面就是安装ROS和carla ros bridge了。

1.carla_ros_bridge功能包下的camera.py添加魚眼相机


class FisheyeCamera(Camera):

"""
Camera implementation details for fisheye camera
"""

def __init__(self, uid, name, parent, relative_spawn_pose, node, carla_actor, synchronous_mode):
super(
FisheyeCamera, self).__init__(uid=uid,
name=name,
parent=parent,
relative_spawn_pose=relative_spawn_pose,
node=node,
synchronous_mode=synchronous_mode,
carla_actor=carla_actor)

self.listen()

def get_carla_image_data_array(self, carla_image):
carla_image_data_array = numpy.ndarray(shape=(carla_image.height, carla_image.width, 4),
dtype=numpy.uint8, buffer=carla_image.raw_data)
return carla_image_data_array, 'bgra8'

设置相机内参camera_info的话题,应为鱼眼相机参数不同于普通相机参数,所以需要修改才能编译通过。 


if self.__class__.__name__ == "FisheyeCamera":
camera_info.width = int(self.carla_actor.attributes['x_size'])
camera_info.height = int(self.carla_actor.attributes['y_size'])
camera_info.distortion_model = 'plumb_bob'
cx = float(self.carla_actor.attributes['c_x'])
cy = float(self.carla_actor.attributes['c_y'])
fx = float(self.carla_actor.attributes['f_x'])
fy = float(self.carla_actor.attributes['f_y'])
else:
camera_info.width = int(self.carla_actor.attributes['image_size_x'])
camera_info.height = int(self.carla_actor.attributes['image_size_y'])
camera_info.distortion_model = 'plumb_bob'
cx = camera_info.width / 2.0
cy = camera_info.height / 2.0
fx = camera_info.width / (
2.0 * math.tan(float(self.carla_actor.attributes['fov']) * math.pi / 360.0))
fy = fx

2.actor_factory.py中导入鱼眼相机类。 


from carla_ros_bridge.camera import Camera, RgbCamera, DepthCamera, SemanticSegmentationCamera, DVSCamera,FisheyeCamera

创建模型及初始化鱼眼相机,发布carla/ego_vehicle/fisheye/image的话题topic。 


elif carla_actor.type_id.startswith("sensor.camera.fisheye"):
actor = FisheyeCamera(uid, name, parent, spawn_pose, self.node,
carla_actor, self.sync_mode)

相机绑定车辆
spawn_actor功能包中,依附于vehicle模型,object.json加入四个魚眼相机模型,以下是左相机的內外参数。 


{
"type": "sensor.camera.fisheye",
"id": "fisheye_left",
"spawn_point": {"x": 0.0, "y": 1.05, "z": 1.05, "roll": 0.0, "pitch": 30.0, "yaw": 90.0},
"x_size": 960,
"y_size": 640,
"max_angle": 190,
"d_1": -3.5510560636666778e-02,
"d_2": -1.9848228876245811e-02,
"d_3": 2.6080053057044101e-02,
"d_4": -9.7183762742328750e-03,
"f_x": 3.0334009006384287e+02,
"f_y": 3.2229678244636966e+02,
"c_x": 4.8649280066241465e+02,
"c_y": 3.2388095214561167e+02
},

未完

  • 20
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Ubuntu 20.04上安装Carla,您可以按照以下步骤进行操作: 1. 打开终端并更新软件包列表:sudo apt update 2. 安装必要的依赖项:sudo apt install build-essential clang-9 lld-9 g++-7 cmake ninja-build libvulkan1 python3-dev python3-pip python3-numpy python3-yaml python3-six 3. 克隆Carla的GitHub存储库:git clone https://github.com/carla-simulator/carla.git 4. 进入Carla存储库并检查最新版本的标记:cd carla && git checkout tags/.9.11 5. 创建一个名为“ build”的目录并进入该目录:mkdir build && cd build 6. 运行cmake以生成Makefile:cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DPYTHON_EXECUTABLE=$(which python3) -DPYTHON_INCLUDE_DIR=$(python3 -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -DPYTHON_LIBRARY=$(python3 -c "from distutils.sysconfig import get_config_var; print(get_config_var('LIBDIR'))") .. 7. 使用ninja-build编译Carla:ninja 8. 安装Carla Python API:sudo -H pip3 install --upgrade setuptools sudo -H pip3 install --user pygame numpy carla==.9.11 9. 运行Carla:./CarlaUE4.sh 希望这可以帮助您安装Carla! ### 回答2: Ubuntu20.04是一个非常流行的操作系统,很多人都喜欢使用它。CARLA是一个最近非常受欢迎的开源自动驾驶仿真软件,许多人想在Ubuntu20.04上安装CARLA。本文将详细介绍如何在Ubuntu20.04上安装CARLA。 第一步:安装依赖项 在安装CARLA之前,需要先安装一些必要的依赖项。在终端中运行以下命令来安装这些依赖项。 ``` sudo apt-get update sudo apt-get install build-essential clang-9 lld-9 g++-8 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync wget libxrandr-dev libxcb-present-dev libxcb-dri3-dev libx11-dev libglu1-mesa-dev libxi-dev libopenal-dev libsndfile1-dev libudev-dev zlib1g-dev libfreetype6-dev libfontconfig1-dev libxcb-cursor-dev libpulse-dev python-tk x11-apps python-setuptools libboost-all-dev libssl-dev libgles2-mesa-dev libsdl2-dev joystick ``` 第二步:克隆CARLA代码 使用Git工具来克隆CARLA代码。在终端中运行以下命令: ``` git clone https://github.com/carla-simulator/carla.git ``` 克隆完成后,进入CARLA根目录并切换到指定版本: ``` cd carla/ git checkout tags/0.9.11 ``` 第三步:编译CARLA 接下来,我们需要编译CARLA。在CARLA根目录中运行以下命令: ``` mkdir -p carla-build && cd carla-build cmake -DCMAKE_BUILD_TYPE=Release ../ make -j8 ``` 这个过程需要一些时间,视您的计算机性能而定。如果遇到问题,请先确保您已经安装了所有必要的依赖项。 第四步:运行CARLA 完成编译并检查无误后,就可以运行CARLA了。在终端中输入以下命令: ``` ./CarlaUE4.sh ``` 如果你看到一个启动屏幕,那么恭喜你已经成功安装了CARLA并在Ubuntu20.04上运行它。 总结 这里我们已经学习了如何在Ubuntu20.04上安装CARLA。我们首先安装了必要的依赖项,然后从GitHub上克隆CARLA代码,编译并最后运行CARLA。如果您在这个过程中遇到了任何问题,可以参考CARLA官方文档,或者在社区中寻找帮助。 ### 回答3: 为了在Ubuntu 20.04上安装Carla,需要按照以下步骤进行操作: 1. 确认您的Ubuntu 20.04系统已经升级到最新版本。您可以打开终端并使用以下命令进行升级: sudo apt update sudo apt upgrade 2. 安装依赖项:在完成最新的升级后,需要安装一些软件包和依赖项。运行以下命令: sudo apt-get install build-essential cmake python3-dev python3-pip libjpeg-dev libtiff5-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libgtk2.0-dev libcanberra-gtk-module libcanberra-gtk3-module 3. 安装Carla:在安装完所有依赖项后,可以开始安装Carla。可以使用以下命令从GitHub下载Carla的源代码: git clone https://github.com/carla-simulator/carla.git 4. 构建Carla:当下载完成后,需要使用以下命令在本地构建Carla: cd carla ./Update.sh make launch 这个过程可能需要一些时间,具体时间会根据您的系统配置而有所不同。 5. 运行Carla:一旦构建完成,可以使用以下命令启动Carla: ./CarlaUE4.sh 如果您使用的是较弱的GPU,可能需要使用以下参数: ./CarlaUE4.sh -opengl 6. 安装Python API:如果需要使用Python API进行Carla的开发,还需要安装Python API。可以使用以下命令将Python API安装到你的Python environmet中: sudo -H pip3 install -r PythonAPI/carla/requirements.txt 您现在就可以开始在Ubuntu 20.04上使用Carla了! 需要注意的是,Carla是一个高性能的模拟器,需要一定的系统资源支持。在安装之前,应确保您的系统具有足够大的内存和处理器。如果您的系统性能不足,可能会导致Carla运行缓慢或停滞不前。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值