RobotMaster使用——使用python脚本自动选择刀具 & 优化繁琐无意义的流程化操作
2023-12-24 12:40:17
目录
引出
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 firstPos
pyautogui.moveTo(420, firstPos)
pyautogui.click(x=420, y=firstPos)
time.sleep(sleepTime)
# 2.然后选择第七把刀, 确认
selectDao()
print("进行第"+str(i)+"条轨迹刀具选择")
firstPos = firstPos + 25
def 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脚本自动选择刀具 & 优化繁琐无意义的流程化操作
文章来源:https://blog.csdn.net/Pireley/article/details/135179995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!