Repository Summary
| Description | Robomaster-2024-XDU-IRobot-哨兵导航仓库 |
| Checkout URI | https://github.com/irobot-algorithm/sentry_navigation.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2025-03-19 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Tags | robotics navigation |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| fast_lio | 0.0.0 |
| point_lio | 0.0.0 |
| bspline_opt | 0.0.0 |
| mpc_controller | 0.0.0 |
| path_searching | 0.0.0 |
| plan_env | 0.0.0 |
| ego_planner | 0.0.0 |
| traj_utils | 0.0.0 |
| boundary_handler | 0.0.1 |
| far_planner | 0.0.1 |
| goalpoint_rviz_plugin | 0.0.1 |
| graph_decoder | 0.0.1 |
| teleop_rviz_plugin | 0.0.1 |
| visibility_graph_msg | 0.0.1 |
| fast_gicp | 0.0.0 |
| faster_lio | 0.0.0 |
| global_planner | 1.17.3 |
| nav_bringup | 0.0.0 |
| nav_transporter | 0.0.0 |
| pcd2pgm | 0.0.0 |
| local_planner | 0.0.1 |
| obstacle_generater | 0.0.0 |
| terrain_analysis | 0.0.1 |
| terrain_analysis_ext | 0.0.1 |
| pointcloud_repub | 0.0.0 |
| realsense2_camera | 2.3.2 |
| realsense2_description | 2.3.2 |
| sentry_msgs | 0.0.0 |
| sentry_srvs | 0.0.0 |
README
Sentry Navigation
introduction
本仓库为2024哨兵导航仓库
main为双头构型,spare-sentry为单头构型

-
📊 决策
-
state_processing
维护一个状态机执行更上层的决策指令
-
-
:round_pushpin: 定位
-
faster_lio
在原有代码基础上利用imu数据结合内部的esekf前向预测,获得了大约200hz的定位频率,增加转换矩阵适应雷达的不同安装
-
fast_gicp
将实时采集的pcd与建图获得的pcd进行icp,维护map->odom的回环检测;经赛场测试,官方uwb定位精度极高,因此选择在uwb和定位高度不匹配时在此线程重启lio进行重定位
-
-
👁️ 感知
-
pointcloud_repub
裁切进入lio前的点云,变换lio去畸变后的点云到世界系,融合其他传感器(如d435)点云
-
terrain_anlysis
可根据雷达fov选择每次分析时更新地图栅格的区域,适应各种雷达安装方式
-
obstacle_generator
根据赛场已知地图,将静态障碍物发布为障碍物点云供规划使用
-
-
📅 规划
-
far_planner
以拓扑图为基础的全局规划,在动态场景下效果较好,规划的路径相较A*更加适配下层离线轨迹的local planner
-
local_planner
cmu_exploration的local_planner,以离线轨迹为基础,为适应全向移动在轨迹评分上有部分改动
-
-
⚙️ 执行
-
path_follow
简单的比例跟随轨迹,为适应赛场决策,目标跟随,云台控制,小陀螺等决策指令也在这里一并处理发出
-
-
📡 通信
-
nav_transporter
使用usb通信,can通信长时间未维护
-
environment
- 下载所需依赖:
apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
echo "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" > /etc/apt/sources.list.d/realsense.list
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential cmake libeigen3-dev libpcl-dev libgoogle-glog-dev libudev-dev git libxrandr-dev libxi-dev libxinerama-dev libsdl2-dev libusb-1.0.0-dev
cp -rf /usr/include/eigen3/Eigen /usr/include/Eigen -R
- clone该仓库:
git clone git@github.com:IRobot-Algorithm/sentry_navigation.git
- 使用
lfs下载所需的第三方库:
git lfs install
git lfs pull
- 解压并编译安装第三方库:
```bash
for file in ./thirdparty/*; do
if [ -f “$file” ]; then
case “$file” in
*.tar.gz) tar -xzf “$file” -C ./thirdparty ;;
*.zip) unzip “$file” -d ./thirdparty ;;
*.tar.bz2) tar -xjf “$file” -C ./thirdparty ;;
*.tar.xz) tar -xJf “$file” -C ./thirdparty ;; \
File truncated at 100 lines see the full file