Skip to content

QiuYuCode/robot_arm_control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

236 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

六轴机械臂

六轴机器人上位机


用六轴机械臂,推开机器人世界的大门

一、介绍

开源六轴机器人上位机控制程序 项目的 GUI 采用的是 PySide6QFluentWidgets 组件库 可通过网络、WiFi、蓝牙、串口通讯方式,控制机械臂的六个关节进行复杂灵活的运动

二、技术栈

  • vs code - Visual Stdio Code 开源的代码编辑器
  • qfluent widget - 在设计师中拖拖拽拽,无需书写 QSS,即可快速构建美观的界面
  • PySide6 - python 桌面 GUI 框架

三、环境搭建

接下来,将为您说明如何在您的本地计算机上,启动并运行的机械臂上位机的项目源代码,以用于开发或教学目的。

如果您只需使用打包好的上位机程序,有关如何在您的操作系统上,安装打包好的上位机程序的说明,请参阅更详细的安装手册,上位机的安装包可在 Release 页面找到

3.1 解压代码

打开下载好的项目文件,解压后进入项目的主目录

robot_arm_control 项目结构如下

├─app ---------------------------- // 上位机子页面源码
│ ├─command_page.py -------------- // 示教控制页面【 command_page.ui 生成】
│ ├─connect_page.py -------------- // 连接配置页面【connect_page.ui 生成】
│ ├─teach_page.py ---------------- // 示教控制页面【 teach_page.ui 生成】
│ └─__init__ 
├─assets ------------------------- // 存放静态资源的目录
│ ├─icons ------------------------ // 工具等自定义小图标
│ └─images ----------------------- // 背景等稍大一些的图片文件
├─common ------------------------- // 一些公共的函数或类
│ ├─robot_module.py -------------- // 六轴机器人的建模文件
│ ├─check_tools.py --------------- // 检查机械臂状态的一些装饰器函数
│ ├─settings.py ------------------ // 存放项目的路径配置信息
│ ├─socket_client.py ------------- // 机械臂的连接函数
│ ├─work_threads.py -------------- // 上位机的核心工作线程
│ └─__init__.py 
├─componets ---------------------- // 自定义组件
│ ├─table_view_control.py -------- // 示教页面的表格内容控制器
│ └─__init__.py 
├─config ------------------------- // 存放机械臂的连接信息
│ ├─robot_dh_parameters.yaml ----- // 六轴机器人 DH 参数
│ └─robot_mdh_parameters.yaml ---- // 六轴机器人 MDH 参数
├─docs --------------------------- // 上位机的文档
├─logs --------------------------- // 上位机的运行日志
├─main.py ------------------------ // 上位机主程序文件
├─README.md ---------------------- // 项目简要说明文档
├─requirements.txt --------------- // 运行上位机需要的第三方模块
├─tests -------------------------- // 测试代码存放目录
└─ui ----------------------------- // 上位机界面文件,用 Qt Designer 编辑
  ├─command_page.ui -------------- // 命令控制页面
  ├─connect_page.ui -------------- // 连接配置页面
  └─teach_page.ui ---------------- // 示教控制页面

3.2 安装依赖

为了避免与您当前操作系统中,已经存在的 python 模块冲突,建议使用虚拟环境,确保程序能够正常运行!否则造成的意外情况,后果自负!

新建 python 虚拟环境,python 版本需要 >= 3.8

# 进入到项目的根目录中
cd robot_arm_control

# 激活虚拟环境
python -m venv venv
# win
venv\Scripts\activate.bat
# unix 类系统
source venv/bin/acvitate
# 安装项目依赖
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3.3 运行

完成环境的部署,接下来可以运行上位机的主程序

python main.py

命令行终端日志提示 机械臂运行成功日志截图

上位机主界面 上位机主界面

四、程序设计

4.1 上位机软件设计

上位机软件设计框图

主程序的 UML 如下图所示

上位机的主窗口类 RobotArmControlWindow,由连接控制页面类 ConnectPage、示教控制页面类TeachPage、命令控制页面类CommandPage 组成

同时,三个子页面类,依赖于通讯类 ClientSocket 完成主要的与机械臂通讯的功能

---
title: OpenR6 GUI UML
---

classDiagram 
	class RobotArmControlWindow
	
	class ConnectPage
		RobotArmControlWindow *-- ConnectPage
		ConnectPage --> ClientSocket
		
	class TeachPage
		RobotArmControlWindow *-- TeachPage
		TeachPage --> ClientSocket
		
	class CommandPage
		RobotArmControlWindow *-- CommandPage	
		CommandPage --> ClientSocket
		
	class ClientSocket
		
Loading

五、开始使用

关于上位机的连接配置、以及详细操作说明请参阅:《六轴机器人用户手册》

六、机械臂参数说明

下面是关于机械臂的一些电气物理参数介绍

6.1 参数规格

轴数 6+1
有效负载 1000 g
重复定位精度 0.1 mm
通信接口 有线 / WIFI / Bluetooth / RS485 / Type-C
电源电压 100 V- 240 V, 50/60 HZ
电源输入 12 V / 5A DC
功率 60W Max
工作环境 -10℃ - 80℃

6.2 轴运动参数

工作范围 最大速度(500 g负载)
轴 1 -136°to + 136° 45°/ s
轴 2 -85°to + 97° 45°/ s
轴 3 -91° to + 47° 45°/ s
轴 4 -141°to + 182° 45°/ s
轴 5 -220° to + 30° 27°/ s
轴 6 -360­° to + 360° 45°/ s

七、物理特性

净重(机械臂) 4.8 KG
底座尺寸(长x宽x高) 170mm x 135mm x 8mm
材料 铝合金 高韧性树脂
控制器 STM 32
机器人安装 桌面

7.1 MDH 参数

关节 alpha a d theta
1 0 0 153.50 0
2 -pi / 2 24 0 -pi / 2
3 0 160.72 0 0
4 -pi / 2 0 223 0
5 pi / 2 0 0 pi/2
6 pi / 2 0 -108.79 0

7.2 DH 参数

关节 alpha a d theta
1 -pi/2 24 153.50 0
2 0 160.72 0 -pi / 2
3 -pi/2 0 0 0
4 pi / 2 0 223 0
5 pi / 2 0 0 pi/2
6 0 0 -108.79 0

7.3 机械臂电机方向与角度范围

先将屏幕面向操作者,将机械臂回零,再确定电机的角度正负值,以及对应的控制方向

需要与正逆解模型的角度方向一致

电机编号 方向 负值(度) 正值(度) 方向 备注
1 顺时针 -136 +136 逆时针 俯视
2 顺时针 -85 +97 逆时针 左视
3 顺时针 -91 +47 逆时针 左视
4 逆时针 -141 +182 顺时针 正视
5 顺时针 -220 +30 逆时针 左视
6 顺时针 -360 +360 逆时针 俯视

About

六轴机械臂上位机

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages