Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file
CONTRIBUTING
Repository Summary
| Description | 中南大学FYT战队RM哨兵机器人上位机算法 |
| Checkout URI | https://github.com/baiyeweiguang/csu-rm-sentry.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2024-03-15 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rm_bringup | 0.0.0 |
| livox_ros_driver2 | 1.0.0 |
| fast_lio | 0.0.0 |
| icp_registration | 0.0.0 |
| point_lio | 0.0.0 |
| rm_navigation | 0.0.0 |
| costmap_converter | 0.1.2 |
| costmap_converter_msgs | 0.1.2 |
| teb_local_planner | 0.9.1 |
| teb_msgs | 0.0.1 |
| imu_complementary_filter | 2.1.3 |
| linefit_ground_segmentation | 0.0.1 |
| linefit_ground_segmentation_ros | 0.0.1 |
| pointcloud_to_laserscan | 2.0.1 |
| rm_robot_description | 0.0.0 |
README
CSU-RM-Sentry
中南大学FYT机器人战队哨兵机器人上位机算法(定位与导航部分)。基于点云分割和Nav2导航框架,导航过程中上坡
深圳北理莫斯科大学北极熊战队的同学做了一个很出色的仿真环境,用到了本仓库的一些算法,比本仓库更完善: https://gitee.com/SMBU-POLARBEAR/pb_rmsimulation
作者: 邹承甫
找我交流: 3548054568(QQ)
我们不是强队,我也不是啥大佬,只是个代码搬运工,目前因为升学/就业的事比较忙,经常性忘记回复,见谅…
思路介绍
- 使用POINT-LIO/FAST_LIO2获得3D里程计
前者可以输出100+Hz的Odometry,对导航更友好,但相对的,CPU占用会更高
- 使用ICP进行重定位
由于一直开着ICP对性能要求较高,所以我们只在第一次启动或者手动设置/initialpose时进行点云配准。获得初始位姿后只依赖LIO进行定位,没有回环检测,在长时间运行后可能会出现累积误差
- 使用linefit_ground_segmentation对MID360的点云进行分割,分割为地面和障碍物
- 将障碍物的点云从PointCloud2压缩为LaserScan,输入Nav2
- 用Nav2进行导航
目前使用的是TEB算法作为局部规划器
| 地面分割效果图 | 导航功能像Nav2一样实现 |
|---|---|
![]() |
![]() |
该项目高度参考了以下开源项目,感谢他们
- rm_vision: 陈君开源的rm_vision项目
- TUP-Sentry-Framwork: 沈阳航空航天大学哨兵导航框架
1. 框架
- rm_bringup (启动相机驱动,串口驱动,自瞄程序和robot_state_publisher,参考rm_vision项目)
- rm_interfaces (自定义msg和srv)
- rm_robot_description (机器人的urdf)
- rm_autoaim (自瞄算法,基于陈君rm_vision项目做了一点修改)
- rm_localization (定位算法)
-
rm_navigation (Nav2的launch和参数)
- src (Nav2的参数)
- third_party (TEB算法)
-
rm_perception (处理传感器数据的一些算法)
- imu_complementary_filter (IMU滤波,暂时不用了,节省资源)
- linefit_ground_segmentation (点云分割)
- pointcloud_to_laserscan (将PointCloud2转换为LaserScan)
-
rm_hardware_driver (传感器的驱动)
- rm_camera_driver (工业相机驱动)
- rm_serial_driver (和下位机进行通信的串口驱动程序,参考rmoss开源项目)
- livox_ros_driver2 (MID360驱动,本仓库进行了部分的修改)
src
│
├── rm_bringup
│
├── rm_interfaces
│
├── rm_robot_description
│
├── rm_autoaim
│
├── rm_localization
│ ├── fast_lio
│ ├── point_lio
│ └── icp_registration
│
├── rm_navigation
│ ├── src (Nav2)
│ └── third_party (TEB)
│
├── rm_perception
│ ├── imu_complementary_filter
│ ├── linefit_ground_segementation_ros2
│ └── pointcloud_to_laserscan
│
└── rm_hardware_driver
├── rm_camera_driver
├── rm_serial_driver
└── livox_ros_driver2
2. 安装
安装ros-humble-desktop-full,参考 ROS2官方文档
安装Livox-SDK2,参考 LIVOX-SDK2官方仓库
克隆仓库到本地
git clone https://github.com/CSU-FYT-Vision/CSU-RM-Sentry && cd CSU-RM-Sentry
安装依赖
File truncated at 100 lines see the full file

