Python脚本实现计算 ISO 9283 机器人多方向位姿准确度变动

 

  1. 把测量设备测得的X、Y、Z的原始数据复制到"Pos_uAPp_data1.csv"中,表格的第1列为X坐标,第2列为Y坐标,第3列为Z坐标。
  2. "Pos_uAPp_data1.csv"文件内容如图中表格:
  3. 运行以下Python脚本即可算出结果
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    import csv,math,time
    ts = time.time()
    i,j,k,l,end,cycle = 0,0,0,0,"#",30 #测试循环次数
    X,Y,Z = [[] for kk in range(3)],[[] for kk in range(3)],[[] for kk in range(3)] #创建多维列表
    for ii in range(3): #X,Y,Z中每个都有三个列表
        for jj in range(cycle): #每个列表中都存放cycle个数据
            X[ii].append(0),Y[ii].append(0),Z[ii].append(0) #初始化多维列表值
        end
    end
    for line in open("Pos_uAPp_data1.csv"): #读取csv文件
        x,y,z = line.split(",") #解析分隔符
        x,y,z = x.strip(' \t\r\n'),y.strip(' \t\r\n'),z.strip(' \t\r\n') #提取数据
        if i < cycle:
            X[0][j],Y[0][j],Z[0][j] = float(x),float(y),float(z) #字符类型转换,并存入列表
            j += 1
        elif i >= cycle and i < 2 * cycle:
            X[1][k],Y[1][k],Z[1][k] = float(x),float(y),float(z)
            k += 1
        elif i >= 2 * cycle and i < 3 * cycle:
            X[2][l],Y[2][l],Z[2][l] = float(x),float(y),float(z)
            l += 1
        end
        print (i,'\t' + x + '\t' + y + '\t' + z)
        i += 1
    end
    n = cycle
    uAPp1 = math.sqrt(((1/n) * sum(X[0])-(1/n) * sum(X[1]))**2 + ((1/n) * sum(Y[0])-(1/n) * sum(Y[1]))**2 + ((1/n) * sum(Z[0])-(1/n) * sum(Z[1]))**2)
    uAPp2 = math.sqrt(((1/n) * sum(X[0])-(1/n) * sum(X[2]))**2 + ((1/n) * sum(Y[0])-(1/n) * sum(Y[2]))**2 + ((1/n) * sum(Z[0])-(1/n) * sum(Z[2]))**2)
    uAPp3 = math.sqrt(((1/n) * sum(X[1])-(1/n) * sum(X[2]))**2 + ((1/n) * sum(Y[1])-(1/n) * sum(Y[2]))**2 + ((1/n) * sum(Z[1])-(1/n) * sum(Z[2]))**2)
    print(uAPp1,uAPp2,uAPp3)
    uAPp = max(uAPp1,uAPp2,uAPp3)
    print(uAPp) #多方向位姿准确度变动
    print("计算用时:",time.time() - ts)

    结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值