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

相关文章

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

使用Python实现高效的端口扫描器

《使用Python实现高效的端口扫描器》在网络安全领域,端口扫描是一项基本而重要的技能,通过端口扫描,可以发现目标主机上开放的服务和端口,这对于安全评估、渗透测试等有着不可忽视的作用,本文将介绍如何使... 目录1. 端口扫描的基本原理2. 使用python实现端口扫描2.1 安装必要的库2.2 编写端口扫

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言

使用Python实现操作mongodb详解

《使用Python实现操作mongodb详解》这篇文章主要为大家详细介绍了使用Python实现操作mongodb的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、示例二、常用指令三、遇到的问题一、示例from pymongo import MongoClientf

SQL Server使用SELECT INTO实现表备份的代码示例

《SQLServer使用SELECTINTO实现表备份的代码示例》在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误,在SQLServer中,可以使用SELECTINT... 在数据库管理过程中,有时我们需要对表进行备份,以防数据丢失或修改错误。在 SQL Server 中,可以使用 SE

使用Python合并 Excel单元格指定行列或单元格范围

《使用Python合并Excel单元格指定行列或单元格范围》合并Excel单元格是Excel数据处理和表格设计中的一项常用操作,本文将介绍如何通过Python合并Excel中的指定行列或单... 目录python Excel库安装Python合并Excel 中的指定行Python合并Excel 中的指定列P

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可