MVSim 开源项目安装与使用教程
1. 项目的目录结构及介绍
MVSim 项目的目录结构如下:
mvsim/
├── CMakeLists.txt
├── LICENSE
├── README.md
├── formatter.sh
├── package.xml
├── requirements.txt
├── src/
│ ├── mvsim_core/
│ ├── mvsim_ros1/
│ └── mvsim_ros2/
├── include/
│ └── mvsim/
├── scripts/
│ └── mvsim_cli
└── worlds/
├── demo_warehouse.world.xml
├── demo_2robots.world.xml
└── test_mesh.world.xml
目录结构介绍
- CMakeLists.txt: 项目的 CMake 构建配置文件。
- LICENSE: 项目的许可证文件,采用 3-clause BSD License。
- README.md: 项目的介绍和使用说明。
- formatter.sh: 格式化脚本。
- package.xml: ROS 包的元数据文件。
- requirements.txt: 项目依赖的 Python 包列表。
- src/: 包含项目的源代码,分为核心库 (
mvsim_core
) 和 ROS 1 (mvsim_ros1
) 及 ROS 2 (mvsim_ros2
) 的实现。 - include/: 包含项目的头文件。
- scripts/: 包含项目的脚本文件,如命令行接口 (
mvsim_cli
)。 - worlds/: 包含示例的模拟世界配置文件。
2. 项目的启动文件介绍
MVSim 提供了多种启动方式,包括命令行接口和 ROS 节点。
命令行接口
使用 mvsim_cli
脚本启动模拟世界:
./scripts/mvsim_cli launch worlds/demo_warehouse.world.xml
ROS 1 启动
使用 roslaunch
命令启动 ROS 1 节点:
roslaunch mvsim_ros1 demo_warehouse.launch
ROS 2 启动
使用 ros2 launch
命令启动 ROS 2 节点:
ros2 launch mvsim_ros2 demo_warehouse.launch
3. 项目的配置文件介绍
MVSim 的配置文件主要用于定义模拟世界的场景和车辆参数。配置文件通常以 .world.xml
结尾。
示例配置文件
以下是一个简单的配置文件示例:
<mvsim_world>
<vehicle>
<name>robot1</name>
<class>DiffDriveVehicle</class>
<initial_pose x="0" y="0" yaw="0"/>
<chassis>
<mass>10.0</mass>
<inertia_xx>1.0</inertia_xx>
<inertia_yy>1.0</inertia_yy>
<inertia_zz>1.0</inertia_zz>
<geometry>
<shape>box</shape>
<size>1.0 0.5 0.3</size>
</geometry>
</chassis>
<wheels>
<wheel>
<name>left_wheel</name>
<position>0.5 0.25 0</position>
<radius>0.2</radius>
<width>0.1</width>
</wheel>
<wheel>
<name>right_wheel</name>
<position>0.5 -0.25 0</position>
<radius>0.2</radius>
<width>0.1</width>
</wheel>
</wheels>
</vehicle>
</mvsim_world>
配置文件结构
- mvsim_world: 根元素,包含整个模拟世界的配置。
- vehicle: 定义车辆参数,包括名称、类型、初始位置、底盘参数和车轮参数。
- chassis: 定义车辆底盘的物理参数,如质量、惯性矩和几何形状。
- wheels: 定义车辆的车轮参数,包括位置、半径和宽度。
通过这些配置文件,用户可以自定义模拟世界的场景和车辆参数,以满足不同的仿真需求。