• 基于智能优化算法实现的机械臂避障路径规划(Matlab代码实现)


      目录

    💥1 概述

    📚2 运行结果

    🎉3 参考文献

    👨‍💻4 Matlab代码


    💥1 概述

    针对目前空间机械臂避障路径规划算法计算量大难以达到在线实时规划的缺点,对空间机械臂的在线实时避障路径规划问题进行了研究和探讨。采用规则体的包络对障碍物进行建模,并借助C空间法的思想,把障碍物和机械臂映射到两个相互垂直的平面内,将机械臂工作空间的三维问题转化为二维问题,并结合二岔树逆向寻优的方法进行路径搜索,从而大大减少了计算量,达到了在线实时规划的要求。最后在空间机器人仿真系统上对其进行了仿真研究,验证了该方法的可行性。 

    本代码目的:对放置在传送带中间的UR10e机械手进行路径规划。

    增加了一个2D机械手的路径规划来挑选和放置物体。

    📚2 运行结果

     

     

     

    🎉3 参考文献

    [1]贾庆轩,陈钢,孙汉旭,郑双奇.基于A~*算法的空间机械臂避障路径规划[J].机械工程学报,2010,46(13):109-115.

    👨‍💻4 Matlab代码

    主函数部分代码:

    r0 = [0,0];
    rf = [3,2];
    vc = [2,3];

    [x1,y1,vx1,vy1,ax1,ay1,fx1,fy1] = start_to_const(0.2,r0,vc);
    [x2,y2,vx2,vy2,ax2,ay2,fx2,fy2] = const(0.2,0.8,fx1,fy1,vc);
    [x3,y3,vx3,vy3,ax3,ay3] = const_to_stop(0.8,1,fx2,fy2,vc,rf);

    t1 = linspace(0,0.2,500);
    t2 = linspace(0.2,0.8,500);
    t3 = linspace(0.8,1,500);

    figure(1);
    subplot(2,1,1)
    plot(t1,x1,t2,x2,t3,x3);
    xlabel("Time");
    ylabel("X");
    title("Distance x vs Time");

    subplot(2,1,2)
    plot(t1,y1,t2,y2,t3,y3);
    xlabel("Time");
    ylabel("Y");
    title("Distance y vs Time");

    figure(2);
    subplot(2,1,1)
    plot(t1,vx1,t2,vx2,t3,vx3);
    xlabel("Time");
    ylabel("vx");
    title("Velocity x vs Time");

    subplot(2,1,2)
    plot(t1,vy1,t2,vy2,t3,vy3);
    xlabel("Time");
    ylabel("vy");
    title("Velocity y vs Time");

    figure(3);
    subplot(2,1,1)
    plot(t1,ax1,t2,ax2,t3,ax3);
    xlabel("Time");
    ylabel("ax");
    title("Acceleration x vs Time");

    subplot(2,1,2)
    plot(t1,ay1,t2,ay2,t3,ay3);
    xlabel("Time");
    ylabel("ay");
    title("Acceleration y vs Time");

  • 相关阅读:
    注解与自定义注解
    将虚拟机VMware从C盘移动到E盘
    Postman接口Mock Server服务器设置
    Hive 基本操作
    第4章 漏洞扫描
    熟悉Redis6
    卷积神经网络中 6 种经典卷积操作
    Immutable!任何变更都需要发布
    SignalTap II 软件使用步骤
    【小月电子】XILINX FPGA开发板(XLOGIC_V1)系统学习教程-LESSON8 LCD1602液晶显示
  • 原文地址:https://blog.csdn.net/weixin_66436111/article/details/128102654