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

wordpress备份图文文章廊坊网站快照优化公司

wordpress备份图文文章,廊坊网站快照优化公司,个人备案的网站可以做淘宝客吗,做国外有那些网站比较好机械臂 一 功能原理1 硬件设备2 arduino库3 工作原理 二 代码设计全局参数1 颜色识别2 机械臂转动3 机械臂复位 三 展示效果 一 功能原理 识别出不同颜色的物体#xff0c;让机械臂进行夹取并放入不同位置。 1 硬件设备 2 arduino库 3 工作原理 二 代码设计 项目重点划分… 机械臂 一 功能原理1 硬件设备2 arduino库3 工作原理 二 代码设计全局参数1 颜色识别2 机械臂转动3 机械臂复位 三 展示效果 一 功能原理 识别出不同颜色的物体让机械臂进行夹取并放入不同位置。 1 硬件设备 2 arduino库 3 工作原理 二 代码设计 项目重点划分为三部分颜色识别机械臂抓取机械臂复位。分别如下 全局参数 #include Servo.h #include Wire.h #include Adafruit_TCS34725.hint pos1 0; //各舵机角度初始角度值 int pos2 90; int pos3 90; int pos4 90; int pos5 0; int speed 20;//机械手速度全局调控 int step 1;//模拟舵机转动度数//创建舵机对象 Servo myservo1;//base:基座舵机 Servo myservo2;//big_arm:大臂舵机 Servo myservo3;//fore_arm:小臂舵机 Servo myservo4;//top:顶部舵机 Servo myservo5;//paw:爪子舵机//初始化颜色传感器对象tcs相关参数参阅 https://learn.adafruit.com/adafruit-color-sensors/program-it Adafruit_TCS34725 tcs Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_50MS, TCS34725_GAIN_1X);//在setup中初始设定舵机引脚舵机初始角度波特率颜色判定等等....略1 颜色识别 /* 循环执行颜色判定对于不同的颜色串口输出不同的提示 并在检测到不同颜色时调用对应的方法实现不同的动作。 */ void loop() {// 传感器返回 R、G、B 的值uint16_t clearcol, red, green, blue;float average, r, g, b;delay(100); //颜色测量需要大约50mstcs.getRawData(red, green, blue, clearcol);// 我写了5种颜色分别是红色 棕色 蓝色 绿色 和黄色// 求 RGB 的平均值average (red green blue) / 3;r red / average;g green / average;b blue / average;//串口输出//R G B的平均值应该在0.5-1.5之间如果检测到红色则R应高于1.0G B在0.5-1.0之间Serial.print(\tClear:);Serial.print(clearcol);Serial.print(\tRed:);Serial.print(r);Serial.print(\tGreen:);Serial.print(g);Serial.print(\tBlue:);Serial.print(b);/* 通过上面的串口输出我们可以把颜色放在颜色传感器去检测 然后确定RGB的取值范围就可以确定不同颜色的值对应不 同的舵机角度了 */if ((r 1.4) (g 0.9) (b 0.9)) {Serial.print(\t红色);catchs(60);} else if ((r 0.95) (g 1.4) (b 0.9)) {Serial.print(\t绿色);//green();} else if ((r 0.8) (g 1.2) (b 1.2)) {Serial.print(\t蓝色);catchs(120);}else if ((r 1.15) (g 1.15) (b 0.7)) {Serial.print(\t黄色);catchs(90);} else if ((r 0.95) (g 1.1) (b 0.9)) {Serial.print(\t棕色);//brown();}// 当颜色符合上述的颜色else {Serial.print(\t未检测到红-棕-绿-蓝-黄);// myservo.write(nonePos);}Serial.println();delay(100); } 2 机械臂转动 机械臂的完整抓取过程可提取为 下放大小顶臂接近物体—夹取—抬高大臂—旋转—下方大臂—送爪—复位。 其中不同颜色对应动作的不同之处仅仅在于底座舵机旋转角度故可设置一个通用的夹取函数内置形参表示旋转角度即可。多种颜色一个函数全部实现精简明了。 拓展可改进为联动执行需要运动学逆向受力分析建立数学模型求解三元一次方程组。这样就可以根据末端舵机的状态去计算出其他舵机需要达到的角度实现多个舵机联动的目的效果更加丝滑流畅。 /* 机械臂抓取函数spin为旋转度数不同颜色设置不同度数 多种颜色的抓取动作只有旋转角度不同一个函数全部搞定 注参数未详细调整仅做参考。另外不同舵机转动范围可能不同必须先验证自己舵机的角度范围与转动方向 */ void catchs(int spin) {//1 下放大臂小臂和顶部舵机for (pos2 90; pos2 120; pos2 1) {myservo2.write(pos2);delay(speed);}for (pos3 90; pos3 60; pos3 - 1) {myservo3.write(pos3);delay(speed);}for (pos4 90; pos4 60; pos4 - 1) {myservo4.write(pos4);delay(speed);}//2 夹取物品// 3 仅抬起大臂调转方向for (pos2 120; pos2 90; pos2 - 1) {myservo2.write(pos2);delay(speed);}for(int i0;ispin;i){ //转动spin度spin不同颜色可以手动设置转动区间myservo1.write(pos1);delay(speed);} //4 大臂下放for (pos2 90; pos2 120; pos2 1) {myservo2.write(pos2);delay(speed);}//5 松爪init_pos();//机械臂流畅复位 }3 机械臂复位 用于机械臂一套夹取动作结束后执行复位。不需要为每一个动作单独编写复位代码使用servo库中read()方法能够读取舵机角度从而实现舵机通用角度的复位效果。 /* 读取舵机角度参数控制舵机丝滑流畅的回到初始位置 如果不想丝滑直接4行myservo.write(x)各舵机咻咻咻咻的就回去了 */ void init_pos(){pos1myservo1.read(); //读取当前各舵机角度值pos2myservo2.read(); //注意read函数只能读取对应舵机上一次write的数值pos3myservo3.read(); //不支持及时读取因为本项目使用的for循环不停的write角度故可读取到上一次的角度pos4myservo4.read();//pos5myservo5.read();//爪子初始应该是打开状态for(int ipos1;i0;i-step){ //1号舵机归位0逆时针移动范围[0°,180°]0在右myservo1.write(i);delay(speed);}//myservo1.write(0);//设置step时杜绝误差for(int ipos2;i90;i-step){ //2号舵机归位90顺时针移动范围[90°,180°]0°在左myservo2.write(i);delay(speed);}if(pos290){ //处理2号机在[0°,90°]时2号机为大臂比较重要所有情况全部判断for(int ipos2;i90;istep){myservo2.write(i);delay(speed);}}//myservo2.write(90);//如果设置step时杜绝误差for(int ipos3;i90;istep){ //3号舵机归位90°逆时针移动范围[0°,90°]0°在右myservo3.write(i);delay(speed);}if(pos390){for(int ipos3;i90;i-step){ //处理3号机在[90°,180°]时myservo3.write(i);delay(speed);}}//myservo3.write(90);//如果设置step时杜绝误差for(int ipos4;i90;istep){ //4号舵机归位90°逆时针移动范围[0°,90°]0°在右myservo4.write(i);delay(speed);} //处理4号机在[90°,180°]时if(pos490){for(int ipos4;i90;i-step){ //处理3号机在[90°,180°]时myservo4.write(i);delay(speed);}}//myservo4.write(90);//如果设置step时杜绝误差//更新pos可以将本函数中所有的i换成对应pos变量此处就不用更新但我觉得不如写i码量更短哈哈哈pos10;pos290;pos390;pos490;}三 展示效果 颜色识别机械臂
http://www.zqtcl.cn/news/601905/

相关文章:

  • 专注于网站营销服务新浪云搭建wordpress
  • 免费自助建站代理鞍山招聘网最新招聘
  • 营销型类型网站有哪些类型php网站后台制作
  • 安全的网站制作公司百度app最新版本
  • 中小企业建站平台耐克网站建设策划方案
  • wordpress 后台加入链接后_网站显示是标签_不是链接wms智能仓储管理系统
  • 网站建设需要什么硬件和软件有哪些中考网络应用服务平台
  • 为什么网站权重会掉房地产开发网站建设
  • 大连seo整站优化酷播wordpress视频插件
  • 好的网页设计网站学编程要什么学历
  • 做网站公司电话福建城乡建设网站查询
  • 郑州做网站哪个公司好做二手市场类型的网站名字
  • 网站建设与维护里面的个人简历选择网站建设公司好
  • 济南浩辰网站建设公司怎么样wordpress 3.8 问题
  • 柳州正规网站制作公司网站ww正能量
  • 网站seo优化工具网站推广策略方法
  • 企业网站建设知名wordpress 自定义php
  • 用php做的网站有哪些全能网站建设
  • 网站显示正在建设中wordpress 排行榜 页面
  • 手机管理网站网站打开速度优化
  • 做微网站需要什么做的比较好的美食网站有哪些
  • 五金商城网站建设注意wordpress虚拟空
  • 成都工程网站建设网站界面设计的优点
  • 网站建设里的知识找别人做公司网站第一步做什么
  • 婚纱摄影网站模板之家专业seo网站优化公司
  • 商丘市住房和城乡建设局网站广西网站建设timkee
  • php网站开发是做什么的网站策划总结
  • 站长工具seo推广秒收录WordPress注册插件中文
  • 目前个人网站做地最好是哪几家做汽配网站需要多少钱
  • php做网站多少钱网络营销推广方案3篇