Development of applications related to closed-loop control requires either testing on the field or on a realistic simulator, with the latter being more convenient, inexpensive, safe, and leading to shorter development cycles. To address that need, the present work introduces MVSim, a simulator for multiple vehicles or robots capable of running dozens of agents in simple scenarios, or a handful of them in complex scenarios. MVSim employs realistic physics-grounded friction models for tire-ground interaction, and aims at accurate and GPU-accelerated simulation of most common modern sensors employed in mobile robotics and autonomous vehicle research, such as depth and RGB cameras, or 2D and 3D LiDAR scanners. All depth-related sensors are able to accurately measure distances to 3D models provided by the user to define custom world elements. Efficient simulation is achieved by means of focusing on ground vehicles, which allows the use of a simplified 2D physics engine for body collisions while solving wheel-ground interaction forces separately. The core parts of the system are written in C++ for maximum efficiency, while Python, ROS 1, and ROS 2 wrappers are also offered for easy integration into user systems. A custom publish/subscribe protocol based on ZeroMQ (ZMQ) is defined to allow for multiprocess applications to access or modify a running simulation. This simulator enables and makes easier to do research and development on vehicular dynamics, autonomous navigation algorithms, and simultaneous localization and mapping (SLAM) methods.
翻译:开发与闭路控制有关的应用程序需要实地测试或采用现实的模拟器,后者更方便、廉价、安全,并导致较短的开发周期。为满足这一需要,目前的工作采用MVSim,即能够以简单假设方式操作数十种物剂的多车辆或机器人的模拟器,或者在复杂假设情况下使用少数机器人。MVSim采用现实的物理地面摩擦模型进行轮胎与地面的互动,目的是准确和加速模拟移动机器人和自主车辆研究中使用的最常见现代传感器,例如深度和RGB相机,或者2D和3DLIDAR自动导航扫描仪。所有与深度有关的传感器都能够准确地测量用户提供的3D模型的距离,以界定自定义世界要素。通过侧重于地面车辆,从而使用简化的2D物理引擎进行身体碰撞,同时单独解决轮地互动力。系统的核心部分以C++形式写作最高效率,而Python、ROS 1和ROS 2LS 的自动自动导航仪仪仪,也可以将自动访问和ROS 2S 系统用于定制的自动连接系统。