# SCURM_Nav_Tutorial **Repository Path**: fdasfdsf432/SCURM_Nav_Tutorial ## Basic Information - **Project Name**: SCURM_Nav_Tutorial - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-24 - **Last Updated**: 2026-04-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SCURM火锅战队 24赛季哨兵导航 ## 包说明 | Package Name | Description | |--------------|-------------| | ✅auto_aim_interfaces | | | ✅[autonomous_exploration_development_environment](https://github.com/HongbiaoZ/autonomous_exploration_development_environment) | **MODIFIED** development env for cmu-series planner | | ✅[BehaviourTree.CPP](https://github.com/BehaviorTree/BehaviorTree.CPP) | **MODIFIED** BehaviourTree lib | | ✅cmd_chassis | - cmd_vel to chassis_cmd for communication and motion type of the chassis
- exexute rotation command in chassis_link since the true value is unavailable | | ✅control_panel | a simple Qt GUI for simulating referee system | | ✅FAST_LIO | fastlio mapping | | ✅livox_ros_driver2 | Driver for livox lidar | | ✅nav2_plugins
- behavior_ext_plugins
- costmap_intensity
- nav2_mppi_controller_ext
- velocity_smoother_ext | self defined nav2 plugins
- an enhenced back_up action that move toward free space
- 2 costmap_2d layer that use intensity filed of pointcloud msg rather than height (use with terrain analysis in autonomous_exploration_development_environment)
- an enhenced mppi controller that is able to adjust pose before some complex terrain(use with terrain analysis-pathNorm)
- an enhenced velocity smoother that increase the speed on slope automatically (use with terrain analysis-pathNorm) | | ✅rm_decision_cpp | sentry desicion module based on BehaviourTree.CPP | | ✅sentry_description | urdf of the robot model, publish tf from sensor frame to base_link | | rm_simulation | an rm version of autonomous_exploration_development_environment | ## Quick Start 1. prepare workspace **FOR DOCKER USER:(HIGHLY RECOMMENDED)** pull the image from dockerhub and run it: ```bash docker pull polarisxq/scurm:nav_tutorial # for windows user docker run --gpus all -dit --ipc=host --net=host --privileged -e DISPLAY=host.docker.internal:0.0 -e NVIDIA_DRIVER_CAPABILITIES=all polarisxq/scurm:nav_tutorial # use XLaunch to open the GUI # for linux user sudo xhost + && sudo docker run -dit --network=host --pid=host --privileged -v /dev:/dev -e DISPLAY=${DISPLAY} polarisxq/scurm:nav_tutorial ``` Code inside the image is not always the latest version, please run `git pull` inside the container under the folder `\home\sentry_ws\src` to update, then re-complie the workspace. **BUILD FROM SOURCE:(NOTE THAT SOME FILE PATH MUST BE CHANGED)** clone this repo to your workspace: ```bash mkdir -p ~/nav_tutorial_ws/src cd ~/nav_tutorial_ws/src git clone ``` build the workspace ```bash cd ~/nav_tutorial_ws rosdep install --from-paths src --ignore-src -r -y colcon build --symlink-install ``` install groot2 2. run the simulation ```bash ros2 launch pb_rm_simulation rm_simulation.launch.py ``` 3. start mapping ```bash ros2 launch sentry_bringup mapping.launch.py ``` 4. use the keyboard to control the robot ```bash ros2 run teleop_twist_keyboard teleop_twist_keyboard ``` 5. save the map ```bash ros2 run nav2_map_server map_saver_cli -t /projected_map -f test_map --fmt png ros2 service call /map_save std_srvs/srv/Trigger ``` 6. close all the nodes and then, restart the simulation ```bash ros2 launch pb_rm_simulation rm_simulation.launch.py ``` 7. start localization ```bash ros2 launch sentry_bringup bringup_all_in_one.launch.py ``` 8. start decision module ```bash ros2 run control_panel control_panel ``` ```bash ros2 launch rm_decision_cpp run.launch.py ``` ## Acknowledgment rm_simulation packages is from [pb_rm_simulation](https://github.com/LihanChen2004/pb_rm_simulation), big thanks to [LihanChen2004](https://github.com/LihanChen2004)