当前位置: 首页 > news >正文

旅游网站建设报价单wordpress后台出现404

旅游网站建设报价单,wordpress后台出现404,开发公司绩效考核,网站的建设的项目介绍怎么写第一弹赛题的选择与前期方案的准备 opencv调用摄像头bug的解决 机械臂的组装 采用三个舵机#xff0c;组成一个三自由度的机械臂。 并且利用电磁吸盘的方式#xff0c;完成对棋子的抓取工作#xff0c;后面的事实证明#xff0c;在预算不足的情况下#xff0c;队友手搓…第一弹赛题的选择与前期方案的准备 opencv调用摄像头bug的解决 机械臂的组装 采用三个舵机组成一个三自由度的机械臂。 并且利用电磁吸盘的方式完成对棋子的抓取工作后面的事实证明在预算不足的情况下队友手搓的机械臂发挥了大作用。 机械臂的调试代码 import time import RPi.GPIO as GPIOclass ArmControl:def __init__(self):GPIO.setwarnings(False)# 初始化舵机引脚self.servos {base: 16,shoulder: 20,elbow: 21}# 设定每个九宫格位置对应的舵机角度self.position_angles {0:(60 ,60 , 90), 9: (94, 69, 46), # 位置1: 基座97°肩部14°肘部0° true1 9 18: (89, 67, 48), # 位置2: 基座90°肩部14°肘部0° true1 8 17: (83, 63, 51), # 位置3: 基座82°肩部14°肘部0° true1 7 16: (96,61, 67), # 位置4: 基座97°肩部5°肘部3° true1 6 15: (89, 61, 73), # 位置5: 基座90°肩部0°肘部0° true1 5 14: (82, 61, 74), # 位置6: 基座82°肩部5°肘部3° true1 4 13: (98, 60, 89), # 位置7: 基座99°肩部0°肘部45° true1 3 12: (89, 60, 93), # 位置8: 基座90°肩部0°肘部45° true1 2 11: (80, 60, 97) , # 位置9: 基座80°肩部0°肘部46° true1 1 1A1: (75,64,63), # 位置1: 基座97°肩部14°肘部0° B1:(104,67,49), # 位置1: 基座97°肩部14°肘部0° trueC1:(106,66,67), # 位置1: 基座97°肩部14°肘部0° tureD1:(108, 70, 102), # 位置1: 基座97°肩部14°肘部0°A2:(75, 69,43), # 位置1: 基座97°肩部14°肘部0° true 1B2:(75, 64, 67), # 位置1: 基座97°肩部14°肘部0° trueC2:(73, 64, 85), # 位置1: 基座97°肩部14°肘部0°D2:(70, 70, 112), # 位置1: 基座97°肩部14°肘部0°}# 设置GPIO模式GPIO.setmode(GPIO.BCM)# 设置舵机引脚self.pwm {}self.last_time 0 # 上一次设置时间self.debounce_time 0.5 # 防抖时间秒for servo in self.servos.values():GPIO.setup(servo, GPIO.OUT)self.pwm[servo] GPIO.PWM(servo, 50) # 50Hzself.pwm[servo].start(0)def set_servo_angle(self, pwm, target_angle, speed):将舵机平滑旋转到指定角度并实现防抖逻辑current_time time.time() # 获取当前时间# 防抖逻辑if current_time - self.last_time self.debounce_time:return # 如果距离上次设置时间小于防抖时间则不执行# 计算占空比duty self.angle_to_duty_cycle(target_angle)# 确保占空比在合理范围内if duty 0:duty 0elif duty 12: # 假设最大是180度duty 12pwm.ChangeDutyCycle(duty)time.sleep(speed) # 按速度控制时间延迟pwm.ChangeDutyCycle(0) # 停止PWM信号self.last_time current_time # 更新最后设置时间def move_servo(self, servo_name, angle):指定舵机移动到指定角度self.set_servo_angle(self.pwm[self.servos[servo_name]], angle, 0.5) # 设置速度为0.5秒def move_to_position(self, position):移动机械臂到指定棋盘位置1-9if position in self.position_angles:angles self.position_angles[position] # 获取角度元组self.move_servo(base, angles[0])# 移动基座time.sleep(1)self.move_servo(elbow, angles[2])time.sleep(1)self.move_servo(shoulder, angles[1])# 移动肩部# 移动肘部def remove_to_position(self, position):移动机械臂到指定棋盘位置1-9if position in self.position_angles:angles self.position_angles[position] # 获取角度元组self.move_servo(shoulder, angles[1])# 移动基座time.sleep(1)self.move_servo(elbow, angles[2])time.sleep(1)self.move_servo(base, angles[0])else:print(无效的位置编号)def angle_to_duty_cycle(self, angle):将角度转换为PWM占空比0到100之间return (angle / 18) 2 # 示例转换具体根据舵机类型调整def cleanup(self):清理GPIO设置for pwm in self.pwm.values():pwm.stop()GPIO.cleanup()if __name__ __main__:arm ArmControl()try:# 将舵机初始化到位置 0print(Moving to position 0...)arm.remove_to_position(0)time.sleep(2) # 等待确保舵机到达位置# 返回到位置 0print(Returning to position 0...)arm.move_to_position(B1)time.sleep(2) # 等待确保舵机到达位置# 然后移动到位置 1print(Moving to position 1...)#arm.remove_to_position(0)time.sleep(2) # 等待确保舵机到达位置except KeyboardInterrupt:print(Process interrupted!)finally:arm.cleanup() # 清理GPIO设置 机械臂的问题 首先三个舵机一定要与树莓派共地不然机械臂可能会出现随机乱动的情况。 其次一定要根据三个舵机的功率去计算机械臂的功率然后选取非常稳定的稳压模块去给其供电。
http://www.dnsts.com.cn/news/115986.html

相关文章:

  • 网站建设-应酷品牌网站建设S苏州
  • 南京哪里可以做网站怎么建设手机网站
  • 专业响应式网站制作学网络运营什么学校好
  • 深圳市网站开发坂田附近网站类网站开发犯罪吗
  • 网站建设的三大原则杭州百度代理公司
  • 房地产网站建设提案android手机开发
  • 一个空间可以建多个网站企业网站注册官网
  • 汉川做网站wordpress js效果
  • 网站建设开题报告南京高端网站定制
  • 设计工作室 网站实惠高端网站设计品牌
  • 建网站卖东西网站业务功能设计
  • 石家庄大的网站开发公司网站设计排名北京
  • 云南专业做网站多少钱自己做本地网站
  • 做网站的IT行业东莞建设通网站
  • 德化规划与建设局网站新媒体平台
  • 上海网站建设推荐秒搜科技html源码网站建设中
  • 相城区建设网站网站建设部署
  • 怎样做网站宣传用旧手机做网站服务器
  • 运维 网站开发邵阳公司网站建设
  • 企业网站优化服务公司网站开发于制作总结
  • 如何用微信打开微网站坑梓网站建设平台
  • 东莞营销网站建设推广北京智能网站建设哪里有
  • 北京中交建设公司网站开发网站找什么公司吗
  • 杭州网站制作培训中国室内设计师联盟网站
  • 百度站长工具网站验证免费的行情软件网站在线使用
  • 花生壳软件做的网站中国机械加工网制造
  • 有什么网站可以做投票功能吗证券公司客户经理怎么拉客户
  • 广州可信网站认证服务器华龙网重庆网络问政平台
  • 名校建设网站根域名服务器
  • 网站浏览构思南山区