安装ESIM事件相机模拟器遇到的一些问题及解决方法

这篇博客详细介绍了如何在Ubuntu 20.04上安装和配置ROS Noetic的事件相机模拟器。首先,通过一系列的sudo apt-get install命令安装必要的依赖,包括ROS本身、catkin、vcstools、pcl_ros等。接着,创建catkin工作空间,克隆rpg_esim存储库,并解决可能出现的网络连接问题。在构建过程中遇到找不到empy和cv_bridge模块的问题,分别通过安装python3-empy和ros-noetic-cv-bridge解决。最后,通过rosrun命令运行模拟器,并测试其功能,包括使用ffmpeg处理视频、生成事件数据并使用rqt_image_view进行可视化。在过程中还解决了各种错误,如缺少QT平台插件、找不到roscore等问题。

安装部分:

如果您的系统上尚未安装,请安装ROS。
一行代码安装ROS的方法另一篇博文已经写过了点击此处

我装的版本是ros的noetic,对应ubuntu20.04

我们建议专门为模拟器创建一个新的 catkin 工作空间,如下所示:

mkdir -p ~/sim_ws/src && cd ~/sim_ws
catkin init
catkin config --extend /opt/ros/noetic --cmake-args -DCMAKE_BUILD_TYPE=Release

vcstools如果您还没有安装它:

sudo apt-get install python-vcstool

安装报错,参考此处解决

克隆此存储库并运行vcstools:

cd src/
git clone git@github.com:uzh-rpg/rpg_esim.git
vcs-import < rpg_esim/dependencies.yaml

报错提示不能连接到github.com,参考此处解决

安装pcl_ros(注意第一行noetic处为对应版本):

sudo apt-get install ros-noetic-pcl-ros
sudo apt-get install libproj-dev

安装glfw:

sudo apt-get install libglfw3 libglfw3-dev

安装glm:

sudo apt-get install libglm-dev

可选安装轨迹服务器:

sudo apt-get install ros-noetic-hector-trajectory-server

禁用不需要的包:

cd ze_oss
touch imp_3rdparty_cuda_toolkit/CATKIN_IGNORE \
      imp_app_pangolin_example/CATKIN_IGNORE \
      imp_benchmark_aligned_allocator/CATKIN_IGNORE \
      imp_bridge_pangolin/CATKIN_IGNORE \
      imp_cu_core/CATKIN_IGNORE \
      imp_cu_correspondence/CATKIN_IGNORE \
      imp_cu_imgproc/CATKIN_IGNORE \
      imp_ros_rof_denoising/CATKIN_IGNORE \
      imp_tools_cmd/CATKIN_IGNORE \
      ze_data_provider/CATKIN_IGNORE \
      ze_geometry/CATKIN_IGNORE \
      ze_imu/CATKIN_IGNORE \
      ze_trajectory_analysis/CATKIN_IGNORE

构建event_camera_simulator节点:(注意退出到该系列文件的根目录)

catkin build esim_ros

提示:Errors << catkin_tools_prebuild:cmake /root/sim_ws/logs/catkin_tools_prebuild/build.cmake.014.log
CMake Error at /opt/ros/noetic/share/catkin/cmake/empy.cmake:30 (message):
Unable to find either executable ‘empy’ or Python module ‘em’… try
installing the package ‘python3-empy’
Call Stack (most recent call first):
/opt/ros/noetic/share/catkin/cmake/all.cmake:164 (include)
/opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
CMakeLists.txt:4 (find_package)

解决方法,参考此处
加了那行链接后,一顿操作,删了build、devel、logs文件夹,然后又执行,巴拉巴拉,最后又删了,但是上面的语句突然就可以执行了,不过我把conda环境换成了2.7

为您的工作区创建一个别名,以便下次轻松获取它。

echo "source ~/sim_ws/devel/setup.bash" >> ~/setupeventsim.sh
chmod +x ~/
### ESIM事件相机模拟器软件工具及相关资源 #### 背景介绍 ESIM是一个用于仿真基于事件的摄像机的数据流的开源库[^1]。该类摄像机不同于传统的帧式摄像头,它们能够以异步方式捕捉场景中的亮度变化,从而提供高时间分辨率的信息。 #### 功能特性 - **高效仿真实现**:通过精确模拟DVS(Dynamic Vision Sensor)传感器的行为来生成合成事件数据。 - **灵活性强**:支持多种参数配置选项,允许研究人员调整噪声水平、响应阈值和其他重要属性。 - **易于集成**:提供了Python绑定以及ROS节点形式的支持,方便与其他计算机视觉算法相结合使用。 #### 使用方法概述 为了利用ESIM创建逼真的事件序列,通常需要经历以下几个方面的工作流程: ##### 准备工作 安装依赖项并克隆仓库到本地环境中: ```bash git clone https://github.com/prophesee-ai/esim.git cd esim && pip install . ``` ##### 运行示例脚本 执行预定义好的例子可以快速上手如何操作这个工具包: ```python from esim.py import ESim # 初始化对象实例 simulator = ESim(config_file='path/to/config.yaml') # 加载视频作为输入源 video_path = 'sample.mp4' events_stream = simulator.run_video(video_path) for event in events_stream: # 处理产生的每一个离散事件... pass ``` ##### 自定义设置 根据具体应用场景修改配置文件内的各项参数,比如改变光圈大小或者引入随机抖动效果等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值