kuka示教器嵌套UR界面操作ros中rviz的UR机器人

   摘要

本例展示了用QT增加一个网页视图,背景是kuka示教器界面,中间增加UR的VNC网页界面显示。本人博客中一起有写过ros2运行UR的操作。

        ros2 UR10仿真包运行_基于ros的ur仿真-CSDN博客

      效果如下:

1.打开UR机器人的ros2仿真文件

sudo su
ros2 run ur_client_library start_ursim.sh -m ur10

 

ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=192.168.56.101 launch_rviz:=true

 

 2.使用QT pyside6编写界面文件

背景的增加,参考这篇文件。 

qt for python创建UI界面-CSDN博客

 

主要是将示教器显示区域增加了这个QwebView控件,气泡3的URL地址写成打开的UR控制器的地址:http://192.168.56.101:6080/vnc.html,与第一步中的对应。

3.转换界面文件到python模块

 使用这个命令转换

pyside6-uic login.ui -o ui_login.py

转换后是这样的,可以通过添加现有文件把这个文件添加到工程中。 

需要注意的是有三个地方要修改,修改后的代码如下,不然总是提示不能解析qwebview,或者其他错误。只改上图标识的地方即可,其他保持原样,代码如下:

# -*- coding: utf-8 -*-################################################################################
## Form generated from reading UI file 'login.ui'
##
## Created by: Qt User Interface Compiler version 6.6.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,QMetaObject, QObject, QPoint, QRect,QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,QFont, QFontDatabase, QGradient, QIcon,QImage, QKeySequence, QLinearGradient, QPainter,QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QPushButton, QSizePolicy, QWidget)
from PySide6.QtWebEngineWidgets import QWebEngineView
#from QtWebKitWidgets.QWebView import QWebViewclass Ui_Login(object):def setupUi(self, Login):if not Login.objectName():Login.setObjectName(u"Login")Login.resize(1056, 750)Login.setStyleSheet(u"background-image: url(:/kuka_top.png);")self.pushButton = QPushButton(Login)self.pushButton.setObjectName(u"pushButton")self.pushButton.setGeometry(QRect(720, 600, 89, 25))self.webView = QWebEngineView(Login)self.webView.setObjectName(u"webView")self.webView.setGeometry(QRect(230, 190, 601, 371))self.webView.setUrl(QUrl(u"http://192.168.56.101:6080/vnc.html"))self.webView.setZoomFactor(0.600000000000000)self.retranslateUi(Login)QMetaObject.connectSlotsByName(Login)# setupUidef retranslateUi(self, Login):Login.setWindowTitle(QCoreApplication.translate("Login", u"Form", None))self.pushButton.setText(QCoreApplication.translate("Login", u"\u4e0b\u4e00\u6b65", None))# retranslateUi

4.加载界面程序

按上图代码,增加3处的代码,具体如下:

# This Python file uses the following encoding: utf-8# if __name__ == "__main__":
#     passimport sys
from PySide6.QtWidgets import QApplication, QMainWindow
from PySide6.QtCore import QFile
from ui_login import Ui_Login
import imagesclass MainWindow(QMainWindow):def __init__(self):super(MainWindow, self).__init__()self.ui = Ui_Login()self.ui.setupUi(self)if __name__ == "__main__":app = QApplication(sys.argv)window = MainWindow()window.show()sys.exit(app.exec())

 5.运行效果

如摘要所示,点击链接后,可以正常操作控制机器人

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

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

相关文章

32RTCBKP

目录 一.时间戳 二.BKP简介 三.RTC外设简介 ​编辑四.相关寄存器 五.相关函数 六.代码实现 (1)读写备份寄存器 (2)实时时钟 一.时间戳 最早在Unix系统上使用 Linux,Windos,安卓的底层计时系统 好处: 1.简化硬件电路&#xff0c…

c++的类型转换方法

一、静态类型转换(static_cast) 静态类型的转换主要用于基本类型之间的转换,比如int类型转换为double类型。但是static_cast也可以支持上下行的转换(存在继承关系之间的转换) 基本类型之间的转换举例 上下行转换的举…

《Docker 简易速速上手小册》第8章 Docker 在企业中的应用(2024 最新版)

文章目录 8.1 Docker 在开发环境中的应用8.1.1 重点基础知识8.1.2 重点案例:Python Web 应用开发环境8.1.3 拓展案例 1:Python 数据分析环境8.1.4 拓展案例 2:Python 自动化测试环境 8.2 Docker 在生产环境的实践8.2.1 重点基础知识8.2.2 重点…

174基于matlab的雷达数字信号处理

基于matlab的雷达数字信号处理。该程序具备对雷达目标回波的处理能力,能够从噪声中将目标检测出来,并提取目标的距离、速度、角度信息。有相应的试验文档。程序已调通,可直接运行。 174 雷达数字信号处理 目标检测出来 (xiaohongshu.com)

STM32单片机基本原理与应用(八)

温度传感器实验 实验内容: 单片机通过代码模拟1-Wire总线并对DS18B20进行读写,并在TFTLCD屏幕上显示当前实时温度。 电路原理图: 1-Wire总线 1-Wire总线:即单总线协议,采用单根信号线,既传输时钟&#…

高等数学(无穷小与无穷大)

目录 一、无穷小 二、无穷大 三、无穷小与无穷大的关系 四、无穷小量的阶的比较 一、无穷小 二、无穷大 三、无穷小与无穷大的关系 四、无穷小量的阶的比较

直接写就行!EI顶刊组合:多能源微网/综合能源系统两阶段鲁棒优化配置方法代码!

适用平台:MatlabYalmipCplex 参考文献: 《考虑机组禁止运行区间的含风电鲁棒机组组合》-中国电机工程学报 《微电网两阶段鲁棒优化经济调度方法》-中国电机工程学报 程序提出了微电网中电源容量的两阶段鲁棒优化配置模型,第一阶段主要决策…

Swift Combine 使用 handleEvents 操作符调试管道 从入门到精通二十五

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二Swift Combine 管道 从入门到精通三Swift Combine 发布者publisher的生命周期 从入门到精通四Swift Combine 操作符operations和Subjects发布者的生命周期 从入门到精通五Swift Com…

LemonSqueezy

信息收集 # nmap -sn 192.168.1.0/24 -oN live.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-08 11:22 CST Nmap scan report for 192.168.1.1 Host is up (0.00037s latency). MAC Address: 00:50:56:C0:00:08 (VMware) Nmap scan r…

人工智能聊天机器人如何帮助您实现工作与生活的平衡

如何用AI聊天机器人实现高效工作生活平衡 工作与生活平衡是管理个人和职业生活需求和责任的能力。 在当今快节奏和竞争激烈的世界中,工作与生活平衡被视为一个理想的目标。然而,对于忙碌的专业人士来说,实现工作与生活的平衡可能具有挑战性&a…

LeetCode刷题---LRU缓存

LRU LRU是Least Recently Used的缩写,即最近最少使用,是一种内存管理算法,也可以用作缓存淘汰策略。 这种算法的核心思想是:如果数据最近被访问过,那么将来被访问的几率也更高。 因此,当内存或缓存容量有限…

18个惊艳的可视化大屏(第六辑):地图焦点

本期带来的都是以地图作为视觉焦点的可视化大屏页面。