LIMITI_SUMMER_CAMP_CV
github:GitHub - Zzzingzzz/LIMITI_SUMMER_CAMP_CV: 2023电子科技大学LIMITI机器人队夏令营视觉组线上学习内容
2023电子科技大学LIMITI机器人队夏令营视觉组线上学习内容,基于2022年视觉组经验编写
夏令营培训5——PCL
PCL库(全称Point Cloud Library),是一个重要的点云处理库,而点云又是雷达等常用的数据格式,故在此介绍此库。
安装PCL请见:安装pcl
1. 任务1——PCL数据类型和可视化
学习了解PCL的PointCloud和几个主要的数据类型(主要是PointXYZ和PointXYZRGB)
读取PCL源码中随便一个PCD文件(或在附近中的five_people.pcd),使用boost::shared_ptr<pcl::visualization::PCLVIsualizer>
将点云进行可视化
2. 任务2——点云聚类算法
聚类是点云中常见的算法,主要用以将离散的点云划分为不同的物体
学习kmeans和dbscan等几种聚类算法,了解其原理并能调用PCL库中有关函数进行点云聚类
3. 任务3——点云滤波
滤波也是点云操作中常用的算法,可以减少不必要的点云噪点或下采样减少点云数据
*3. 任务4——查阅SLAM
SLAM是视觉、雷达等场景建模、机器人定位的一类重要算法
在此仅作介绍,请自行查阅SLAM大致的功能、算法
夏令营培训6——ROS
注意:
- ROS分为ROS1和ROS2,若无特殊说明ROS通常指代ROS1
- 在此重点介绍ROS1的使用,ROS2还太新且不兼容ROS1
- ubuntu20.04及以下的版本可以使用ROS1,且安装时注意不同的ubuntu版本对应着不同的ros版本
ROS的安装
此处给出我常用的ros安装方法,可能依据个人电脑环境不同而有所区别:ubuntu20.04 ros-noetic
ROS的学习
ros的学习参考B站古月居——ROS入门21讲
【【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程】 【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程_哔哩哔哩_bilibili
*任务1——图像
利用opencv捕获图像,使用ros发布并订阅该图像消息
*任务2——点云
启动雷达功能包,订阅该雷达发布的点云消息
PCL安装
pcl是常见的C++点云库,以下介绍pcl的安装方法
安装pcl库的一些依赖
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
可能会存在一些过期或无效版本,可根据终端提示根据自己情况下载
从github 下载pcl
git clone https://github.com/PointCloudLibrary/pcl.git
编译安装
推荐使用cmake-gui编译,可自己选择需要编译的项目进行编译,如cuda等
点击Configure配置 和 Generate生成后,即可完成配置
进入build文件夹编译安装
cd build
make -j4
sudo make install
测试安装结果
切换到pcl安装目录,找一个点云pcd文件,输入以下代码查看
pcl_viewer model.pcd
若正常显示点云文件,即表示安装成功