MineSim: Scenario-Based Simulator for Autonomous Truck Planning in Open-Pit Mines
- Initial project, 2024-10-05
- Release the project MineSim-3DVisualTool v1.0_zh, 2025-01-13
- Release the project MineSim-3DVisualTool v1.0_en, xxxx
A 3D visualization tool for the MineSim project, developed based on ROS.
- 3D Scene Visualization: Visualize the results of simulation scenarios in a 3D environment.
- Simulation Process Information: Support adding information during the simulation process.
Caution
For more information, refer to the MineSim Project Homepage.
- Usage Example of MineSim-3DVisualTool:
Watch the video: Usage example of MineSim-3DVisualTool
- Example Visualization of the Scenario:
visualization scenario
jiangtong_intersection_9_3_2
for MineSim-3DVisualTool:
Watch the video: Example of the visualization scenario
Figure: scenario ID jiangtong_intersection_9_3_2
Note: The tested environment is Ubuntu 20.04 + ROS Noetic Ninjemys.
-
Download Project Code.
-
Install ROS:
- Full Desktop Installation (Desktop-Full, recommended).
- Follow the ROS Tutorials for installation.
-
Install ROS Dependencies:
# noetic corresponds to the ROS version sudo apt-get install ros-noetic-rviz-animated-view-controller sudo apt-get install ros-noetic-joy source /opt/ros/noetic/setup.bash
In the root directory of the MineSim-3DVisualTool
project, open a terminal and execute the ROS build commands.
cd ${YOUR_WORKSPACE_PATH}/src
git clone https://github.com/HKUST-Aerial-Robotics/EPSILON.git
cd ..
catkin_make
source ~/${YOUR_WORKSPACE_PATH}/devel/setup.bash
catkin_make
After a successful build, you can run the 3DVisualTool to replay the simulation process logs.
Note: Every time you open a new terminal, you need to source
./devel/setup.bash
to ensure that the compiled project is recognized by ROS:
source ./devel/setup.bash
-
Copy the
log.json
file: Copy thelog.json
file obtained from the MineSim closed-loop simulation test tosrc/minesim_visualizor_3d/core/playgrounds/minesim_run_log
-
Start ROS Master:
Open a new terminal and run:
roscore
-
Run Phy Simulator Logging:
Open a new terminal, first source the setup file, then run:
source ./devel/setup.bash cd ./launch/rviz rviz -d phy_simulator_logging.rviz
-
Run Phy Simulator Planning:
Open a new terminal, first source the setup file, then run:
source ./devel/setup.bash roslaunch phy_simulator phy_simulator_planning.launch
-
Run Minesim Agents Log Visualization:
Open a new terminal, first source the setup file, then run:
source ./devel/setup.bash roslaunch minesim_log_vis minesim_agents_log.launch
Note:
# roslaunch is used to start nodes defined in launch files.
# Usage:
roslaunch [package] [filename.launch]
The MineSim-3DVisualTool visualization project needs improvement:
- Automatic Vehicle Count Parsing: Automatically parse the number of vehicles from
log.json
and configure RViz Markers accordingly. - External Configuration for Marker Settings: All RViz Marker colors and scales are set in an external file
src/minesim_visualizor_3d/core/playgrounds/configuration/config.json
.
We would like to express our sincere thanks to the authors of the following tools and packages:
- Autonomous Driving Simulation Tool EPSILON: EPSILON
- Lock-free Queue: moodycamel
- JSON Parser: JSON for Modern C++
- KD-Tree Library: nanoflann
The source code is released under the MIT license.
This is research code, distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of merchantability or fitness for a particular purpose.