精华内容
下载资源
问答
  • 将末端姿态代入机械臂逆运动模型中,求出八组逆解角度,将八组逆解角度代入机械臂正运动学方程,判断机械臂与障碍物是否发生碰撞,进行碰撞检测,以实现机械臂避障路径规划。
  • 受限空间机械臂碰撞检测算法,王占鹏,宋荆洲,为了解决受限空间机械臂与其所处环境边界发生碰撞问题,并且结合包围盒的碰撞检测,提出了一种考虑边界条件的基于包围盒的碰撞
  • 基于碰撞干涉空间的空间机械臂碰撞干涉分析方法研究,陈智链,孙汉旭,随着空间技术的飞速发展,特别是空间站、航天飞机、空间机器人等的诞生及成功应用,空间机械臂作为在轨支持、在轨服务的一项关键
  • 基于静态环境下的空间多自由度机械臂碰撞检测,宗成星,陈波芝,针对某串联的空间多自由度机械臂运动过程中与障碍物发生碰撞的问题,本文提出了一种静态碰撞检测算法。通过D-H法对机械臂建模,分
  • 机械臂 碰撞检测 路径规划 视觉影像 智能分割 位姿估计 3D抓取 就这么结合到一起了 结合到一起是个啥样子呢 大概可以是这样,当然可以更好的,更酷的,更有意思的 机械臂模型要显示出来 背景像不像Tiffany蓝 模型里...

    机械臂 碰撞检测 路径规划 视觉影像 智能分割 位姿估计 3D抓取 就这么结合到一起了

    结合到一起是个啥样子呢
    大概可以是这样,当然可以更好的,更酷的,更有意思的

    机械臂模型要显示出来

    背景像不像Tiffany蓝
    模型里包含了机械臂、夹爪、固定底盘、工作台。
    有俩机械臂,一个用来实时显示实际机械臂实际状态,一个用来跟人交互,显示机械臂假设的状态。
    在这里插入图片描述

    要跟人交互

    跟机械臂交互的这个“人”,可以衍生出很多东西啊
    一个轴一个轴的没啥意思,直接拖着爪子走要直观一点。
    在这里插入图片描述
    交互是个啥样子呢,无非就是变变姿态和位置,ROS里都有。
    在这里插入图片描述

    要规划一条无碰撞的轨迹

    为啥无碰撞呢,因为大黑框挺贵的,夹爪也挺贵,还脆弱的不行
    有好多做检测到碰撞停止的,为啥要让他碰呢,动力学那么复杂,总线那么复杂,缩短控制周期那么难。
    输入一条命令,他就把不带碰撞的轨迹规划出来,还给显示出来了,这多好。当然ROS里也有。
    在这里插入图片描述

    要保证目标位置不发生碰撞

    目标要是发生碰撞,那就是奔着碰撞去了,碰坏了就赔吧。

    ROS里是发生碰撞的部位就让它红喽,我觉得挺好,简单的演示也试过。感觉需要考虑的还不少,以后再细化。
    在这里插入图片描述
    再规划一条伸进盒子里的轨迹吧。
    每次的结果都值得期待。这里值得针对特定场景想想特定方案。通用的不是最好的。
    在这里插入图片描述

    要支持多种模型

    就支持一种机器人模型多孤单啊。
    顺便也显示一下抓手上相机拍到的点云啥的吧,让他放眼看世界,让我看到他看到的世界。
    精度也不用太高吧,千把块钱得了。
    在这里插入图片描述

    要在相机视野中找到目标

    相机拍了一张图片,发现了他喜欢的一个圆柱,还把圆柱的边给描了出来。误识别出了两个东西,“智能”这个词吧,算是废了
    在这里插入图片描述

    要能定位目标

    采到了目标的点云,估计出了空间中要抓他的位置和姿态。这里也挺有意思,圆柱有无数种姿态可以抓,得从中挑选出一个。
    在这里插入图片描述

    要去抓

    试图去抓,抓不抓得上呢,当然能了。
    在这里插入图片描述
    别的姿态也得能抓。
    在这里插入图片描述

    要扫一下

    在这里插入图片描述

    展开全文
  • 问题:求得的最小距离与模型中两圆柱个体的半径之和进行比较,判断机器人手臂在运动过程中是否存在潜在的碰撞? /** 1 1 0 1 1 10 5 5 0 5 5 10 1 1 1 1 0 1 1 10 2 2 0 2 5 10 1 1 1 1 0 1 1 10 2 2 0 5 5 10 1...

    问题:求得的最小距离与模型中两圆柱个体的半径之和进行比较,判断机器人手臂在运动过程中是否存在潜在的碰撞?

    /**
    1 1 0
    1 1 10
    5 5 0
    5 5 10
    1 1
    
    1 1 0
    1 1 10
    2 2 0
    2 5 10
    1 1
    
    1 1 0
    1 1 10
    2 2 0
    5 5 10
    1 1
    
    1 1 0
    1 1 10
    2 0 5
    2 3 5
    1 1
    **/
    
    #include<iostream>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    
    int main()
    {
    
        //cout<<"*******************************机械臂碰撞问题***********************************"
        while(1){
            cout<<"*********************************************************"<<endl;
            double A[3],B[3],C[3],D[3];
            double r_ab,r_cd;
            cout<<"请输入AB杆的两个端点坐标(中间用空格隔开):"<<endl;
            cin>>A[0]>>A[1]>>A[2]>>B[0]>>B[1]>>B[2];
            cout<<"请输入CD杆的两个端点坐标(中间用空格隔开):"<<endl;
            cin>>C[0]>>C[1]>>C[2]>>D[0]>>D[1]>>D[2];
            cout<<"请输入AB杆和CD杆的半径(中间用空格隔开):"<<endl;
            cin>>r_ab>>r_cd;
            /*
            double x1,y1,z1;
            double eta1_x = (x1-A[0])/(B[0]-A[0]);
            double eta1_y = (y1-A[1])/(B[1]-A[1]);
            double eta1_z = (z1-A[2])/(B[2]-A[2]);
            double eta2_x = (x2-C[0])/(D[0]-C[0]);
            double eta2_y = (y2-C[1])/(D[1]-C[1]);
            double eta2_z = (z2-C[2])/(D[2]-C[2]);
            */
            // eta1平方的系数
            double b = (B[0]-A[0])*(B[0]-A[0]) + (B[1]-A[1])*(B[1]-A[1]) + (B[2]-A[2])*(B[2]-A[2]);
            // eta2平方的系数
            double c = (D[0]-C[0])*(D[0]-C[0]) + (D[1]-C[1])*(D[1]-C[1]) + (D[2]-C[2])*(D[2]-C[2]);
            // eta1的系数
            double d = 2*(B[0]-A[0])*(C[0]-A[0]) + 2*(B[1]-A[1])*(C[1]-A[1]) + 2*(B[2]-A[2])*(C[2]-A[2]);
            // eta2的系数
            double e = 2*(D[0]-C[0])*(C[0]-A[0]) + 2*(D[1]-C[1])*(C[1]-A[1]) + 2*(D[2]-C[2])*(C[2]-A[2]);
            // eta1*eta2的系数
            double f = 2*(B[0]-A[0])*(D[0]-C[0]) + 2*(B[1]-A[1])*(D[1]-C[1]) + 2*(B[2]-A[2])*(D[2]-C[2]);
            // 常数
            double a = (C[0]-A[0])*(C[0]-A[0]) + (C[1]-A[1])*(C[1]-A[1]) + (C[2]-A[2])*(C[2]-A[2]);
            //cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<f<<endl;
            /*
            double l_ab = a + b*eta1_x*eta1_x + c*eta2_x*eta2_x - d*eta1_x + e*eta2_x - f*eta1_x*eta2_x;
            double lambda1,lambda2,lambda3,lambda4;
            double g1,g2,g3,g4;
            double d_eta1 = 2*b*eta1_x - d - f*eta2_x - lambda1 + lambda2;
            double d_eta2 = 2*c*eta2_x + e - f*eta1_x - lambda3 + lambda4;
            */
    
            double f_d[9]={0};
            double eta1,eta2;
            f_d[0] = a; //f_0_0
            f_d[1] = a+c+e; //f_0_1
            eta2 = -e/(2*c);
            f_d[2] = a + c*eta2*eta2 + e*eta2; //f_0_eta2
            eta1 = d/(2*b);
            f_d[3] = a + b*eta1*eta1 - d*eta1;//f_eta1_0
            eta1 = (d+f)/(2*b);
            f_d[4] = a + b*eta1*eta1 + c - d*eta1 + e - f*eta1;//f_eta1_1
            eta2 = (f*d-2*b*e)/(4*b*c-f*f);
            eta1 = (d+f*eta2)/(2*b);
            //cout<<eta1<<eta2<<endl;
            f_d[5] = a + b*eta1*eta1 + c*eta2*eta2 - d*eta1 + e*eta2 - f*eta1*eta2;//f_eta1_eta2
            //cout<<f_d[5]<<endl;
            f_d[6] = a + b - d;//f_1_0
            f_d[7] = a + b + c -d + e - f;//f_1_1
            eta2 = -(e-f)/(2*c);
            f_d[8] = a + b + c*eta2*eta2 - d + e*eta2 - f*eta2;//f_1_eta2
    /*
            for(int i=0; i<9; i++){
                cout<<f_d[i]<<" ";
            }
            */
            //cout<<endl;
            sort(f_d,f_d+9);
            /*
            for(int i=0; i<9; i++){
                cout<<f_d[i]<<" ";
            }
            */
            double min_len;
            for(int i=0; i<9; i++){
                min_len = f_d[i];
                if(min_len>0) break;
            }
            double min_d = sqrt(min_len);
            if(min_d <= r_ab+r_cd){
                cout<<"两机械臂最短距离:"<<min_d<<endl;
                cout<<"AB杆与CD杆的半径:"<<r_ab<<" "<<r_cd<<endl;
                cout<<"结论:两机械臂碰撞"<<endl;
            }
            else{
                cout<<"两机械臂最短距离:"<<min_d<<endl;
                cout<<"AB杆与CD杆的半径:"<<r_ab<<" "<<r_cd<<endl;
                cout<<"两机械臂不碰撞"<<endl;
            }
            int flag = 1;
            cout<<"继续请输入1,退出输入0:"<<endl;
            cin>>flag;
            if(flag==0) break;
        }
        return 0;
    }

    结论:运行图如下

    展开全文
  • 【山支居士】【ROS机械手碰撞检测(一)】win10装ros脱繁至简,亲测有效一.安装编译器VS2017二.创建ros启动器三.安装下载器Chocolatey&Git安装ROS测试ROS 一.安装编译器VS2017 写在前面:安装非常耗时,不建议...

    【山支居士】【ROS机械手碰撞检测(一)】win10装ros脱繁至简,亲测有效

    一.安装编译器VS2017

    写在前面:安装非常耗时,不建议笔记本连wifi安装,一旦网络波动就要重装,博主共装了15个小时才装好。
    https://visualstudio.microsoft.com/zh-hans/thank-you-downloading-visual-studio/?sku=Community&rel=15
    选择community版本,下载完成后双击,开始下载软件的安装文件

    在这里插入图片描述如图勾选(其中C++必选,python你可以选一个自己常用的版本)版主工作内容是需要使用ros做机械臂的路径规划和碰撞检测,最后是需要出exe软件给客户使用,所以版主也勾选了windows平台开发。
    注意记录安装位置。
    只需要记录图中最下方位置,如果你装的版本跟我装的不同,注意后面在按照位置索引时,注意修改,如果是按照教程一步步走,那么不会出现位置上的问题。

    二.创建ros启动器

    桌面-右键-新建-快捷方式

    名字叫什么随意。
    在这里插入图片描述
    对象位置复制以下内容:

    C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat" -arch=amd64 -host_arch=amd64
    

    博主装出来VS文件夹是2019的,而上方博主提醒大家记录的位置是2017文件夹,情况大概跟软件有关,希望各位注意了。在这里插入图片描述设置完之后,双击出现这个便是成功了。
    接下来我们需要给我们的启动器,设置管理员权限

    在这里插入图片描述

    右键属性-快捷方式-高级-勾选用管理员身份运行

    三.安装下载器Chocolatey&Git

    Chocolatey是Windows下的包管理工具,相当于Ubuntu中的apt-get,方便后续安装各种软件包。(如果你能翻墙,那么这个下载器体验还是不错的)

    双击打开刚才保存的快捷方式,也就是打开一个终端,复制粘贴以下一大串安装命令:

    @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
    

    这里安装可能因为网络不好没有解析成功,或者识别不了文件,没关系再试一次就好了。
    安装完毕需要添加环境变量

      SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
    

    接下来安装git
    choco update git -y
    choco install git -y
    两个都可以安装(一个不行就换另一个)

    安装ROS

    做了这么久准备工作终于可以安装ROS了
    其实真正安装ros,是非常简单的
    首先添加软件源

    choco source add -n=ros-win -s="https://roswin.azurewebsites.net/api/v2" --priority=1
    

    然后安装ros

    choco upgrade ros-melodic-desktop -y
    

    耐心等待安装成功后,就可以学习ROS教程了,可以参考ROS官网,中文最新版对应教程稍后补充。

    如果需要强制重装,需要使用force参数。choco install ros-melodic-desktop --force

    测试ROS

    添加环境变量:打开快捷方式

     cd ..
     cd ..
     cd opt\ros\melodic\x64
     setup.bat
     roscore
    

    在这里插入图片描述
    我们熟悉的roscore成功跑起来
    小伙伴们可以试一下例程

    展开全文
  • 机械臂各关节之间以及与检修工具间的碰撞,采用基于 AABB盒和等效空间圆柱体 相结合的网络包围法,对可能发生碰撞的部位进行了系统分析和研究,将机械臂碰撞检测问题转化为空间解 析几何问题,大大简化了问题的求解,...
  • 机械臂各关节之间以及与检修工具间的碰撞,采用基于AABB盒和等效空间圆柱体相结合的网络包围法,对可能发生碰撞的部位进行了系统分析和研究,将机械臂碰撞检测问题转化为空间解析几何问题,大大简化了问题的求解,...
  • 行业分类-作业装置- 协作型机械臂与环境碰撞力与碰撞功率检测装置.zip
  • https://download.csdn.net/download/qq_36412427/10618493 https://blog.csdn.net/weixin_28900531/article/details/79714696 拖动示教资料 https://download.csdn.net/download/q5321220311/10145416 ...

    https://download.csdn.net/download/qq_36412427/10618493

    https://blog.csdn.net/weixin_28900531/article/details/79714696

    拖动示教资料

    https://download.csdn.net/download/q5321220311/10145416

     

    https://download.csdn.net/download/u013908148/10345093

    https://download.csdn.net/download/yxh505613923/10524353

     

    滚珠丝杠、同步皮带或齿轮齿条驱动型

     

    下载图纸

    http://my.mfcad.com/Tuzhi/Sou/index?keyword=XYZ

     http://my.mfcad.com/268911

    http://www.mfcad.com/tuzhi/solidworks/jixieshebei/307063.html

    http://www.mfcad.com/tuzhi/1286/417194.html

    定制齿条

    http://www.cnntyx.cn/Index.asp

    零件代加工

    https://item.taobao.com/item.htm?spm=a230r.1.14.27.3ea9334bNWcwzF&id=571852130973&ns=1&abbucket=11#detail

    测功机

    https://www.cirmall.com/circuit/12405#/details

     三轴平台

    https://b2b.baidu.com/land?url=http%3A%2F%2Fdetail.1688.com%2Foffer%2F575608622124.html%3Fbdb2b8a2d%3D2942181760&query=%E4%B8%89%E8%BD%B4+%E6%9C%BA%E5%99%A8%E8%87%82&category=%E6%9C%BA%E6%A2%B0%E8%AE%BE%E5%A4%87%3B%E5%85%B6%E4%BB%96%E8%A1%8C%E4%B8%9A%E4%B8%93%E7%94%A8%E8%AE%BE%E5%A4%87%3B&iswapurl=

     

    激光雕刻机

    https://detail.tmall.com/item.htm?spm=a230r.1.14.34.3ba83ae9iyRIFQ&id=588078310506&ns=1&abbucket=11

     

    平台定制

    https://jwdwj.tmall.com/category-1362073387.htm?spm=a1z10.5-b.w4010-18716271046.10.5704a7aasTHlmi&search=y&parentCatId=1362073385&parentCatName=KINGWONDA%C4%A3%D7%E9%BB%AC%CC%A8&catName=FA%2FKTB+%CD%AC%B2%BD%B4%F8%CA%BD#bd

     

    https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-21197356166.15.657236effh0BrC&id=589934897878

     

    http://www.jiuchen-robot.com/

    转载于:https://www.cnblogs.com/noigel/p/11122449.html

    展开全文
  • 星载两自由度机械臂碰撞动力学与稳定控制方法,郜志鹏,徐晓慧,本文主要针对星载两自由度机械臂系统,研究其动力学与阻尼控制。本文首先分析了所研究系统的运动学,之后利用Lagrange 第二类方程,
  • 研究了双臂及多臂式空间机械臂抓取目标的碰撞问题,将“广义直臂抓取”推广到双臂及多臂式系统。利用满足“广义直臂抓取”的机械臂构型进行目标抓取,可有效地减少碰撞作用对于空间机械臂系统角动量、基座姿态的影响...
  • 机械臂-碰撞检测- 研发记录

    千次阅读 2018-03-27 16:27:23
    2、因为加速度计的角度会不断变化(有机械臂的运动状态决定),故不能通过比较单个轴的加速度变化来判断是否发生碰撞, 而要通过计算矢量和的方法,将矢量和与阈值做比较(也可以不断记录上一个时刻的矢量和,将其与...
  • 基于周期运动的非线性动力学分析,发现欠驱动机械臂在小幅振动输入条件下有运动漂移现象,即当欠驱动机械臂的主动关节小幅振动时,被动关节的平衡位置将发生漂移。基于这一现象提出了被动关节位置控制的余弦函数小...
  • 油管摆动系统是修井作业机械化系统中的一部分,油管摆动系统中油管与扶正机械手间的接触碰撞将影响整个修井作业机械化系统的快速、安全及准确地运行。为研究扶正机械手承接件材料及节流阀开口大小对油管与扶正机械手...
  • 话不多说直接上视频此次机械臂音画糖人的项目是在同济大学D&I学院-机械臂实验室完成的一次团队实践,希望通过结合机械臂3D打印的技术,融入互动模式来致敬中国的传统老手工艺糖画,基于...
  • 讨论了漂浮基空间机械臂捕获未知运动目标卫星的接触碰撞动力学建模和接触碰撞后系统镇定运动的控制问题。利用第二类拉格朗日方法和牛顿欧拉法分别建立了接触碰撞前漂浮基空间机械臂和目标卫星两分体系统的动力学模型...
  • 研究多自由度平面机械臂系统的非定点碰撞问题。据机械臂系统的几何特点,得到相对简单的检验何时、何处发生接触碰撞的方法,避免一般多体系统确定接触碰撞点的繁琐的迭代搜索过程。运用拉格朗日方法推导非碰撞碰撞...
  • ,作为机械臂路径规划过程中的障碍物,方便机械臂和障碍物之间进行碰撞检测。 这里首先要提一下Movelt!并没有整合了物体识别和环境建模这些模块,而是利用传感器采集的数据导入的。而我的想法就是...
  • ROS中机械手臂的运动规划

    千次阅读 热门讨论 2018-03-14 08:42:28
    我是跳过了正逆运动学的内容,...另一种变形是根据驱动器的机械特性对手臂运动进行规划,比如提重物最省力的运动规划。常见的问题是机器人的各个关节从一个初始位置运动到目标位置过程中的避障问题。要执行的任务可...
  • 结合前两部分,蚁群算法和碰撞检测,这部分将以上两部分的结果进行整合绘图展示,整体完成机械臂在通过障碍物时,保证机械臂不碰到机械臂前提下,减小路径长度,保证运动平滑,很好的完成机械臂避障工作。
  • 描述ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动ROS系统:kineticUR5机械臂电脑系统:Ubuntu16.04截图和运行效果gazebo的机械臂会先水平,然后依次移动到...
  • 描述ROS系统下,使用moveit和gazebo搭建UR机械臂控制的仿真环境,并使用C++编写一个节点来控制UR机械臂的移动ROS系统:kineticUR5机械臂电脑系统:Ubuntu16.04截图和运行效果gazebo的机械臂会先水平,然后依次移动到...
  • 机械臂正运动学-DH参数-Python快速实现前言:最近在玩一个非常弱智的机械臂,好多功能都没有,连个配套的仿真环境都没, 虚拟边界和碰撞检测的功能都非常难用。没办法,我只能自己实现一个简陋的虚拟边界功能,这...
  • 针对机械臂运行过程中存在的碰撞问题, 提出一种基于速度修正项的机械臂避障路径规划方法. 利用B 样条曲线进行机械臂关节空间规划, 使机械臂能够在特定时刻运行到指定构型. 在运行过程中, 利用碰撞检测算法实时计算...
  • 碰撞检测是机器人轨迹规划、计算机仿真等领域的重要问题之一 ,本文在前人的基础上提出一种工业机器人关节间碰撞检测算法。
  • 写作说明:本文主要介绍一下机械臂的运动规划(Motion Planning on Manipulators)。之所以写这篇文章,是因为受到人邀请回答相应问题,而刚好最近在学《Modern Robotics》相关课程,有学习了解到相关的内容,在这里...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,586
精华内容 1,834
关键字:

机械臂碰撞