RobotMaster使用——使用python脚本自动选择刀具 优化繁琐无意义的流程化操作

本文主要是介绍RobotMaster使用——使用python脚本自动选择刀具 优化繁琐无意义的流程化操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 引出
    • 问题:刀具选择耗时且流程化
    • 解决方案调研
      • 1、极速鼠标连点器
      • 2、python编写脚本
    • 程序编写
      • 导出依赖包
      • 在工作电脑上安装python环境
    • 操作指南
      • 1、python脚本
      • 2、鼠标连点器
    • 使用情况
  • 总结

引出


RobotMaster使用——使用python脚本自动选择刀具 & 优化繁琐无意义的流程化操作

问题:刀具选择耗时且流程化

在这里插入图片描述

解决方案调研

1、极速鼠标连点器

鼠标自动点击器-连点器软件电脑版下载-极速鼠标连点器
https://www.jisudianji.com/

在这里插入图片描述

该软件需要重复操作,编辑延迟时间,坐标位置,在基础功能中操作反而比较繁琐。如果在鼠标录制器中进行鼠标操作的录制,则可以实现更为灵活的操作。

结论:鼠标录制为一种可行的解决方案

2、python编写脚本

使用python中的keyboard模块,用于监听键盘按键,仿照上述软件执行开始和结束操作;

使用pyautogui库,实现鼠标的动作,移动到指定位置,进行鼠标点击事件;

使用time包,实现鼠标的延迟操作(由于RobotMaster操作反应过慢);

https://pyautogui.readthedocs.io/en/latest/

在这里插入图片描述

程序编写

# encoding:utf-8
import time
import keyboard
import pyautogui# 定义常量
firstPos = 163  # 初始的第一个y位置# 全局变量,鼠标点击的延迟时间
global sleepTime
sleepTime = 15# 主程序,进行鼠标移动到指定位置,进行点击事件
def start_program():print("程序开始执行")# 屏幕整体大小scanSize = pyautogui.size()# 当前鼠标的位置mousePos = pyautogui.position()print(scanSize)print(mousePos)# 整体流程# 1.点击编辑刀具print("选择刀具,单击一下")time.sleep(sleepTime)# 重复上面的步骤# 4.然后鼠标回到原来的位置,向下移动一位for i in range(1, 23):global firstPospyautogui.moveTo(420, firstPos)pyautogui.click(x=420, y=firstPos)time.sleep(sleepTime)# 2.然后选择第七把刀, 确认selectDao()print("进行第"+str(i)+"条轨迹刀具选择")firstPos = firstPos + 25def stop_program():print("程序结束执行")keyboard.unhook_all()  # 停止监听键盘事件# 选择刀具的操作
def selectDao():pyautogui.moveTo(219, 422)pyautogui.click(x=219, y=422)time.sleep(sleepTime)pyautogui.moveTo(475, 100)pyautogui.click(x=475, y=100)time.sleep(sleepTime)if __name__ == '__main__':keyboard.on_press_key("F6", lambda _: start_program())  # 监听按下'F6'键keyboard.on_press_key("F6", lambda _: stop_program())  # 监听按下'F6'键keyboard.wait()  # 等待键盘事件

导出依赖包

pipreqs ./ --encoding=utf8

https://zhuanlan.zhihu.com/p/655803921

在这里插入图片描述

在这里插入图片描述

在工作电脑上安装python环境

详细步骤略

操作指南

1、python脚本

python TestDemo.py

在这里插入图片描述

进入robotmaster软件中,导入新的文件,调整好位置,按下F6键,程序开始执行

在这里插入图片描述

此时控制台或输出以下信息

在这里插入图片描述

程序结束,按下Ctrl+C,进行下一个文件的修改

在这里插入图片描述

2、鼠标连点器

进入鼠标录制器中

在这里插入图片描述

录制鼠标操作事件,需要完整执行一轮操作,然后保存,最后运行即可

在这里插入图片描述

使用情况

在使用该脚本后,无需手动一个一个轨迹,一直盯着屏幕,然后进行刀具的选择,解放了现场实施人员的双眼和双手,具有较好的便捷性;

待优化项:

1.目前没有加入鼠标滚轮的操作,有些轨迹文件会比较多,需要配置鼠标滚轮实现;暂时可以通过使用调整,优先级P3;

2.由于鼠标y轴位置递增的设置,会出现有些轨迹刀具的选择重复操作,属于冗余操作,结论,功能可实现,暂不优化;


总结

RobotMaster使用——使用python脚本自动选择刀具 & 优化繁琐无意义的流程化操作

这篇关于RobotMaster使用——使用python脚本自动选择刀具 优化繁琐无意义的流程化操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/531893

相关文章

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Python实现批量CSV转Excel的高性能处理方案

《Python实现批量CSV转Excel的高性能处理方案》在日常办公中,我们经常需要将CSV格式的数据转换为Excel文件,本文将介绍一个基于Python的高性能解决方案,感兴趣的小伙伴可以跟随小编一... 目录一、场景需求二、技术方案三、核心代码四、批量处理方案五、性能优化六、使用示例完整代码七、小结一、

Python中 try / except / else / finally 异常处理方法详解

《Python中try/except/else/finally异常处理方法详解》:本文主要介绍Python中try/except/else/finally异常处理方法的相关资料,涵... 目录1. 基本结构2. 各部分的作用tryexceptelsefinally3. 执行流程总结4. 常见用法(1)多个e