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