국제 로봇 대회 - 규칙 - 로봇의 예 - LEGO EV3를 기반으로 한 궤적 로봇. 레고 EV3. 검은 선을 따라 운전하기 ev3에서 스티어링 휠을 이용해 선을 따라 운전하기

15.01.2012, 18:51

지금까지 선을 따라 이동할 때 사용되는 알고리즘에 대한 기사에서는 광 센서가 왼쪽 또는 오른쪽 경계를 모니터링하는 것처럼 보일 때 로봇이 필드의 흰색 부분으로 이동하자마자 컨트롤러가 로봇을 반환하는 방법을 고려했습니다. 경계선까지 센서가 검은 선 안으로 더 깊게 이동하기 시작했습니다. 레귤레이터가 센서를 다시 곧게 펴었습니다.
위의 그림은 릴레이 레귤레이터에 대해 표시되었음에도 불구하고 비례(P-레귤레이터)의 일반적인 동작 원리는 동일합니다. 이미 언급했듯이, 평균 속도이러한 움직임은 그리 높지 않으며 알고리즘을 약간 복잡하게 하여 이를 증가시키려는 여러 시도가 있었습니다. 한 경우에는 "소프트" 제동이 사용되었고 다른 경우에는 회전 외에도 전진 움직임이 도입되었습니다.
일부 영역에서는 로봇이 전진할 수 있도록 광센서가 만들어내는 값의 범위에 좁은 영역을 할당했는데, 이는 통상적으로 '센서가 선의 경계에 있다'고 할 수 있다.
이 접근법은 작은 단점- 로봇이 선의 왼쪽 경계를 "따르는" 경우 우회전 시 궤적의 곡률을 즉시 감지하지 못하고 결과적으로 선을 검색하고 회전하는 데 더 많은 시간을 소비합니다. 더욱이, 회전이 급격할수록 검색 시간이 길어진다고 자신있게 말할 수 있습니다.
다음 그림은 센서가 경계의 왼쪽이 아닌 오른쪽에 있는 경우 이미 궤적의 곡률을 감지하고 회전 기동을 시작했음을 보여줍니다.

따라서 로봇에 두 개의 센서를 동시에 장착하는 것이 좋습니다. 다른 측면따라서 로봇이 이동 방향의 변화에 ​​더 빠르게 반응하는 데 도움이 됩니다.
이제 우리는 이러한 설계 변경이 프로그램에 어떤 영향을 미칠지 결정해야 합니다. 단순화를 위해 가장 간단한 릴레이 컨트롤러부터 다시 시작해야 하므로 우선 라인을 기준으로 센서의 가능한 위치에 관심이 있습니다.

실제로, 또 하나의 허용 가능한 조건을 식별할 수 있습니다. 복잡한 경로에서는 교차로의 교차점 또는 경로의 일종의 두꺼워짐이 됩니다.
센서의 다른 위치는 위에 표시된 위치에서 파생되었거나 로봇이 라인을 떠났을 때 로봇의 위치이므로 센서의 정보를 사용하여 더 이상 돌아올 수 없기 때문에 고려되지 않습니다. . 결과적으로 위의 모든 조항은 다음과 같은 분류로 축소될 수 있습니다.
  • 왼쪽 센서는 오른쪽 센서와 마찬가지로 밝은 표면 위에 있습니다.
  • 밝은 표면 위의 왼쪽 센서, 어두운 표면 위의 오른쪽 센서
  • 어두운 표면 위의 왼쪽 센서, 밝은 표면 위의 오른쪽 센서
  • 두 센서 모두 어두운 표면 위에 위치합니다.
특정 시점에 로봇의 프로그램이 이러한 위치 중 하나를 감지하면 그에 따라 반응해야 합니다.
    두 센서가 모두 흰색 표면 위에 있는 경우 이는 센서 사이에 선이 있는 정상적인 상황이므로 로봇은 직진해야 합니다. 왼쪽 센서가 여전히 빛 표면 위에 있고 오른쪽 센서가 이미 빛 표면 위에 있는 경우입니다. 즉, 왼쪽 센서가 어두운 표면 위에 있고 오른쪽 센서가 여전히 있는 경우 라인이 다시 센서 사이에 있도록 오른쪽으로 회전해야 함을 의미합니다. 밝은 표면 위에 있는 경우 로봇을 정렬하려면 왼쪽으로 회전해야 합니다. 두 센서가 모두 어두운 표면 위에 있는 경우 일반적으로 로봇은 계속해서 직선으로 움직입니다.

위의 다이어그램은 프로그램에서 모터의 동작이 정확히 어떻게 변경되어야 하는지를 즉시 보여줍니다. 이제 프로그램을 작성하는 것은 어렵지 않을 것입니다. 먼저 폴링할 센서를 선택해야 합니다. 크게 상관은 없으니 놔두세요. 밝은 표면 위에 있는지 어두운 표면 위에 있는지 확인해야 합니다.
이 작업에서는 아직 로봇이 어느 방향으로 가야 하는지 말할 수 없습니다. 그러나 위에 나열된 상태는 상위 분기에 대한 (I, II)와 하위 분기에 대한 (III, IV)의 두 그룹으로 나뉩니다. 이제 각 그룹에는 두 가지 상태가 있으므로 그 중 하나를 선택해야 합니다. 처음 두 상태 I과 II를 자세히 살펴보면 오른쪽 센서의 위치가 다릅니다. 한 경우에는 밝은 표면 위에 있고 다른 경우에는 어두운 표면 위에 있습니다. 이것이 취해야 할 조치의 선택을 결정하는 것입니다.
이제 위의 표에 따라 모터의 동작을 정의하는 블록을 삽입할 수 있습니다. 중첩 조건의 상위 분기는 "밝은 센서 모두", 상단 - "밝은 왼쪽, 어두운 오른쪽" 조합을 정의합니다.
주요 조건의 하위 분기는 조건 III 및 IV의 다른 그룹을 담당합니다. 또한 두 상태는 오른쪽 센서가 감지하는 빛의 수준에서도 서로 다릅니다. 이는 각각의 선택을 결정한다는 것을 의미합니다.
결과로 나온 두 가지에는 이동 블록이 채워집니다. 위쪽 가지는 "어두운 경우 왼쪽, 밝은 경우 오른쪽" 상태를 담당하고, 아래쪽 가지는 "어두운 경우 두 센서 모두"를 담당합니다.
이 설계는 현장의 특정 위치에 있는 센서의 판독값에 따라 모터를 켜는 방법만 결정한다는 점에 유의해야 합니다. 당연히 잠시 후 프로그램은 판독값이 변경되었는지 확인하여 조정해야 합니다. 이에 따라 모터의 동작, 그리고 잠시 후에 다시, 다시 등.d. 따라서 반복적인 검사를 제공하는 루프에 배치해야 합니다.

이러한 매우 간단한 프로그램은 상태 I 및 IV에서 이동할 때 최대 속도를 올바르게 구성하고 설정하는 경우 한계를 초과하지 않고 라인을 따라 로봇의 상당히 빠른 이동 속도를 제공합니다. 가장 좋은 방법상태 II 및 III의 제동 - 고속도로에서 회전이 가파를수록 제동이 "더 세게"되어야 합니다. 속도는 더 빨리 감소해야 하며 그 반대의 경우도 마찬가지입니다. 회전이 원활하면 전원을 꺼서 제동을 적용하는 것이 가능합니다. 또는 속도를 완전히 줄여도 됩니다.

로봇의 센서 배치에 관해서도 몇 가지 별도의 단어를 언급해야 합니다. 분명히 바퀴를 기준으로 한 두 센서의 위치에 대한 권장 사항은 하나의 센서에 적용되며 삼각형의 꼭지점만 두 센서를 연결하는 세그먼트의 중앙으로 사용됩니다. 센서 자체 사이의 거리도 트랙의 특성에 따라 선택해야 합니다. 센서가 서로 가까울수록 로봇이 수평을 유지하는 빈도가 높아지지만(상대적으로 느린 회전 수행) 센서 간격이 충분히 넓은 경우 , 그러면 트랙을 벗어나 날아갈 위험이 있으므로 직선 구간에서는 더 "강하게" 회전하고 속도를 줄여야 합니다.



로봇이 검은 선을 따라 부드럽게 움직이게 하려면 로봇이 스스로 움직이는 속도를 계산하도록 강제해야 합니다.

사람은 검은 선과 그 명확한 경계를 봅니다. 광 센서는 약간 다르게 작동합니다.

우리가 이동 속도를 계산하는 데 사용할 것은 광 센서의 이러한 속성(흰색과 검정색을 명확하게 구분할 수 없음)입니다.

먼저 '이상적인 궤적점'이라는 개념을 소개하겠습니다.

광 센서 판독값 범위는 20~80이며, 대부분 흰색에서는 판독값이 약 65, 검은색에서는 약 40입니다.

이상적인 지점은 흰색과 검정색의 중간에 있는 조건부 지점이며, 이를 따라 로봇은 검정색 선을 따라 이동합니다.

여기서 포인트의 위치는 흰색과 검정색 사이의 기본입니다. 수학적 이유로 정확히 흰색이나 검은색으로 설정하는 것은 불가능합니다. 이유는 나중에 명확해집니다.

경험적으로 우리는 다음 공식을 사용하여 이상적인 지점을 계산할 수 있음을 계산했습니다.

로봇은 이상적인 지점을 따라 엄격하게 움직여야 합니다. 어떤 방향으로든 편차가 있는 경우 로봇은 해당 지점으로 돌아가야 합니다.

작곡하자 문제에 대한 수학적 설명.

초기 데이터.

이상적인 지점.

현재 광 센서 판독값입니다.

결과.

모터 회전력 V.

모터 회전력 다.

해결책.

두 가지 상황을 고려해 보겠습니다. 첫째, 로봇이 검은색 선에서 흰색 선으로 벗어났습니다.

이 경우 로봇은 모터 B의 회전력을 높이고 모터 C의 힘을 줄여야 합니다.

로봇이 검은 선에 들어가는 상황에서는 그 반대가 된다.

로봇이 이상적인 지점에서 벗어날수록 더 빠르게 복귀해야 합니다.

그러나 그러한 규제 기관을 만드는 것은 다소 어려운 작업이며 항상 전체적으로 필요한 것은 아닙니다.

따라서 우리는 검정색 선으로부터의 편차에 적절하게 반응하는 P-regulator로만 제한하기로 결정했습니다.

수학적인 언어로 표현하면 다음과 같습니다.

여기서 Hb와 Hc는 각각 모터 B와 C의 최종 출력입니다.

기본 – 로봇의 속도를 결정하는 모터의 특정 기본 출력입니다. 로봇의 디자인과 회전의 선명도에 따라 실험적으로 선택됩니다.

Itek – 광 센서의 현재 판독값입니다.

Iid – 계산된 이상적인 지점입니다.

k – 실험적으로 선택된 비례 계수.

세 번째 부분에서는 NXT-G 환경에서 이를 프로그래밍하는 방법을 살펴보겠습니다.

라이트 구성의 기본 동작 중 하나는 검은색 선을 따르는 것입니다.

일반이론과 구체적인 예프로그램 생성은 wroboto.ru 웹사이트에 설명되어 있습니다.

차이점이 있으므로 EV3 환경에서 이를 구현하는 방법을 설명하겠습니다.

로봇이 가장 먼저 알아야 할 것은 흑과 백의 경계에 위치한 '이상점'의 의미이다.

그림에서 빨간색 점의 위치가 이 위치와 정확히 일치합니다.

이상적인 계산 옵션은 흑백 값을 측정하고 산술 평균을 취하는 것입니다.

이 작업은 수동으로 수행할 수 있습니다. 그러나 단점은 즉시 드러납니다. 짧은 시간이 지나도 조명이 변할 수 있으며 계산된 값이 부정확해질 수 있습니다.

그래서 로봇이 그 일을 하도록 할 수 있습니다.

실험을 통해 우리는 흑백을 모두 측정할 필요가 없다는 사실을 발견했습니다. 흰색만 측정 가능합니다. 그리고 이상적인 포인트 값은 검은 선의 폭과 로봇의 속도에 따라 흰색 값을 1.2(1.15)로 나누어 계산됩니다.

나중에 액세스하려면 계산된 값을 변수에 기록해야 합니다.

"이상점" 계산

움직임과 관련된 다음 매개변수는 회전 계수입니다. 크기가 클수록 로봇은 조명 변화에 더욱 예리하게 반응합니다. 하지만 너무 많이 훌륭한 가치로봇이 흔들리게 됩니다. 값은 각 로봇 설계에 대해 실험적으로 개별적으로 선택됩니다.

마지막 매개변수는 모터의 기본 출력입니다. 로봇의 속도에 영향을 미칩니다. 이동 속도를 높이면 조명 변화에 대한 로봇의 반응 시간이 늘어나 궤적에서 벗어날 수 있습니다. 값은 실험적으로도 선택됩니다.

편의를 위해 이러한 매개변수를 변수에 쓸 수도 있습니다.

회전율 및 기본 출력

검정색 선을 따라 이동하는 논리는 다음과 같습니다. 이상적인 지점과의 편차가 측정됩니다. 크기가 클수록 로봇은 원래 위치로 돌아가기 위해 더 강하게 노력해야 합니다.

이를 위해 우리는 두 개의 숫자, 즉 각 모터 B와 C의 전력 값을 개별적으로 계산합니다.

수식 형태로 보면 다음과 같습니다.

여기서 Isens는 광 센서 판독값입니다.

마지막으로 EV3의 구현입니다. 별도의 블록 형태로 정리하는 것이 가장 편리합니다.

알고리즘 구현

이것이 바로 로봇에 구현된 알고리즘입니다. 중간 카테고리 WRO 2015


사진, 디자인, 슬라이드가 포함된 프레젠테이션을 보려면, 파일을 다운로드하여 PowerPoint에서 엽니다.당신의 컴퓨터에서.
프레젠테이션 슬라이드의 텍스트 내용:
"단일 컬러 센서를 사용하여 검은색 라인을 따라 이동하는 알고리즘" "로봇공학" 클럽 Yezidov Akhmed Elievich MBU DO "Shelkovskaya TsTT" 이전 교사 검은색 라인을 따라 이동하는 알고리즘을 연구하기 위해 하나의 컬러 센서가 있는 Lego Mindstorms EV3 로봇이 컬러 센서 컬러 센서는 7가지 색상을 구별하여 색상이 없음을 감지할 수 있습니다. NXT에서와 마찬가지로 로봇 대회 "Line S"를 위한 필드로 사용될 수 있습니다. 문자 "S" 모양의 트랙이 있는 제안된 훈련장에서는 생성된 로봇의 속도에 대한 또 다른 흥미로운 테스트를 수행할 수 있습니다. 그리고 반응. 고려해 봅시다 가장 간단한 알고리즘 EV3의 한 컬러 센서에서 검은색 선을 따라 이동합니다. 이 알고리즘은 가장 느리지만 가장 안정적입니다. 로봇은 검은색 선을 따라 정확하게 이동하지 않고 해당 경계를 따라 왼쪽과 오른쪽으로 회전하며 점차적으로 전진합니다. 매우 간단합니다. 센서에 검정색이 보이면 로봇은 한 방향으로 회전하고, 흰색이면 다른 방향으로 회전합니다. 두 개의 센서를 사용하여 반사광 밝기 모드에서 선 따라가기 때로는 컬러 센서가 검은색과 검은색을 구별할 만큼 효과적이지 않은 경우가 있습니다. 흰색 색상. 이 문제에 대한 해결책은 센서를 색상 감지 모드가 아닌 반사광 밝기 감지 모드로 사용하는 것입니다. 이 모드에서는 어둡고 밝은 표면의 센서 값을 알면 흰색으로 간주되는 것과 검은색으로 간주되는 것을 독립적으로 말할 수 있습니다. 이제 흰색과 검은색 표면의 밝기 값을 결정해 보겠습니다. 이를 위해 EV3 블록 메뉴에 "모듈 애플리케이션" 탭이 있습니다. 이제 포트 보기 창에서 현재 순간의 모든 센서 판독값을 볼 수 있습니다. 센서가 빨간색으로 켜져야 합니다. 이는 반사광 밝기 감지 모드에서 작동하고 있음을 의미합니다. 파란색으로 빛나면 원하는 포트의 포트 보기 창에서 가운데 ​​버튼을 누르고 COL-REFLECT 모드를 선택합니다. 이제 두 센서가 모두 흰색 표면 위에 위치하도록 로봇을 배치해 보겠습니다. 포트 1과 4의 숫자를 살펴봅니다. 우리의 경우 값은 각각 66과 71입니다. 이는 센서의 흰색 값이 됩니다. 이제 센서가 검은색 표면 위에 위치하도록 로봇을 배치해 보겠습니다. 포트 1과 4의 값을 다시 살펴보겠습니다. 각각 5와 6이 있습니다. 이것이 검은색의 의미입니다. 다음으로 이전 프로그램을 변경하겠습니다. 즉, 스위치의 설정을 변경하겠습니다. 현재는 컬러 센서 -> 측정 -> 색상이 설치되어 있습니다. 또한 컬러 센서 -> 비교 -> 반사광 밝기를 설정해야 합니다. 이제 "비교 유형"과 "임계값"을 설정해야 합니다. 임계값은 일부 "회색" 값, 검정색으로 간주할 값보다 작은 값, 흰색보다 큰 값입니다. 첫 번째 근사값을 얻으려면 각 센서의 흰색과 검정색 사이의 평균값을 사용하는 것이 편리합니다. 따라서 첫 번째 센서(포트 번호 1)의 임계값은 (66+5)/2=35.5가 됩니다. 35로 반올림합시다. 두 번째 센서(포트 번호 4)의 임계값: (71+6)/2 = 38.5. 38로 반올림하겠습니다. 이제 각 스위치에 이 값을 적절하게 설정합니다. "비교 유형" 기호를 넣으면 움직임이 있는 블록이 변경 없이 그대로 유지됩니다.<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

이동식 LEGO 로봇을 제어하기 위한 알고리즘. 2개의 광센서를 이용한 라인 이동

추가 교육 교사

카자코바 류보프 알렉산드로브나


라인을 따라 이동

  • 두 개의 광 센서
  • 비례제어기(P-제어기)

비례제어기 없이 검은색 선을 따라 이동하는 알고리즘

  • 두 모터 모두 동일한 전력으로 회전합니다.
  • 오른쪽 조도 센서가 검은 선에 닿으면 왼쪽 모터(예: B)의 전원이 감소하거나 중지됩니다.
  • 왼쪽 광 센서가 검은색 선에 도달하면 다른 모터(예: C)의 전력이 감소(선으로 돌아옴)되거나 감소하거나 중지됩니다.
  • 두 센서가 모두 흰색이나 검은색이면 선형 운동이 발생합니다.

운동은 모터 중 하나의 동력을 변경하여 구성됩니다.


P-컨트롤러 없이 검은색 라인을 따라 운전하는 프로그램의 예

회전 각도를 변경하여 움직임을 구성합니다.


  • 비례 컨트롤러(P-컨트롤러)를 사용하면 로봇의 동작이 원하는 것과 얼마나 다른지에 따라 로봇의 동작을 조정할 수 있습니다.
  • 로봇이 목표에서 벗어날수록 목표로 돌아가기 위해 더 많은 노력이 필요합니다.

  • P-컨트롤러는 로봇을 특정 상태로 유지하는 데 사용됩니다.
  • 매니퓰레이터의 위치 유지 선을 따라 이동(광 센서) 벽을 따라 이동(거리 센서)
  • 매니퓰레이터의 위치 유지
  • 라인 이동(광 센서)
  • 벽을 따라 이동(거리 센서)

하나의 센서로 라인 이동

  • 목표는 "백-흑" 경계를 따라 이동하는 것입니다.
  • 사람은 흰색과 검은색의 경계를 구별할 수 있습니다. 로봇은 할 수 없습니다.
  • 로봇의 목표는 회색입니다.

교차로를 통해 운전

두 개의 광 센서를 사용하면 더 복잡한 경로를 따라 이동을 구성하는 것이 가능합니다.



교차로가 있는 고속도로를 따라 운전하는 알고리즘

  • 두 센서가 모두 흰색입니다 - 로봇이 직선으로 주행 중입니다(두 모터 모두 동일한 전력으로 회전함).
  • 오른쪽 조도 센서가 검은색 선에 닿고 왼쪽 조도 센서가 흰색 선에 닿으면 우회전이 발생합니다.
  • 왼쪽 조도 센서가 검은색 선에 닿고 오른쪽 조도 센서가 흰색 선에 닿으면 왼쪽으로 회전합니다.
  • 두 센서가 모두 검은색이면 선형 동작이 발생합니다. 교차로를 세거나 어떤 작업이든 수행할 수 있습니다.


P-레귤레이터의 작동 원리

센서 위치

O=O1-O2


비례제어기를 이용해 검은색 선을 따라 이동하는 알고리즘

HC = K*(CT)

  • Ts - 목표 값(흰색과 검은색의 광 센서에서 판독값을 가져와 평균을 계산함)
  • T - 현재 값 - 센서에서 얻음
  • K - 민감도 계수. 많을수록 감도가 높아집니다.