Skip to content
forked from MRPT/mvsim

车辆和移动机器人模拟器。C++ 和 Python API。将其用作独立应用程序或通过 ROS 1 或 ROS 2 使用

License

Notifications You must be signed in to change notification settings

yuanzhongqiao/mvsim

 
 

Repository files navigation

模拟仿真 文件状态 持续集成Linux CI 检查 clang 格式

多车辆模拟器 (MVSim)

适用于 2D(“2.5D”)车辆和机器人的轻量级、逼真的动态模拟器。它专为分析车辆动力学、车轮与地面接触力以及典型机器人传感器(例如 2D 和 3D 激光雷达)的精确模拟而定制。

该软件包包括 C++ 库、独立应用程序以及 ROS 1 和 ROS 2 节点。

许可证:3-clause BSD 许可证 版权所有 (C) 2014-2023 Jose Luis Blanco [email protected](阿尔梅里亚大学)和合作者

请参阅MVSim SoftwareX 论文(或ArXiV 预印本),了解项目架构的简要介绍。如果您想在您的工作中引用 MVSim,请使用:

@article{blanco2023mvsim,
  title = {MultiVehicle Simulator (MVSim): Lightweight dynamics simulator for multiagents and mobile robotics research},
  journal = {SoftwareX},
  volume = {23},
  pages = {101443},
  year = {2023},
  issn = {2352-7110},
  doi = {https://doi.org/10.1016/j.softx.2023.101443},
  url = {https://www.sciencedirect.com/science/article/pii/S2352711023001395},
  author = {José-Luis Blanco-Claraco and Borys Tymchenko and Francisco José Mañas-Alvarez and Fernando Cañadas-Aránega and Ángel López-Gázquez and José Carlos Moreno}
}

安装

有关所有详细信息和选项,请参阅安装文档。

如果您已经有 ROS 1 或 ROS 2,最简单的安装方法是:

sudo apt install ros-$ROS_DISTRO-mvsim

然后跳转到后续步骤,了解如何启动一些演示世界。

演示视频

截图演示

MvSim简介

构建矩阵状态

发行版 构建开发 构建版本 稳定版
ROS 1 思维 (u20.04) 构建状态 构建状态 版本
ROS 2 谦虚 (u22.04) 构建状态 构建状态 版本
ROS 2 铁 (u22.04) 构建状态 构建状态 版本
ROS 2 滚动 (u22.04) 构建状态 构建状态 版本
停产发行版 稳定版
ROS 1 旋律 (u18.04) 版本
ROS 2 狐狸 (u20.04) 版本

文档

如果您克隆此存储库,请记住也检查 git 子模块:

git clone https://github.com/MRPT/mvsim.git --recursive

启动演示

请在此处查看有关第一步的更多信息。

独立:

mvsim launch mvsim_tutorial/demo_warehouse.world.xml
mvsim launch mvsim_tutorial/demo_2robots.world.xml
mvsim launch mvsim_tutorial/test_mesh.world.xml

活性氧1:

roslaunch mvsim demo_depth_camera.launch

活性氧2:

ros2 launch mvsim demo_warehouse.launch.py
ros2 launch mvsim demo_depth_camera.launch.py

主要特点

  • 内存、CPU 和库要求轻量级。
  • 通过.xml“世界”文件完全可配置。
  • Headless 模式,适用于 dockerized 环境。
  • 世界地图:
    • 占用网格图:作为图像或 MRPT 二进制地图输入(来自 icp-slam、rbpf-slam 等)
    • 高程网格。
  • 车型:
    • 差速驱动(2 轮和 4 轮驱动)。
    • 阿克曼转向(运动和动态转向,不同的机械驱动模型)。
    • 阿克曼转向系统配备全级机械差速器。
  • 传感器:
    • 2D 和 3D 激光雷达:机器人可以看到彼此、自己的身体等。
    • RGB相机
    • 深度相机
  • 车辆接口:自定义 Python 接口或 ROS。选择:
    • 对力和电机扭矩的原始访问。
    • 扭转命令(使用内部控制器)。

About

车辆和移动机器人模拟器。C++ 和 Python API。将其用作独立应用程序或通过 ROS 1 或 ROS 2 使用

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.4%
  • Python 8.0%
  • CMake 4.4%
  • Other 1.2%