机械臂路径规划 PRM:1.先随机采样n个点构图2.基于图进行搜索-RRT:快速搜索随机数,非最优解;查询near可用kdtree等数据结构,快速找到树中最近结点-RRT*:做了两个改进,一是改变了新节点连接到树的规则,二是对搜索数进行‘剪枝’操作,使之更接近于真实的最优路径-RRT-connect:双向扩展的RRT,从start和goal同时扩展,搜索速度比较快,ROS-Moveit默认使用此算法。
机械臂的控制 说明:-EN:使能,低电平生效-Z.DIR:Z轴的电机转动方向,高电平、低电平方向不同-Y.DIR:Y轴的电机转动方向,高电平、低电平方向不同-X.DIR:X轴的电机转动方向,高电平、低电平方向不同-Z.STEP:Z轴的电机转动,每1个脉冲转动一步(不同电机步的幅度不同,当前视频中使用的是1.8°)-Y.STEP:Y轴的电机转动,每1个脉冲转动一步(不同电机步的幅度不同,当前视频中使用的是1.8°)
梯度信息提取 (1)特异性,即特征点所在的位置应该呈现出区别与非特征点的明显特性(2)可关联性,即对应同一个场景点的特征点应该能被重复检测到(3)稳定性,提取位置精度以及其分散程度在数学上具有稳定的可表达能力。
SIFT与FAST算法 SIFT在图像的不变特征提取方面拥有无与伦比的优势,但并不完美,仍然存在实时性不高,有时特征点较少,对边缘光滑的目标无法准确提取特征点等缺陷,自SIFT算法问世以来,人们就一直对其进行优化和改进,其中最著名的就是SURF算法。
harris与Shi-Tomas检测 1.图像的轮廓轮廓是图像目标的外部特征,是具有相同的颜色或者灰度的连续点连成的曲线查找轮廓:cv.findContours()注意:轮廓的检索方式,近似方式以及轮廓的层次绘制轮廓:cv.drawContours()2.轮廓的特征面积:ContourArea()周长:ArcLength()轮廓近似:approxPolyDP()逼近图像的多边曲线凸包:ConvexHull()边界矩形:BoundingRect()和MinAreaRect()
霍夫线变换 霍夫变换常用来提取图像中的直线和圆等几何形状变换后的空间我们叫做霍夫空间,即:笛卡尔坐标系中的一条直线,对应于霍夫空间中的一个点。反过来,同样成立,霍夫空间中的一条线,对应笛卡尔坐标系中一个点,如图所示:在极坐标下是一样的,极坐标中的点对应于霍夫空间的线,这时是霍夫空间是不在是参数(k,q)的空间,而是()的空间,是原点到直线的垂直距离,表示直线的垂线与横轴顺时针方向的夹角,垂直线的角度为0度,水平线的角度是180度。
python 进程池,协程 1.进程是资源分配的单位2.线程是操作系统调度的单位3.进程切换需要的资源最大,效率很低4.线程切换需要的资源一般,效率一般(当然了在不考虑GIL的情况下)5.协程切换任务资源很小,效率高6.多进程,多线程根据cpu核数不一样可能是并行的,但是协程是在一个线程中所以是并发。
python进程,进程池 当线程task1,task2执行的时候,双方要抢着给mutex这个互斥锁上锁。不管是那个线程先抢到,都会保证一件事情:其他的线程会卡在上锁的那个位置。例如:task1先对mutex上锁,会导致在调用release解锁之前,task2线程会堵塞在mutex.acquire上锁的那个位置,一直到task1线程调用了mutex.release()释放锁。
python的队列,互斥锁 1.可以自己定义一个类,但是这个类要继承Thread2.一定要实现run方法,即要定义一个run方法,并且实现线程需要执行的代码3.当调用自己编写的类创建出来的实例对象的run方法,会创建新的线程,并且线程会自动调用run方法4.如果出了run方法之外还定义了很多其他的方法,例如xx,那么这些方法需要在run方法中自己去调用线程它不会自动调用。
python的线程 简单地说,就是。1.如果一个操作系统上同时运行了多个程序,那么称这个操作系统是多任务的操作系统,Windows,Ubuntu,Android,ios2.如果一个程序,它可以同时执行多个事情,那么就称为多任务的程序。