机器人之仿真软件的使用(ABB RobotStudio)

机器人之仿真软件的使用(ABB RobotStudio)

坐标系:

基地坐标

大地坐标系



工具坐标系(TCP)

工件坐标系(用户[UserFrame]\工件[ObjectFrame])

关节坐标系(jointtarget)



六轴机器人

1、平移:Ctrl+鼠标左键2、旋转:Ctrl+Shift+左键3、机械装置手动关节:设置每轴的数据



           可以通过手动关节/手动线性调整单个轴的运动/旋转等操作,除此之外就是拉手动关节运动面板,控制机械手每轴的运动。

姿态:轴配置。

MoveL Target 10,v1000,z100,MyTool\wobj:=wobj0:

MoveL Target 10,v1000,fine,MyTool\wobj:=wobj0;

MoveL:直线运动

Target 10:目标点

v1000:速度

z100:转弯半径,适当的转弯半径可以提高效率,但是有精确要求必须使用fine
MyTool:工具坐标系

WObj:=wobj0:工件坐标系4、回到机械原点5、线性运动:X、Y、Z

所有轴在配合TCP点运动6、安装\拆除工具7、TCP:Tool Center Point 工具中心点      tool0:六轴中心位置

所有对机器人的控制其实就是对TCP点的控制8、保存数据:示教目标点



T_ROB1:就是刚才保存的点位信息,5位置 就是刚才的点位



工具坐标系标定:        四点示教法:如果工具的数据的TCP位置很难获得的时候,可利用此法对自动算出其TCPN相对于法兰端面中心TCP0之坐标位置。注意,此法仅适用于六轴机器人上。        选取点步骤:                ①选取原点                ②调整机器人姿态,分别设置姿态1、姿态2、姿态3、姿态4                ③示教工具坐标系



       

                原点



   

              姿态1                         姿态2                           姿态3                        姿态4

创建工件坐标点:





注意:要开启捕获,才能显示小白点,观察自己的点位



工件坐标系
【1】工作坐标&目标点-创建工件坐标

【2】坐标系名称wobj Left
【3】选点:原点、X、XY平面上一点
MoveL ToPoint Speed Zone Tool

[]:可选参数
|:或
MoveL:运动类型(直线)(不能变)

ToPoint:目标描述,目标点 数据类型:robtarget

Speed:速度 数据类型:speeddata

Zone:转弯半径数据类型:zonedata

Tool:工具坐标系 数据类型:tooldata

\WObj:工件坐标系 数据类型:wobjdata

[\TLoad ]Total load数据类型:loaddata9、重定位运动(旋转)10、数据类型

robtarget :保存的是线性运动(直角坐标)下的坐标值

CONST robtarget p15 :=[

[600, 500,225.3],                           ---- trans            X、Y、Z 

[1, 0, 0, 0],                                     ---- rot                方位

[1, 1. 0,0],                                      ---- robconf        姿态

[ 11,12.3, 9E9, 9E9, 9E9, 9E9]     ---- extax            外轴

];

结构:[trans,rot,robconf,extax]

trans:pos                                          pos1 := [600,500,225.3];    X Y Z

rot:orien                                             torient1 := [1,0,0, 0];    四元数

robconf: confdata                               conf15 := [1,-1.0,0]      一组姿态值(轴位置)

extax:extjoint


jointtarget:轴关节角度数据[robjoint,extjoint]
MoveJ:远距离,有利于机器人平滑运动,不容易碰到奇异点

MoveL:近距离,强制机器人直线

示例1

1、导入模型库-设备-Curve Thing

2、导入工具

3、添加示教点,将示教点添加到路径种,同步到RAPID中

首先先创建工件的坐标系

其次,在工件坐标系的基础上,设置示教点位,并添加到路径

最后,可以在在代码中,可以对同类工件,不同位置,设定一个点位,更换工件坐标系,进行机械手运动

路径中最后一个点的zero:fine。

如果要走环形,要选中过度点和目标点,鼠标右键,选择修改指令中的转换为MoveC

示例2

机器人怎么知道物料来了???

传送带到位有一个输出信号:doinpos ----> 机器人内部有一个diinpos信号,用于接受doinpos信号 -----> 机器人会发出抓取doGrip信号 ----> 夹爪/洗盘中有一个diGrip 信号,用于接收doGrip信号,然后去抓取物料 ----> 夹爪/洗盘抓到物料之后发出doGrip ok信号 ---->机器人中的diGrip ok,用于接收doGrip ok信号,如果收到,说明已经抓取到物料----> 机器人把物料放到指定的位置,如果想松下来,就把doGrip信号复位

IO板子设置:

IO信号设置:

Read more

Web 请求到底为什么是I/O 密集型的庖丁解牛

“Web 请求是 I/O 密集型” 是后端开发的核心认知,但许多 PHP 程序员仅停留在口号层面。 一、Web 请求的完整生命周期(以 Laravel 为例) RedisMySQLPHP-FPMNginxClientRedisMySQLPHP-FPMNginxClientHTTP RequestFastCGI RequestSELECT * FROM users WHERE id=100Result SetGET user:100:profileProfile DataHTML/JSON ResponseHTTP Response ✅ 关键观察: PHP 代码执行时间 ≈ 10–50ms, I/O 等待时间 ≈ 50–200ms(数据库 + 缓存 + 网络) 二、I/O 密集型的本质:CPU 在等待

V8与WebKit揭秘:现代浏览器引擎漏洞在Web渗透中的高级利用实战

前言 1. 技术背景:在现代Web攻防体系中,浏览器本身已成为一个关键的攻击入口。传统的Web渗透测试(如XSS、CSRF、SQL注入)主要聚焦于服务器端应用的漏洞,而针对客户端的攻击则往往依赖于浏览器引擎的复杂性。V8(用于Chrome和Edge)和WebKit(用于Safari)作为最主流的浏览器引擎,其内部的JIT编译器、垃圾回收机制等模块异常复杂,不可避免地会产生类型混淆 (Type Confusion)、越界读写 (OOB) 等内存安全漏洞。利用这些漏洞,攻击者可以突破浏览器的沙箱 (Sandbox) 限制,实现从一个网页标签页的JavaScript执行环境,跃迁到对用户操作系统的完全控制,即实现远程代码执行 (RCE)。这种攻击模式是对传统Web攻击的降维打击,它将原本局限于Web应用层面的风险,直接升级为对终端主机的系统级威胁。 2. 学习价值:掌握浏览器引擎漏洞的利用技术,意味着你将能够: * 理解攻击的本质:从内存层面理解JavaScript代码如何被执行,以及看似无害的操作为何能触发致命漏洞。 * 提升漏洞挖掘能力:学会使用**Fuzzing(

Web Server for Chrome终极指南:5分钟搭建本地Web开发环境

Web Server for Chrome终极指南:5分钟搭建本地Web开发环境 【免费下载链接】web-server-chromeAn HTTP Web Server for Chrome (chrome.sockets API) 项目地址: https://gitcode.com/gh_mirrors/we/web-server-chrome 还在为复杂的本地服务器配置而头疼吗?想要一个简单快捷的方式来预览网页项目或共享文件吗?Web Server for Chrome正是你需要的解决方案。这款基于Chrome浏览器的轻量级HTTP服务器,让本地Web开发变得前所未有的简单。 为什么选择Web Server for Chrome? 传统的本地服务器搭建往往需要安装Node.js、Python等运行环境,配置过程繁琐复杂。Web Server for Chrome彻底改变了这一现状,它直接在Chrome浏览器中运行,无需任何外部依赖,真正实现了开箱即用。 核心优势: * 🚀 零配置启动,几秒钟内即可运行 * 💻 跨平台兼容,

前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南)

前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南)

前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南) * 前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南) * 为啥前端突然要搞这破玩意儿?还不是被后端逼的 * 先整明白UUID到底是个啥,别瞎用 * 土法炼钢第一式:Math.random()真的靠谱吗? * 土法炼钢第二式:Date.now()加料版 * 土法炼钢第三式:浏览器指纹大杂烩 * 正规军来了:uuid npm包到底香不香? * 浏览器原生API:crypto.randomUUID()真香预警 * 生产环境翻车实录:那些我以为的唯一其实并不唯一 * 实战代码大放送:这些场景你肯定用得上 * 调试技巧:怎么验证你的UUID真的唯一? * 冷门但好用的小技巧 * 最后唠叨两句,也是掏心窝子的话 前端小白也能秒上手:JS生成UUID的10种姿势(附避坑指南) 说实话啊,这篇文章我原本是不想写的。真的,因为UUID这玩意儿听起来就挺"后端味儿"的,感觉应该是那帮穿格子衫的Java老哥在Spring Boot里@Genera