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

相关文章

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

shell脚本批量导出redis key-value方式

《shell脚本批量导出rediskey-value方式》为避免keys全量扫描导致Redis卡顿,可先通过dump.rdb备份文件在本地恢复,再使用scan命令渐进导出key-value,通过CN... 目录1 背景2 详细步骤2.1 本地docker启动Redis2.2 shell批量导出脚本3 附录总

Django开发时如何避免频繁发送短信验证码(python图文代码)

《Django开发时如何避免频繁发送短信验证码(python图文代码)》Django开发时,为防止频繁发送验证码,后端需用Redis限制请求频率,结合管道技术提升效率,通过生产者消费者模式解耦业务逻辑... 目录避免频繁发送 验证码1. www.chinasem.cn避免频繁发送 验证码逻辑分析2. 避免频繁

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

精选20个好玩又实用的的Python实战项目(有图文代码)

《精选20个好玩又实用的的Python实战项目(有图文代码)》文章介绍了20个实用Python项目,涵盖游戏开发、工具应用、图像处理、机器学习等,使用Tkinter、PIL、OpenCV、Kivy等库... 目录① 猜字游戏② 闹钟③ 骰子模拟器④ 二维码⑤ 语言检测⑥ 加密和解密⑦ URL缩短⑧ 音乐播放