- 博客(55)
- 收藏
- 关注
原创 机械臂运动仿真-末端走一个多边形路径
姿都能算出来,下面是一个四轴的机械臂逆运动学(IK)的模拟,末端走的是一个工作台上的多边形表示轨迹。末端坐标系(一个点和三个两两正交的坐标轴),机械臂要么达不到这个坐标系,要么有值,每个臂的位。四轴和六轴机械臂是工业机器人常见的机构,这种机械臂逆运动学是有精确解的,也就是指定空间一个。这个机械臂模型不是个真实的工业用机械臂,所以有的关节相邻的臂还打架了。可能是焊接,也可能是搬运,装配等等任务。
2024-08-21 22:43:22
245
原创 vegecad抄图-参考铣削零件图画零件
CAD捕捉到某个点以后,点会在捕捉框范围内维持捕捉点坐标不动,只有移动鼠标离开够远,捕捉框才正常移动,这种就是所谓的"磁吸"的交互体验,演示程序还是放在蓝奏云上 https://wwf.lanzout.com/iRy8E273evgj。CAD绘图中捕捉功能(snap),snap可以捕捉的端点、中点、圆心,端点的延长线上的最近点,垂足,切点,极轴线,线的交点,一般。1.双击vegecad.exe缺省打开的是一个A3幅面的图框,下面是一个画好的铣削件。
2024-08-10 22:28:30
186
原创 vegecad画线及调整功能
vegetable,目前画线没有捕捉和引导线画特定角度的线,所以现在还是涂鸦式的,“选择” 按钮是进行单选实体机拖动夹点。vegecad添加了绘制直线和层颜色,目前没有线型,点击工具按钮"画线",画线是连续的画,右键结束,下面是画的。软件功能不完善,未开放保存功能以防止网友用于实际工作中。(目前主要是该开发单位的软件功能特点及研究领域展示)
2024-07-31 22:54:43
263
原创 关于开源C++机器人库robotics library
最后就是场景描述文件,都是写在rlsg.xml和rlmdl.xml中,一个是场景描述,一个是运动模型描述,这样rlCoachMdl.exe才能读取它们对建模的机器人进行可视化,正运动学(forward kinematics,就是修改关节角度参数,计算出各个臂几何体的位置姿态),逆运动学(inverse kinematics ,就是已知机械臂末端位置姿态,计算解出各个臂各个关节是否有可能的位姿和关节角度值,可能有一个或者多个解,也可能没有解)。robot model建出来了,可以用它的进行后续的规划。
2024-07-28 14:46:47
928
原创 ompl.app的demo_OpenDEPlanning例子
是用刚体动力学库ODE搭建的小车运动场景,找出小车到目标的路径,牵引小车跑到目标位置。编译了下OMPL和OMPL.app, 其中有个example。ompl小车路径运动模拟。
2024-07-07 16:09:41
259
2
原创 物理学基础-哈里德
注意如果是用手机,需要把浏览器网页设置从Android改为,电脑,有100多兆,1300多页大部头的参考书,最好wifi网速好下载,电子书主要是个人学习目的,淘宝正版纸质书有100多元,但是清晰。发现这个是 哈里德 的 物理学基础 的下载网址。
2024-06-10 17:52:12
644
原创 vtk绘制渐变色polydata
创建VC++2015控制台程序,设置include路径:E:\VTK_8_0\include\vtk-8.0。下面的代码是创建两个cell的polydata,并设置顶点的颜色,一般用来绘制后处理网格的颜色显示,颜色。设置lib路径:E:\VTK_8_0\lib*.lib。可以表示场中顶点的温度,应力,浓度等物理量。
2024-06-10 14:31:59
351
原创 CAD小软件diy-读柴油机壳体装配图
读取一个柴油机壳体dxf图纸,一般这种装配体轮廓曲线都是用直线和圆弧拟合的,全部都是显示的白色实现,发现有线段间隙,拖动线段补上间隙。这个测试放在蓝奏云上面 https://wwf.lanzout.com/ip1Xx1vvhbkh。
2024-04-20 22:46:29
227
原创 费曼物理学讲义官网
费曼物理学讲义的官网,https://www.feynmanlectures.caltech.edu/网页做的很好,网速也快。
2024-04-19 21:19:17
514
原创 写的CADCAM小软件梳理及演示
来间接编辑线,拖拽时候可以捕捉一些点叫snap point,grip point 和snap point不一定完全对应, 抽象出曲线实体,这里只有Line2d和Arc2d两种,程序名字叫vegetable cad(蔬菜CAD)。线实体有参数方程可以比较,显示都是离散成一定数量的折线的,例如这个圆弧线。视图操作是中键负责平移和缩放,双击中键最大显示,左键用于选中线,当选中线的时候即出现叫“夹点”的部件,拖拽夹点的方式。另外发现配合gif 或者 视频,的确传达信息更多。
2024-04-06 21:55:51
277
原创 osg的cullvisitor
这样可以派生自己的cullvisitor,重写apply,实现自己的剔除功能。设置自己的剔除器mycullv,代替缺省的cullvisitor。
2024-03-31 21:07:02
494
原创 3D程序中保证交互流畅性的常用技巧-备忘
opengl绘制一帧会绘制场景中会有多个模型,随着模型三角面片数量增加,GPU绘制一帧就会变慢,这将不能快速响应鼠标消息,例如鼠标旋转缩放视图,所以出现了很多牺退而求其次的交互技术,例如LOD技术,在鼠标旋转时候绘制低数量三角面片或线条的模型,有的剔除背面,视图静止绘制高数量三角面;早期UG等三维软件,winxp那个配置,鼠标旋转一些零件模型就消失了,有的就用个线框表示下,等静止再把模型画全,现在CPU和GPU性能提高不少,不过硬件都有极限,高性能的GPU和CPU芯片很重要…
2024-03-26 23:24:39
341
原创 roboticslibrary的sg
roboticslibrary 简称rl库,sg里面的类按照scene / model / body / shape层次创建,在。是传入coin3d的vrmlshape来创建的。
2024-03-25 23:29:51
321
原创 关于MacTutor-在线数学史资源
MacTutor是一个免费的在线资源,包含超过 3000 数学家和 2000 几页论文和辅助材料。(子在川上曰,逝者如斯夫!搜一下爱因斯坦,同样中文翻译。
2024-03-23 22:59:14
342
原创 osg的polytopeintersector-备忘录
中实现多面体和三角形的轮廓线(顶点存在src中)求交,凸台polytope存着6个平面plane,每个plane法向正向指向体内部,遍历每个平面,切割src轮廓线,dest中存着在plane正半空间的那部分轮廓,然后src和dest交换,接着下一个plane再切src轮廓线,留下正半空间中的轮廓线…OSG的osgUtil::PolytopeIntersector类实现凸多面体和点线段三角形求交器的实现,在pick中框选肯定是用一个四棱锥凸台几何体,单选其实也是一个四棱锥凸台。
2024-03-20 22:28:38
473
原创 二阶常微分方程-龙格库塔法
当刚体受力以后,通常会在介质中运动受到阻力,一般阻力大小正比速度,即kv,或者速度的平方kv^2,方向相反,速度是物体位移-时间微分曲线x(t)的一阶导x’=v,加速度是二阶导x’’=a,假设受力为T,质量为m,这样t时刻,对象受力情况为。初值x(t0)=x0, x’(t0)=x’0。令x’=v,则化为一个一阶常微分方程。T-kx’=mx’’ 化为。这是一个二阶常微分方程。
2024-03-17 10:08:56
1202
原创 关于-机器人学导论
机器人学导论,经典的基础教材,原书叫introduction to robotics mechanics and control ,在网上看到这个下载,这个好像不像有些书已经免费了,但是太经典拿它当教材的很多,最好看清晰的纸质版,特别是大量的公式变换和比芝麻还小的下标,也方便做笔记。机器人学领域垮学科太广泛,涉及计算数学,机械,电子,自动控制,计算机大部分学科,像图形图像,AI等等。
2024-03-16 09:02:15
448
原创 osg的geometry类
修改geometry是通过geometry的getVertexArrary,getColorArray这类方法得到坐标或者颜色法向量数组然后修改数据后调dirty()通知数据改变了,将在下次frame调glBufferSubData修改GPU中对应的数据。用于设置顶点坐标,顶点颜色,顶点纹理坐标和法向量,索引等等,图元类型为GPU能绘制的基本类型,点、线段、三角形集合(点,线段,三角形,这和opengl里面的定义一致)。//color指定为片元着色器的vtColor。这样很多接口都不用了。
2024-03-10 12:55:36
473
原创 opencv读写cv::Mat的像素
意思是这个矩阵按一行一行的存在data这块内存中,通过i0,和step.p[0]保存的每个像素占的字节个数得到行地址,再通过(_Tp*)这句强制类型转换为_Tp类型的数组,返回第i1个即我们要读写的像素。opencv图像都是抽象成cv::Mat类,一个像素矩阵,通过at(行,列)来读写像素,他的实现是这么一句。所以ocv在内存上分配了一个uchar型内存块,所有算法都是在修改这块内存。
2024-03-09 14:49:05
401
原创 osg库的HUD原理-三维软件视图窗口中角落的坐标及viewbox
,当创建一个post render的摄像机节点,并设置glClear标志只是DEPTH_BUFFER_BIT,则只会清空深度缓存区,保证后画的正确的遮挡关系,不会清空颜色缓冲区,以便于看见先画的画面。这样camera节点下面挂着的geometry,将形成HUD效果,也叫画中画,即感觉一直在屏幕上遮挡着后面的场景,CAD软件像Proe,UG,SW等等中经常视图角落的坐标xyz,右上角的viewbox,游戏中的菜单等等都是这样做的,当鼠标操作摄像机旋转场景,将旋转方位设置给xyz坐标,坐标也跟着旋转。
2024-03-08 23:09:22
473
原创 使用opencv绘制sin曲线
使用opencv中的绘制线可视化sin曲线。opencv2以后图像都是cv::Mat类,即一个像素矩阵。程序中是在setup中创建了一个白色的图像s_Mat,将sin曲线离散成多段直线段调cv::line向s_Mat中写像素实现的。
2024-03-06 08:24:50
449
原创 四阶龙格库塔法-常微分方程数值计算
设n为0时,t0=0.0,y0也已知,可以计算k1,k2,k3,k4,然后y1=y0+h*(k1+2.0* k2+2.0 *k3+k4)/6.0,t1=t0+h。龙格-库塔法是数值求解常微分方程经典方法,下面是百度百科的四阶龙格库塔法的公式截图。这样由t0算出了t1,y1,然后再带公式推算出t2,y2。这样可以从t0开始一步步推算。
2024-03-03 23:44:46
568
原创 C++boost-opengl-备忘录
glBengin,glEnd,glVertexPointer,glColorPointer,glNormalPointer,这些和设置顶点坐标,顶点颜色,顶点法向量都在core4.x创建vao vbo,基本意思是创建一个vec3的数组vbo表示顶点法向量,和顶点个数一样,并指定绑定在1,GPU的内存布局位置,接着在顶点着色器 开头写。glLight,glLightMode,glMaterial这些设置光照和材质的,纹理,也通过uniform传进去glsl自行实现光照算法。
2024-03-03 11:47:51
312
原创 霍罗威茨的《电子学》-介绍
电子学是电信,计算机,自动化等偏电类的重要基础,特别是计算机专业,电路和电子技术课程后,就是数字逻辑,组成原理,操作系统,编译原理,后面才到C/C++语言,Python,数据库网络,科学计算等上层应用层面的课程,计算机本质上是执行高低电平这种比特位的数字逻辑自动化机器,CMOS管搭成的加法器,三态门,寄存器,内存,译码器,晶振,分频器等等组合和时序逻辑器件,到组成原理那里搭成CPU,再到编译器把高级语言这堆字符串程序变成内存里机器码,组成原理里面CPU重复指令周期…”,学习电子学包括物理学时就是这种感情。
2024-03-02 09:31:35
679
原创 bullet3的collision例子
这些函数是在CollisionSdkC_Api.h包装中的,都是间接调CollisionSdkInterface接口中的方法,sdk具体实现在internal目录中,实现了bullet2版本和bullet3版本,例如collide方法,bullet2中是,类和api前缀一般都是bt。bullet3的碰撞检测例子在examples/collision。bullet3中的实现,类前缀为b3。
2024-03-01 23:17:30
292
原创 OpenCASCADE库-三维点投影到三维曲线
可以把Geom_Circle换成Geom_XXX.hxx中的其它种类的参数曲线试试,OCC中有直线,二次曲线,样条曲线,分2d曲线和空间3d曲线。下面是OCC库中的sample mfc工程中点投影到曲线类GeomAPI_ProjectPointOnCurve用法。N是三维点P投影到曲线C的最近点,投影点个数为NbResults,Point(…
2024-03-01 21:41:54
694
原创 在线百科全书-scienceworld.wolfram.com
数学软件wolfram mathematica有很多免费在线科学资源,这个网站就提供百科全书式的术语查找,对于数学,物理中英文术语学习也很好。
2024-02-29 12:52:32
189
原创 小孔投影油画绘制技法-OpenGL光栅化的物理上的原理
17 18世纪物理学家进行了卓绝的涉及光学,物体的运动学,动力学,空间几何问题的研究,笛卡尔发明了直角坐标系,牛顿提出光的粒子说,还有很多知名科学家研究光学像惠更斯,泊松,菲涅尔,托马斯.杨,光粒子的运动可以通过空间解析几何来精确计算,物理规律的数学描述的发现为后来的计算机器自动绘图扫清了理论障碍,到后来线性代数,矩阵,向量,这些数学工具的发展也一大堆物理学家和数学家接力赛式的天才贡献,才有了我们大学和研究生时代的现性代数,矩阵论这些高级知识。p距离光栅的距离(深度计算用于隐藏物体)?
2024-02-27 23:18:18
441
原创 这周武汉下雪(霰)了-GSL科学计算库的CMAKE版本-过年看的数学史及自然科学史书
现在这些公式、函数、定理、算法、常识,都是几千年来科学先贤们多少代人观察实验思考批判斗争牺牲才为人类获得的啊,那天在看到书中写的牛顿伽利略惠更斯通过一个小孔做的那些光线透过液体折射衍射的实验的故事,不经意间发现桌子前穿过玻璃杯中的水投射的光线晃动着聚焦在桌面上又散开又聚焦着光影很美好,当时,感觉在很久很久以前就见过这些场景,想起来钱穆说的,历史就是我们的生命。明天正月十五,过完年也就过完了。
2024-02-23 23:09:45
260
原创 code::blocks代码及信息回顾
code::blocks在win上开发要下载的20.03, 地址 https://www.codeblocks.org/downloads/binaries/对Computer的掌控力被Windows削弱了,WIN不是给程序员是给用户开发的OS,Linux下面常用的Code::Blocks,code::blocks配置freeglut网上有很多博客,主要是设置include,lib路径,指定lib。以前NIO指定的IDE是Dev-CPP,但是那个Dev-CPP调试代码补全很弱,dev太老旧了。
2023-12-30 18:03:27
753
原创 六自由度机械臂逆运动学解析解原理-备忘
由于b-c-e实际是在一个竖直平面上的,可以计算出c的位置(也有可能无解,例如e点太远导致b-c-e怎么转都到达不了),世界坐标系下每个关节的位置都确定了,这样a b c d e f的转角都能求出来(也有可能求出的转角超过每个转角的范围,也是无解的),这就是六轴机械臂逆运动学空间解析几何解法。p为连接在轴f上的末端执行器的世界空间坐标系,可能是激光头,夹爪,铣刀头,喷头等等,它有平移translate(px,py,pz)和旋转rotate(rx ry rz三个坐标系)两个部分,俗称位姿;
2023-09-24 22:24:24
971
1
原创 机器人运动规划算法-PRM-策略
PRM算法其实是在空间中随机的撒点,留下那些不在障碍物中的,每个点V根据某个半径R找邻近的一些点连线E,和障碍物碰撞的线滤掉,剩下的点线成为一个图G(V,E),然后起点start和终点end也连到这个图G上。如果点太少,找不到一条path,如果点太多太密,性能就不好,而且随机性每次执行结果都不同,但是它对高维空间不挑剔,特别是现在机械臂都是多轴的高维空间,PRM算法不是一本万利的。剩下的就是图搜索算法,找到start到end的一条path。
2023-08-22 18:36:02
947
1
原创 图形学与计算机辅助设计-大作业例子整理-夹点移动方式修改线
实现是在QPainter上绘制。程序是在VC2019,Qt5.14.2-msvc2017-64预编译库, Eigen3是eigen-3.4.0。蓝奏云上压缩包是编译好的exe,图形学课程的算法都是讲怎么生成像素,像DDA或者光栅化的讲OpenGL内部怎么实现的,所以一般不是讲怎么用OpenGL。整理下大作业例子,这个是按照AutoCAD的操作模式写的,单击线和圆弧将显示夹点,点击夹点将修改实体,下面的代码实现在QXViewWgt.h 和QXViewWgt.cpp 这个自定义的QWidget中。
2023-08-21 23:20:33
148
1
原创 机器人运动规划算法-RRT-步骤
RRT算法不限于三维,特别是高维度空间,比如机械臂有n个关节那它就是在n维空间中运动,所以像OMPL这类基于采样的规划算法效果就比较好用的就比较多,实际实现有些变种,但是由于是随机算法每次执行结果Path都不一样。初始有一个起点S,一个终点E,一个世界W,一堆障碍物O,问题是找到W中一个路径Path从S到E,当然S,E,Path上面的点都不能在O中。
2023-08-19 11:37:39
928
原创 CGAL5.x 二维点集的带索引的凸包
下面的例子是计算点集points,每个点设置一个索引,计算它的凸包,out中返回一个凸多边形的逆时针排序的顶点的索引。
2023-08-15 21:30:48
129
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人