识别色带后执行相应命令

识别到红色和绿色色带后,会执行相应的命令以调整机器狗的行为,具体如下:

  1. 红色色带识别

    • track 模式下,当识别到红色色带时,机器人会进入 divergeright 模式,表示机器人需要在接下来的行动中向右分岔。
    • 具体代码如下:
      if (divergerColor == "red") {
          inRange(ZoomOutimage, colorgroup.redMin, colorgroup.redMax, frame2);  // 二值化红色
          number = 0;
          for (int i = 0; i < frame2.rows; i++) {
              for (int j = 0; j < frame2.cols; j++) {
                  if (frame2.at<uchar>(i, j) == 255) {
                      number++;
                  }
              }
          }
          // 出现红色条带
          if (number >= 500) {
              mythread.mode = divergeright;
              cout << "recognize red" << endl;
              divergerColor = "null";
              return;
          }
      }
      
    • divergeright 模式下,机器人会根据 diverge2TransientProcess 的值调整目标中线均值和运动参数,以确保向右分岔行驶。
  2. 绿色色带识别

    • track 模式下,当识别到绿色色带时,机器人会进入 divergeleft 模式,表示机器人需要在接下来的行动中向左分岔。
    • 具体代码如下:
      if (divergerColor == "green") {
          inRange(ZoomOutimage, colorgroup.greenMin, colorgroup.greenMax, frame2);  // 二值化绿色
          number = 0;
          for (int i = 0; i < frame2.rows; i++) {
              for (int j = 0; j < frame2.cols; j++) {
                  if (frame2.at<uchar>(i, j) == 255) {
                      number++;
                  }
              }
          }
          // 出现绿色条带
          if (number >= 500) {
              mythread.mode = divergeleft;
              cout << "recognize green" << endl;
              divergerColor = "null";
              return;
          }
      }
      
    • divergeleft 模式下,机器人会根据 divergeTransientProcess 的值调整目标中线均值和运动参数,以确保向左分岔行驶。

机器人状态模式和行为

机器人有多种状态模式,每种模式对应不同的行为和运动参数:

  • track:循迹模式,机器人在赛道中行驶并识别各种色带以决定后续行动。
  • divergeright:向右分岔模式,机器人根据中线均值和运动参数调整确保向右分岔行驶。
  • divergeleft:向左分岔模式,机器人根据中线均值和运动参数调整确保向左分岔行驶。
  • residencerightresidenceleft:住户区模式,机器人进入住户区并执行相应的运动和定位调整。
  • revise:位于集散区矫正自身位置,机器人通过计算中线均值和斜率调整自己的位置。

运动参数

机器狗的运动参数包括:

  • gait_type:步态类型,3表示运动,4表示停止。
  • step_height:步高。
  • stand_height:站立高度。
  • v_des[3]:期望速度向量,包含前进速度、横移速度和转向速度。
  • rpy_des[3]:期望姿态角(滚转、俯仰、偏航)。

其他功能

  • 机器人通过二值化处理图像以识别不同颜色的条带。
  • 机器人通过计算中线和赛道两侧边缘的平均值和斜率来调整其行驶路径。
  • 机器人在不同模式下根据不同的状态值(如 residenceTransientProcessdivergeTransientProcess)调整运动参数,以完成特定任务。

相关推荐

  1. 识别色带执行相应命令

    2024-07-10 00:36:01       24 阅读
  2. SSH连接服务器执行多条命令

    2024-07-10 00:36:01       44 阅读
  3. 如何让centOS开机自动执行某些命令

    2024-07-10 00:36:01       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 00:36:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 00:36:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 00:36:01       57 阅读
  4. Python语言-面向对象

    2024-07-10 00:36:01       68 阅读

热门阅读

  1. QMdiAreaQMdiAreaQMdiAreaQMdiArea

    2024-07-10 00:36:01       22 阅读
  2. Jacoco的覆盖率原理

    2024-07-10 00:36:01       20 阅读
  3. 中英双语介绍美国的州:阿肯色州(Arkansas)

    2024-07-10 00:36:01       28 阅读
  4. Socket网络通信流程

    2024-07-10 00:36:01       27 阅读
  5. 《妃梦千年》第二十九章:朝中波澜

    2024-07-10 00:36:01       22 阅读
  6. FineReport报表开发步骤

    2024-07-10 00:36:01       28 阅读
  7. py每日spider案例之magnet篇

    2024-07-10 00:36:01       19 阅读
  8. Gridea + SFTP +Docker + Nginx 配置博客-CSDN

    2024-07-10 00:36:01       24 阅读
  9. 工具推荐:滴答清单

    2024-07-10 00:36:01       22 阅读
  10. 怎么样调整分类的阈值

    2024-07-10 00:36:01       25 阅读
  11. 数据分表和分库原理

    2024-07-10 00:36:01       19 阅读
  12. sklearn中的Pipeline:构建无缝机器学习工作流

    2024-07-10 00:36:01       23 阅读