Open Robotics的仿真 小组很高兴宣布ROS Noetic和Foxy之Ignition集成的发布!ROS用户可以轻松访问Ignition Citadel,这是Ignition的第一个5年LTS,将一直支持到2025年。
Ignition是下一代Gazebo模拟仿真器,具有更新的体系结构和旨在改善模拟仿真体验的新功能。Ignition的一些新功能包括:
最重要的是,Ignition已经具有许多习惯Gazebo经典使用的功能,例如:
可以在https://github.com/ignitionrobotics/ros_ign中找到集成包。尝试例如:
sudo apt install ros-foxy-ros-ign
. /opt/ros/foxy/setup.sh
ros2 launch ros_ign_gazebo_demos rgbd_camera_bridge.launch.py
有关在ROS上使用模拟器的更多详细教程:
更多案例:
还有更多!Ignition不仅仅是模拟器:它是C++库和工具的集合,可以独立于机器人应用程序上的模拟器使用。可以在ROS软件包或普通C++项目上使用它们。
可以在package.xml中使用(rosdep):
ignition-citadel
ignition-cmake2
ignition-common3
ignition-fuel-tools4
ignition-gazebo3
ignition-gui3
ignition-launch2
ignition-math6
ignition-math6-eigen3
ignition-msgs5
ignition-physics2
ignition-plugin
ignition-rendering3
ignition-sensors3
ignition-tools
ignition-transport8
sdformat
包括15个库。以下是一些可能特别感兴趣的内容:
Ignition Math是用于机器人应用程序的通用数学库。它提供了广泛的功能,包括:
许多物理模拟软件库已针对不同的应用程序(游戏,机器人技术,科学)设计并具有不同的功能(刚性或可变形接触,2d或3d)。Ignition Physics的设计前提是,没有一个单一的物理引擎能够普遍适用于所有模拟环境。根据物理引擎的功能,应该有可能支持一组不同的功能。然后可以根据每个应用程序的上下文为它选择一个物理引擎。
与Ignition Physics类似,Ignition Rendering是一个C++库,旨在为不同的渲染引擎提供抽象。它提供了用于创建3D图形应用程序的统一API,并支持基于物理的渲染(PBR)。它附带了对Ogre 1和Ogre 2引擎的支持。
Ignition GUI建立在Qt Quick之上,可为小部件提供现代的材料设计外观,这些外观在开发机器人应用程序(例如3D视图,绘图,仪表板等)时非常有用,并且可以在方便的统一界面中一起使用。
Ignition GUI附带了几个可立即使用的小部件,并提供了可用于添加自定义小部件的插件界面。
Ignition Plugin是一个瘦库,用于注册插件库并在运行时动态加载它们。
Ignition Common提供了一组涵盖许多不同用例的组件。视听库支持处理音频和视频文件,图形库可以将各种3D网格纹理文件格式加载到通用的内存表示形式中,而Ignition Common的核心库包含跨Base64编码/解码到线程池的功能。
Ignition Common包含的许多功能中的一些是: