- 博客(14)
- 收藏
- 关注
原创 使用python的socketserver使服务器支持多客户端访问
近期在做机器人集群的分布式控制,涉及到了机器人之间的交流工作,其中,每一台机器人都需要与多个机器人进行交流。考虑使用python的socket来做,但简单测试了一下,socket模块不能方便的实现一个服务器与多客户端的通信,需要使用多线程等方法,程序编写的时间较长,也不是我的主要工作内容,因此寻找一个能够简单实现的方法。在这个背景下,找到了socketserver,它是用于网络服务器的框架,其介绍参考(我在它的基础上简单地实现了多客户端访问,这里分享一下。
2023-12-13 23:53:45 891
原创 OpenCV、PCL在Ubuntu下的快速安装
Ubuntu下的快速安装指使用apt的安装命令,我的Ubuntu版本是Ubuntu 20.04。OpenCV的安装命令如下,sudo apt-get install libopencv-devPCL的安装命令如下,sudo apt install libpcl-dev
2021-08-30 09:45:00 293
原创 Matplotlib作图中坐标轴字体的加粗斜体格式
Matplotlib作图中坐标轴字体的加粗斜体格式背景介绍科研作图中,坐标轴的字体、字号等参数有常用的选择,我常用的参数如下,坐标轴名称的字体是roman,字体需要加粗;坐标轴刻度的字体是roman,字体需要斜体(italic),坐标轴名称和刻度的字号相同。实现方法坐标轴名称通过ax.set_xlabel函数进行设置,典型的设置方法如下,ax.set_xlabel(“Distances / m”, font1)```,其中,第一个形式参数是坐标轴名称,第二个形式参数是名称的字体、字号等参数的设置。
2021-05-18 13:51:25 23673
原创 PCL(Point Cloud Library)点云降采样方法
PCL点云降采样降采样简介本工作中,场景点云通过深度相机测量得到,不同深度相机的点云容量不同,如Photoneo深度相机一次观测(1帧)可得到300万个点,SCAPE深度相机)一次只有3万个点。值得指出,点云容量与点云质量、识别效果没有必然的正比关系,上述两个厂商都是工业界一流的视觉相机厂商、3D视觉方案商。本工作所使用的深度相机的点云容量约为20万,对人体模型进行观测发现,1帧内人体模型部分的点云偏向稀疏,于是采用多帧融合的方法,得到了稠密点云。但是,这个稠密点云的点密度分布不均匀,会误导ICP算法
2021-04-01 09:42:09 7721 2
原创 在PCL(Point Cloud Library,点云库)下导入PLY和OBJ格式文件
简介PCL全称Point Cloud Library,官方网站为(https://pointclouds.org),是一个专门用于点云处理的C++开源库。其功能包括了点云数据的基本操作,如保存、读取、显示;包括了点云的进阶操作,如空间刚体变换(旋转、平移)、仿射变换(旋转、平移、缩放)等;包括了点云的更进阶操作,如ICP(Iterative Closest Point)点云配准、3D特征描述子的计算、3D物体识别等。本工作的背景是人体躯干姿态识别,采用ICP(Iterative Closest Poin
2021-03-30 08:37:44 2331 1
原创 图形工作站RTX750Ti CUDA10.0 cuDNN Torch开发记录
图形工作站RTX750Ti CUDA10.0 cuDNN Torch开发记录工作站基本信息操作系统:Ubuntu 16.04 (64bit)IP: 192.168.xxx.xxxUser name: yPassword: xxx通过SSH连接图形工作站,典型命令如下,ssh -Y y@192.168.30.137安装NVidia驱动参考博客“Ubuntu16.04 nvidia 显卡驱动过程及遇到的问题”(https://blog.csdn.net/wangyjfrecky/artic
2021-02-05 17:44:02 993
原创 RealSense深度相机的安装、调试、使用记录
RealSense深度相机的安装、调试、使用记录简介本工作使用RealSense进行多物体识别,使用ROS机器人平台,使用DOPE人工智能环境,在Ubuntu18.04下工作,使用Anaconda提供python。RealSense相机的使用方法本节的目标是记录RealSense相机的使用方法,包括使用ROS的ros-melodic-usb-cam调用相机使用Python和OpenCV调用相机使用ROS、Python和OpenCV调用相机使用ROS、RVIZ、Python和OpenCV调用
2021-01-16 09:55:23 4319
原创 Pyplot中Scatter三维散点图制作方法记录
Pyplot三维散点图制作方法记录简介物体识别是深度相机的应用方向之一,根据本工作已经做了平面、球体、圆柱体的识别算法,在这些算法中,点云必须属于单一物体,不能同时存在多个物体。这个要求并不符合实际应用,因为在实际中,被深度相机观测的物体往往是放置于台面、地面、支架上,或者同时存在多个物体,比如放在桌上的一筐苹果,这就产生了多物体识别的问题。本工作中,多物体识别在算法层面采用RANSAC方法,程序层面采用CGAL库。感谢CGAL的支持,可以对包括平面、球、圆柱、圆锥、甜甜圈等几何体进行识别,并且能够实
2021-01-07 15:55:31 6842 2
原创 光流Zoom In and Out开发记录
简介 2018年7月,合作伙伴提出了一个想法——使用光流算法估计相机前后移动。经典的光流算法(Lukas-Kanade算法)适用于相机左右和上下移动,但是在相机前后移动时,虽然各个像素都有移动,但是移动速度是矢量,综合起来,整个相机的移动却接近0。这个是经典的LK光流算法的问题,其根源是速度位矢量,而相机前后移动就像是图片的放大(Zoom in)和缩小(Zoom out),使所有像素的移...
2018-08-05 08:42:08 491
原创 Cf252中子发射能谱模型
Cf252能够放出中子和gamma射线,在核技术领域常用作中子源使用,如进行中子探测器的性能测试、中子屏蔽材料的屏蔽能力测试等。在分析实验时,常常基于物理模型进行模拟,以达到辅助实验的数据分析的目标。这里就会需要Cf252的中子发射能谱,本文记录中子发射能谱的数学描述以及搭配ROOT和C/C++的程序实现。
2017-11-16 10:23:10 4462
原创 相机自动标定开发-第三阶段
简介机器人的自我位置定位是一个基本而且重要的功能,是机器人自主导航的目标之一,是SLAM(实时定位和三维重建)的基础。我们工作室与深圳无人机公司的合作方向是——使用单片机,搭载摄像头、Wi-Fi、蓝牙等模块,向单片机移植视觉功能,使之具有自我三维定位和姿态测算的能力。 目前,定位功能有三种方法实现,惯性传感系统、激光测距系统和视觉系统。惯性传感系统使用加速度传感器、陀螺仪、罗盘等设备进行位移和旋转
2017-10-16 20:15:05 4038
原创 最小二乘估计和奇异值分解(SVD)
一 背景最小二乘估计(Least Square Estimation)是方程参数估测的常用方法之一,在机器人视觉中应用广泛,在估计相机参数矩阵(Cameral calibration matrix)、单应矩阵(Homography)、基本矩阵(Fundamental matrix)、本质矩阵(Essential matrix)中都有使用,这种估计方法称为DLT(Direct Linear Trans
2017-08-03 19:41:55 12212
原创 相机自动标定开发记录
相机自动标定开发记录一 简介相机的焦距、传感器尺寸、照片像素尺寸等都属于相机内部参数,内部参数的确定是相机位置、姿态估算过程中的重要环节,直接影响相机位置和姿态的估算误差。为了降低位置、姿态的估算误差,可以首先使用自动标定的方法来提高内部参数的精确度。 相机内部参数通常使用矩阵形式表达,称为相机内部参数矩阵(Intrinsic cameral matrix,简称“内部矩阵”,用K表示),相
2017-06-19 15:12:48 4181 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人