注意事项:
1、针对G+R架构下Gazebo7.14上运行30架Hector四旋翼无人机达不到1的情况,基于程序插桩技术,得到Gazebo仿真运行瓶颈——模型预处理模块,该模块由Gazebo事件机制实现。
2、针对该模块采用并行技术进行优化,并行手段包括OpenMp、TBB、线程池、C++11Thtead。在sdformat包中增加标签用于设置并行参数。其中parallel标签各属性含义如下:
numbers_of_thread: 使用OpenMp、C++11Thread、线程池优化时指定的线程数量
method:
0 串行
1至5 OPENMP优化(设置为1即可)
6 线程池优化(该功能暂时屏蔽)
7 使用C++11线程进行并行
8 使用TBB进行并行,此时size_of_block表示TBB分块参数,type表示分类器(0:auto_partitioner 1: affinity_partitioner 2: simple_partitioner)
3、针对Gazebo仿真图像感知功能对Gazebo仿真仿真性能产生较大影响的情况,将Gazebo仿真计算与Gazebo图像感知分离,增加标签,用于设置分布式架构下仿真同步参数。其中distributed标签各属性含义如下:
flag:
0 不启用图像感知分离功能
1 启用图像感知分离功能
type:
0 gazebo为仿真计算端
1 gazebo为图像感知端
ip: 图像感知分离情况下远端的IP
port: 图像感知分离情况下远端的端口
4、编译安装sdformat包后,需要将sdformat包下sdf文件夹下1.*(1.0、1.2、1.3、1.4、1.5、1.6)标签库拷贝到/usr/share/sdformat目录下。
5、利用cmake编译gazebo期间,可能会出现依赖库缺失的情况,需利用sudo apt install或源码方式进行缺失依赖库的安装。