ros1版本apollo感知融合算法

apollo.ros-7.0.0

本文章针对apollo 7.0.0版本进行了ros1移植,具体介绍见下文。

PS:项目开发详细了解可在评论区留言。

ros版本apollo7.0.0感知算法

基于ros1的apollo 7.0.0感知融合算法。

简介

此项目基于ros1的apollo 7.0.0感知融合算法,移植主要目的如下:

  • 学习apollo框架设计
  • 学习apollo的感知融合算法

目前只针对apollo中部分模块进行了移植,移植模块如下:

目前移植版本与原有版本改动点如下:

  • 使用原生ros(基于melodic)替代apollo中更改的Cyber
  • 使用ros pkg封装apollo中module
  • 使用catkin_make/cmake编译
  • ptotobuf版本提升到3.19.4
  • cmake版本提升到3.25.2
  • 增加动/静态障碍物rviz显示

此移植版本,能很好的将自己的算法增加到框架中,应用于机器人或者无人驾驶中;并且该框架适用于多模态传感器的融合,非1V1R

内容

.
├── CMakeLists.txt
├── launch
│   └── perception_fusion.launch
├── main.cc
├── modules
│   └── apollo_perception
│       ├── apollo_base
│       │   ├── CMakeLists.txt
│       │   ├── blob.cc
│       │   ├── blob.h
│       │   ├── box.h
│       │   ├── camera.cc
│       │   ├── camera.h
│       │   ├── common.h
│       │   ├── comparison_traits.h
│       │   ├── concurrent_object_pool.h
│       │   ├── distortion_model.cc
│       │   ├── distortion_model.h
│       │   ├── frame.h
│       │   ├── frame_supplement.h
│       │   ├── image.h
│       │   ├── image_8u.h
│       │   ├── impending_collision_edge.h
│       │   ├── object.cc
│       │   ├── object.h
│       │   ├── object_pool.h
│       │   ├── object_pool_types.cc
│       │   ├── object_pool_types.h
│       │   ├── object_supplement.h
│       │   ├── object_types.h
│       │   ├── omnidirectional_model.cc
│       │   ├── omnidirectional_model.h
│       │   ├── point.h
│       │   ├── point_cloud.h
│       │   ├── polynomial.cc
│       │   ├── polynomial.h
│       │   ├── sensor_meta.h
│       │   ├── syncedmem.cc
│       │   ├── syncedmem.h
│       │   └── vehicle_struct.h
│       ├── apollo_common
│       │   ├── CMakeLists.txt
│       │   ├── duration.cc
│       │   ├── duration.h
│       │   ├── environment.h
│       │   ├── file.cc
│       │   ├── file.h
│       │   ├── geometry
│       │   ├── graph
│       │   ├── include
│       │   ├── io
│       │   ├── perception_gflags.cc
│       │   ├── perception_gflags.h
│       │   ├── sensor_manager
│       │   ├── src
│       │   ├── time_utils.cc
│       │   └── time_utils.h
│       ├── apollo_fusion
│       │   ├── CMakeLists.txt
│       │   ├── app
│       │   ├── base
│       │   ├── common
│       │   ├── config
│       │   ├── lib
│       │   └── rviz
│       ├── apollo_lib
│       │   ├── CMakeLists.txt
│       │   ├── config_manager
│       │   ├── registerer
│       │   └── thread
│       └── proto
│           ├── CMakeLists.txt
│           ├── dst_existence_fusion_config.pb.cc
│           ├── dst_existence_fusion_config.pb.h
│           ├── dst_existence_fusion_config.proto
│           ├── dst_type_fusion_config.pb.cc
│           ├── dst_type_fusion_config.pb.h
│           ├── dst_type_fusion_config.proto
│           ├── fusion_component_config.pb.cc
│           ├── fusion_component_config.pb.h
│           ├── fusion_component_config.proto
│           ├── object.pb.cc
│           ├── object.pb.h
│           ├── object.proto
│           ├── pbf_tracker_config.pb.cc
│           ├── pbf_tracker_config.pb.h
│           ├── pbf_tracker_config.proto
│           ├── perception_config_schema.pb.cc
│           ├── perception_config_schema.pb.h
│           ├── perception_config_schema.proto
│           ├── probabilistic_fusion_config.pb.cc
│           ├── probabilistic_fusion_config.pb.h
│           ├── probabilistic_fusion_config.proto
│           ├── sensor_meta_schema.pb.cc
│           ├── sensor_meta_schema.pb.h
│           └── sensor_meta_schema.proto
├── package.xml
├── test
│   └── unit_test.cc
└── test_data
    ├── 20231121_Q2_roadtest_1.bin
    └── modules
        ├── kalman_motion_fusion
        │   ├── data
        │   └── params
        └── probabilistic_fusion
            ├── conf
            ├── data
            └── params

代码部署

  • 在线安装
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  • 安装验证:安装完成执行,sudo docker version查看docker目前安装的版本等信息:

  • 使用配置:避免每次新开一个终端都要sudo输入权限,给docker增加用户的权限。执行完成后重启电脑之后生效
    sudo usermod -aG docker $USER

  • docker拉取ros melodic镜像
    docker pull osrf/ros:melodic-desktop-full

镜像构建

  • 执行指令构建镜像
    cd apollo_ros_7.0.0_ws/src/docker/build/
    ./docker_build.sh
  • 构建成功显示如下:
  • 在这里插入图片描述

编译

  • 创建容器并进入
    ./src/docker/scripts/docker_start.sh
    cd apollo_ros_ws/
  • 使用catkin_make install
    catkin_install
    在这里插入图片描述
  • 进入容器:如果容器已经启动,想新开一个终端进去,可使用以下指令:
    ./src/docker/scripts/docker_into.sh

测试

cd /home/apollo_ros/apollo_ros_ws
source devel/setup.bash
roslaunch src/apollo_7.0.0/launch/perception_fusion.launch
宿主机新开一个终端:
rviz -d src/rviz/fusion_rviz.rviz
在这里插入图片描述

Enjoy.

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值