MATLAB和Python发那科ABB库卡史陶比尔工业机器人模拟示教框架

🎯要点

🎯模拟工业机器人 | 🎯可视化机器人DH 参数,机器人三维视图 | 🎯绘制观察运动时关节坐标位置、速度和加速度 | 🎯绘制每个关节处的扭矩和力 | 🎯图形界面示教机器人 | 🎯工业机器人模型​ | 🎯计算工业机器人正向和反向运动学、正向和反向动力学

📜机器人用例

📜人形机器人训练模型:Python人形机踊跃跨栏举重投篮高维数动作算法模型

📜机器人集群:​C++和Python蚂蚁搬食和蚊虫趋光性和浮标机群行为算法神经网络

🍪语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇Python惯性单元标定

首先我们来描述一下惯性测量单元的模型。对于陀螺仪和加速度计,其形式为
x ˉ = T x + b + n \bar{x}=T x+b+n xˉ=Tx+b+n

  • x x x - 在参考体坐标系中解析的真实运动矢量(角速率或比力)
  • x ~ \tilde{x} x~ - 测量向量
  • T T T - 接近恒等式的变换矩阵:对角线元素定义比例因子误差,非对角线元素定义轴未对齐
  • b b b - 偏差向量,在这种情况下假设是恒定的,从某种意义上说,它是变化偏差中最重要的恒定部分
  • n n n - 噪音和未考虑的影响

在这里,我们考虑 MEMS 类型的惯性测量单元,它们往往具有显着的噪声、随机和温度偏置不稳定性。对于精确的惯性测量单元,原则上方法是相同的,但在处理偏差方面更加细致。陀螺仪和加速度计的校准方法不同。

在此过程中不会精确估计偏置矢量,因为通常必须在整个温度范围内测量它,并且无论如何它都不会很稳定。但粗略估计并消除以获得变换矩阵的正确估计

对 3 个轴中的每一个重复校准过程:

  • 将惯性测量单元保持静止 30-60 秒,并估计当前陀螺仪偏差(加上地球角速率)作为其平均读数
  • 将惯性测量单元绕轴旋转 360 度(也可以是其他角度),角速度可达到显著水平(20-50 度)

偏差测量是加速度计校准过程所固有的。此外,通常加速度计对温度变化的偏置敏感性较低,并且单个偏置值可能是合适的。校准是通过将每个 IMU 轴垂直向上和向下放置并计算平均读数的一半和和一半差来完成的,以获得变换矩阵元素和偏差。具体的计算可以在代码中看到。

首先创建一个 T 对象。我们假设该表稍微不水平,并且其轴之间存在小的非正交性(在弧秒级别)。航向角是任意的。

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import trapezoidplt.rcParams['figure.figsize'] = (10, 6)
plt.rcParams['axes.grid'] = True
plt.rcParams['font.size'] = 12
table_lla = [55, 58, 0]
table_rph = [-2/3600, 1/3600, 137]
axes_nonorthogonality = 3/3600table = pyx.sim.Tutable(table_lla, table_rph, axes_nonorthogonality)

现在执行旋转命令,将用于校准的段被专门标记(使用 label=…)。

table.rest(30, label='gyro_bias_x')
table.rotate('outer', 360, label='gyro_rot_x')table.rest(30, label='gyro_bias_z')
table.rotate('inner', 360, label='gyro_rot_z')
table.rest(5)table.rotate('inner', -90)
table.rest(30, label='gyro_bias_y')
table.rotate('outer', 360, label='gyro_rot_y')
table.rest(5)table.rest(10, label='accel_z_down')
table.rotate('outer', 180)
table.rest(10, label='accel_z_up')table.rotate('outer', 90)
table.rest(10, label='accel_x_down')
table.rotate('outer', 180)
table.rest(10, label='accel_x_up')table.rotate('inner', 90)
table.rest(10, label='accel_y_down')
table.rotate('inner', 180)
table.rest(10, label='accel_y_up')

生成理想的惯性测量单元数据。

trajectory, imu_ideal, labels = table.generate_imu(0.01)

现在让我们定义测量单元误差参数(生成随机给定的统计模型)。

gyro_model = pyx.iner_sens.EstimationModel(bias_sd=400 * pyx.transform.DH_TO_RS, noise=1 * pyx.transform.DRH_TO_RRS,bias_walk=20 * pyx.transform.DH_TO_RS / 60,scale_misal_sd=0.01
)
accel_model = pyx.iner_sens.EstimationModel(bias_sd=0.2,noise=0.1 / 60,bias_walk=0.003 / 60,scale_misal_sd=0.01
)
rng = np.random.RandomState(0)
gyro_parameters = pyx.iner_sens.Parameters.from_EstimationModel(gyro_model, rng)
accel_parameters = pyx.inert_sens.Parameters.from_EstimationModel(accel_model, rng)

并应用参数来获取最终的惯性测量单元读数:

imu = pyx.inert_sens.apply_imu_parameters(imu_ideal, 'rate', gyro_parameters, accel_parameters)

让我们绘制惯性测量单元读数来演示校准过程是如何组织的。

plt.plot(imu[pyx.GYRO_COLS], label=['gyro_x', 'gyro_y', 'gyro_z'])
plt.xlabel("System time, s")
plt.title("Gyro readings in rad/s")
plt.legend()

现在数据已准备好估计惯性测量单元校准参数。

👉参阅&更新:计算思维 | 亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/40653.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt入门小项目 | WPS tab页面(无边框窗口综合应用)

文章目录 一、手写代码实现WPS tab页面 一、手写代码实现WPS tab页面 实现类似WPS tab效果,具体包含: 自定义标题栏:最大、最小、关闭在QTabWidget的tab上增加控件在QTabWidget的tab上右键菜单可拖拽移动可拉伸窗口双击标题栏在最大与正常间…

centos部署Nginx并配置网页进行访问

1. 安装 Nginx 安装 EPEL 仓库 EPEL (Extra Packages for Enterprise Linux) 仓库提供了许多不在 CentOS 基础仓库中的软件包,包括 Nginx。 sudo yum install epel-release -y#安装 Nginx sudo yum install nginx -y 2. 启动 Nginx 并设置开机启动 sudo system…

ECCV2024|AIGC(图像生成,视频生成,3D生成等)相关论文汇总(附论文链接/开源代码)【持续更新】

ECCV2024|AIGC相关论文汇总(如果觉得有帮助,欢迎点赞和收藏) Awesome-ECCV2024-AIGC1.图像生成(Image Generation/Image Synthesis)Accelerating Diffusion Sampling with Optimized Time StepsAnyControl: Create Your Artwork w…

Objection 对命令的批量操作

假定现在需要对好多不同的类进行批量hook,逐个hook非常繁琐,那么可以要将这些hook的类放到一个文件里,并且在这些类的前面加上hook命令,内容如下 使用如下命令执行该文件中的命令 objection -g 测试 explore -c d:/hookData/toHoo…

git上传本地单独修改的文件_git 只推送变化的文件

git上传本地单独修改的文件_git 只推送变化的文件-CSDN博客 只推送本地修改的文件,这篇文章方法可行。

昇思25天学习打卡营第13天|ResNet50图像分类

1. 学习内容复盘 图像分类是最基础的计算机视觉应用,属于有监督学习类别,如给定一张图像(猫、狗、飞机、汽车等等),判断图像所属的类别。本章将介绍使用ResNet50网络对CIFAR-10数据集进行分类。 ResNet网络介绍 ResNet50网络是2015年由微软…

传承与创新,想让认字更简单?就来看《米小圈动画汉字》吧!

汉字,作为中华文化的精髓和根基,自古以来便承载着中华民族的思想与记忆。在现代社会,随着文化多样性的崛起和科技进步的推动,汉字的教育也更加的多元化,《米小圈动画汉字》作为一项全新的教育资源,不仅致力…

Postman介绍

Postman 是一款流行的 API 开发和测试工具,它提供了一个直观的用户界面,使开发者可以轻松地构建、测试和修改 HTTP 请求。Postman 不仅适用于测试人员,也广泛应用于开发人员、产品经理和API设计者中,以确保API的正确性和性能。 以…

删除账户相关信息

功能需求 获取正确的待删除账户名杀死系统中正在运行的属于该账户的进程确认系统中属于该账户的所有文件删除该账户 1. 获取正确的待删除账户名 #让用户输入账户名 read -t 10 -p "please input account name: " accountif [ -z $account ] thenecho "account…

【python基础】—calendar模块

文章目录 前言一、calendar模块方法1.firstweekday()2.setfirstweekday(firstweekday)3.isleap(year)4.leapdays(y1, y2)5.weekday(year, month, day)6.monthrange(year, month)7.weekheader(n)8.monthcalendar(year, month)9.prmonth(theyear, themonth, w0, l0)10.prcal(year…

【硬核科普】存算一体化系统(Processing-in-Memory, PIM)深入解析

文章目录 0. 前言1. 提出背景1.1 存储墙1.2 功耗墙 2. 架构方案2.1 核心特征2.2 技术实现2.2.1 电流模式2.2.2 电压模式2.2.3 模式选择 2.3 PIM方案优势 3. 应用场景4. 典型产品4.1 鸿图H304.2 三星HBM-PIM 5. 存算一体化缺点6. 总结 0. 前言 按照国际惯例,首先声明…

c++类模板及应用

文章目录 为什么要有函数模板一般实现举例类模板举例 继承中类模板的使用特殊情况 友元函数模板类和静态成员类模板实践 为什么要有函数模板 项目需求: 实现多个函数用来返回两个数的最大值,要求能支持char类型、int类型、double 一般实现举例 类模板举例 继承中类…

如视“VR+AI”实力闪耀2024世界人工智能大会

7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议(以下简称为“WAIC 2024”)在上海盛大开幕,本届大会由外交部、国家发展和改革委员会、教育部等部门共同主办,围绕“以共商促共享 以善治促善智”主题&#xf…

什么是构造函数?Java 中构造函数的重载如何实现?

构造函数,就像是建筑房屋时的奠基仪式,是Java类中一个特殊的方法,主要用于初始化新创建的对象。 每当创建一个类的新实例时,构造函数就会自动调用,负责为这个新对象分配内存,并对其进行必要的设置&#xf…

【PythonGIS】基于Geopandas和Shapely计算矢量面最短路径

在GIS进行空间分析时经常会需要计算最短路径,我也是最近在计算DPC的时候有这方面的需求,刚开始直接是用面的中心点求得距离,但其对不规则或空洞面很不友好。所以今天跟大家分享一下基于Geopandas和Shapely计算矢量面最短路径,这里的最短即点/边的最短! 原创作者:RS迷途小…

mysql查询父级树

WITH RECURSIVE parents AS (SELECT id, parent_idFROM t_departmentWHERE id 10004154UNION ALLSELECT c.id, c.parent_idFROM t_department cINNER JOIN parents p ON c.id p.parent_id ) SELECT parent_id FROM parents;

【SSL 1823】消灭怪物(非传统BFS)

题目大意 小b现在玩一个极其无聊的游戏,它控制角色从基地出发,一路狂奔夺走了对方的水晶,可是正准备回城时,发现地图上已经生成了 n n n 个怪。 现在假设地图是二维平面,所有的怪和角色都认为是在这个二维平面的点上…

【算法训练记录——Day41】

Day41——动态规划Ⅲ 1.理论基础——代码随想录2.纯01背包_[kamacoder46](https://kamacoder.com/problempage.php?pid1046)3.leetcode_416分割等和子集 背包!! 1.理论基础——代码随想录 主要掌握01背包和完全背包 物品数量: 只有一个 ——…

农作物生长环境的远程监控与智能调控

农作物生长环境的远程监控与智能调控 农作物生长环境的远程监控与智能调控技术,作为现代农业科技的核心组成部分,正逐步革新传统农业的生产模式,推动农业向精准化、智能化转型。这一技术体系综合应用了物联网、大数据、云计算以及人工智能等…

龙芯杯个人赛记录

惊觉8.5就是个人赛ddl,啥都不会和没做,打算对着《cpu设计实战》和B站视频走。