Skip to main content

2과: 경로점 찾기

이전 수업에서는 펜 홀더 도구를 사용하는 방법과 6축 암을 코딩하여 화이트보드에 선을 그리는 방법을 배웠습니다. 이 수업에서는 장애물을 피하기 위해 6축 팔의 경로를 제어하는 방법을 배우면서 펜을 계속 사용하게 됩니다. 다음 내용을 배우게 됩니다:

  • 장애물 주위로 6축 암을 이동하기 위한 경로점을 식별하는 방법.
  • 웨이포인트를 사용하여 제어된 경로로 이동하도록 6축 암을 코딩하는 방법.

이 수업을 마치면 필요한 경로점을 결정하고 장애물 주위를 이동하도록 6축 팔을 코딩할 수 있습니다.

아래 애니메이션을 시청하면 6축 암이 경로점을 사용하여 선을 그리는 모습을 볼 수 있습니다. 먼저 6축 암은 두 개의 웨이포인트를 연결하는 대각선을 그린 다음, 타일 위에 놓인 큐브를 피하기 위해 세 개의 웨이포인트를 직각으로 연결합니다.

비디오 파일

6축 암의 경로를 제어하는 이유는 무엇입니까?

조립 라인에서 여러 개의 로봇 팔이 함께 작업하여 제품을 조립하는 모습을 상상해보세요. 로봇 팔은 높은 정확도로 서로를 빠르게 탐색해야 합니다. 수술이 성공하려면 각 팔이 고유한 복잡한 경로를 따라 움직여야 합니다. 이는 일련의 경로점을 따라 이동하도록 각 팔의 경로를 코딩하여 제어함으로써 달성됩니다. 이렇게 하면 팔이 서로 충돌하거나 조립하는 제품과 충돌하는 것을 방지할 수 있습니다.

로봇 팔이 함께 작동하여 제품을 조립합니다.

이전에는 6축 팔을 한 지점에서 다른 지점으로 직선으로 이동하도록 코딩했습니다. 그러나 6축 암이 한 위치에서 다른 위치로 직접 이동하는 것을 방해하는 장애물은 없었습니다. 이 수업에서는 장애물이 존재하므로 장애물을 피해 이동할 수 있도록 6축 팔을 코딩할 수 있는 경로점을 찾아야 합니다.

제어된 경로를 따르도록 6축 암 코딩

6축 암은 A지점에서 B지점으로 이동해야 하지만, 두 지점 사이에 장애물이 있습니다.

6축 암의 위에서 아래로 본 모습이며, 그 위에 x축과 y축이 겹쳐진 선이 그려져 있습니다. 화이트보드에는 A, B라는 라벨이 붙은 두 지점이 있고, 두 지점 사이에는 장애물을 나타내는 파란색 x가 있습니다.

이러한 이유로 6축 암이 목적지에 도달할 수 있도록 장애물 주위를 이동할 수 있도록 6축 암을 코딩할 수 있는 경로점을 찾아야 합니다. 경유지는 이동 경로상의 두 위치 사이의 중간 지점입니다. 아래 이미지에서 C 지점은 경유지입니다. 6축 암은 A지점에서 B지점으로 직접 이동하는 대신, A지점에서 C지점으로 이동한 후 B지점으로 이동하여 장애물과 충돌하는 것을 피할 수 있습니다. 

위와 같은 위에서 아래로 본 이미지이지만 삼각형 안에 A, B, C 지점이 있습니다. C는 A와 B 사이의 새로운 경유지입니다.

귀하의 정보를 위해

VEXcode EXP의 모니터는 화이트보드에서 특정 좌표를 찾는 데 도움이 될 수 있습니다. 6축 암을 수동으로 움직이면 x, y, z 좌표 값이 모니터에서 실시간으로 업데이트되어 특정 지점을 쉽게 찾을 수 있습니다(아래 1단계 참조).

VEXcode EXP의 모니터 콘솔 표는 x, y, z 좌표 값을 밀리미터 단위로 보여줍니다. 그 주위에 빨간색 설명 상자가 있습니다.

웨이포인트 찾기

여기에 표시된 대로 화이트보드를 설정하세요. 화이트보드에 글을 쓸 때는 반드시 화이트보드 마커를 사용하세요.

A 지점은 대략 (150, 50, 0)에 위치해 있습니다.

B 지점은 대략 (50, 150, 0)에 위치해 있습니다.

6축 암의 위에서 아래로 본 모습이며, 그 위에 x축과 y축이 겹쳐진 선이 그려져 있습니다. 화이트보드에는 A, B라는 라벨이 붙은 두 지점이 있고, 두 지점 사이에는 장애물을 나타내는 파란색 x가 있습니다.

B 지점에서 화이트보드 바닥까지 x축과 평행한 선을 그립니다.

A 및 B 지점에 라벨이 붙은 6축 암의 위에서 아래로 본 모습, 장애물을 나타내는 A 지점과 B 지점 사이에 x가 있는 상자, B 지점에서 화이트보드 하단까지 직선으로 그려진 선

다음으로, A 지점에서 화이트보드 가장자리까지 y축과 평행한 선을 그립니다.

위와 같은 6축 암의 위에서 아래로 본 이미지에 지점 A에서 화이트보드 오른쪽 끝까지 직선으로 뻗은 선이 추가되었습니다.

이 두 선의 교차점이 경로점입니다. 교차점을 표시하고 C 지점이라고 적습니다.

이 지점은 6축 암이 장애물에 부딪히지 않고 지점 A에서 지점 B로 이동할 수 있는 여유 공간을 제공합니다.

A선과 B선의 교차점을 확대해서 C점으로 표시했습니다.

다음으로 점 C의 좌표를 결정해야 합니다. 먼저 x 좌표를 구합니다.

B와 C 지점 사이의 거리를 측정하여 엔지니어링 노트에 기록하세요.

참고:이러한 측정값은 대략적인 값이며, 실제 측정값은 약간 다를 수 있습니다. 계산할 때는 측정 을 꼭 사용하세요.

위와 같은 클로즈업이지만, B에서 C까지의 선을 113m 높이로 측정한 붉은 선이 있습니다.

우리는 지점 B의 알려진 x 좌표와 6축 팔이 x축을 따라 이동해야 하는 측정 거리를 사용하여 지점 C의 x 좌표를 찾을 수 있습니다.

이 공식에서 '델타'는 값의 변화를 나타냅니다. 측정한 거리는 B점과 C점 사이의 x값의 변화량입니다.

b의 x에 델타 x를 더하면 c의 x가 된다는 것을 읽고 점 C의 x 좌표를 계산하는 공식 이미지

엔지니어링 노트북에서 C 지점의 x좌표를 계산하려면 값을 입력하세요. 

이 예에서 C의 x좌표는 163mm입니다.

아래에 샘플 값이 적힌 동일한 공식의 이미지. 50mm에 113mm를 더하면 165mm가 됩니다.

같은 과정을 따라 점 C의 y좌표를 구합니다. 먼저, 점 A와 점 C 사이의 거리를 측정하여 엔지니어링 노트에 기록합니다. 이는 6축 팔이 y축을 따라 이동해야 하는 거리입니다.

이전에 보여준 것과 같이 교차선이 있는 경로점을 위에서 아래로 확대한 모습인데, 빨간색 선은 A 지점에서 C 지점까지의 거리를 측정한 것으로 115m입니다.

우리는 지점 A의 알려진 y 좌표와 6축 팔이 y축을 따라 이동해야 하는 측정 거리를 사용하여 지점 C의 y 좌표를 찾을 수 있습니다.

이 공식에서 '델타'는 값의 변화를 나타냅니다. 측정한 거리는 A점과 C점 사이의 y값의 변화입니다. 

점 C의 y 좌표를 계산하는 공식의 이미지. z의 y에 델타 y를 더하면 c의 y가 됩니다.

엔지니어링 노트북에서 C 지점의 y 좌표를 계산하려면 값을 입력하세요. 

이 예에서 C의 y좌표는 165mm입니다.

샘플 값을 아래에 두고 지점 C의 y 좌표를 계산하는 공식, 50mm 더하기 115mm는 165m m입니다.

장애물 주위를 이동하도록 6축 팔 코딩

이제 C 지점의 좌표를 결정했으므로 6축 암이 웨이포인트인 C 지점을 거쳐 A 지점에서 B 지점으로 이동할 수 있도록 VEX코드 EXP 프로젝트를 만들어야 합니다.

VEXcode EXP에서 레슨 1의 프로젝트를 엽니다. 6축 팔이 지점 A에서 지점 C로, 그다음 지점 B로 이동하도록 코딩하기 위해 을 위치 로 이동 블록을 추가하여 이 프로젝트를 수정합니다.

VEXcode EXP 프로젝트 읽기 시작할 때, 팔 끝 효과기를 펜으로 설정하고, A 지점으로 이동, 팔을 x:150, y:50, z:0mm 위치로 이동, 1초간 기다리면 B 지점으로 이동, 팔을 x:50, y:165, z:0 위치로 이동이라는 주석이 표시됩니다.

추가 이동 블록을 작업 공간으로 위치로 끕니다. 앞서 계산한 x, y 좌표를 블록의 매개변수에 입력합니다.

위치 블록으로 이동합니다.

6축 암이 이동해야 하는 경로를 생각해 보세요. 먼저 펜이 A 지점으로 이동한 다음 C 지점으로 이동합니다. 따라서 새로운 위치 로 이동 블록을 두 개의 위치 으로 이동 블록 사이에 프로젝트에 삽입해야 합니다.

위와 동일한 프로젝트이지만, 원래 두 개의 이동 위치 블록 사이에 새 이동 위치 블록이 프로젝트에 삽입되었습니다. 또한 그 위에 'C 지점으로 이동'이라는 추가 주석 블록이 삽입되었습니다.

프로젝트 이름을 변경한 다음 장치에 저장합니다.

엔지니어링 노트북에 프로젝트가 실행될 때 6축 암이 이동할 경로를 기록해 보세요. 그림으로 표현할 수도 있고, 말로 표현할 수도 있습니다.

프로젝트 이름 상자가 호출된 VEXcode EXP 도구 모음입니다. 이름은 4단원 2과라고 되어 있습니다.

6축 암이 VEX코드에 연결되어 있는지 확인하세요. 프로젝트를 실행하세요.

6축 암은 장애물을 돌아가면서 충돌을 피합니다. A지점에서 출발하여 C지점으로 이동한 후 B지점에서 끝납니다.

이 영상을 시청하면 6축 암이 이 경로로 움직이는 예를 볼 수 있습니다.

비디오 파일

활동

이제 경로점을 찾고 이를 사용하여 로봇이 이동하도록 코딩하는 방법을 배웠으므로 이 기술을 연습해 보겠습니다. 이 활동에서는 6축 팔이 장애물과 충돌하지 않고 한 지점에서 다른 지점으로 제어된 경로로 이동하는 프로젝트를 만들 것입니다.

화이트보드를 부착하고 좌표 격자 오버레이를 추가한 6축 암의 위에서 내려다본 모습. A 지점은 175, 0, 0으로 표시되고 B 지점은 -25, 150, 0으로 표시됩니다.

  • 설정: 위에 표시된 대로 화이트보드에 시작 및 종료 위치(A와 B)를 그립니다. 이미지에 표시된 좌표를 사용하여 활동을 설정할 수 있습니다.
    • A점은 대략 (175, 0, 0)에 위치합니다. 
    • B점은 대략 (-25, 150, 0)에 위치합니다.
    • A와 B 지점 사이에 장애물을 설정합니다. 위 이미지에서 장애물(큐브)은 대략 (100, 125, 0)에 있습니다.
  • 활동:6축 팔이 장애물과 충돌하지 않고 A지점에서 B지점까지 이동할 수 있도록 VEXcode EXP 프로젝트를 만듭니다. 그렇게 하려면 경로점을 사용하세요.
    • 프로젝트를 실행하여 테스트해 보세요. 장애물과 충돌하지 않고 A지점에서 B지점으로 성공적으로 이동할 수 있나요? 그렇지 않은 경우 프로젝트를 수정하여 다시 테스트하세요.
    • 엔지니어링 노트북에 경로점을 찾는 데 사용한 프로세스를 기록하고, 프로젝트에서 이 정보를 어떻게 사용했는지에 대한 세부 정보를 포함하세요.

이해도 확인

다음 수업으로 넘어가기 전에 엔지니어링 노트북에서 아래 문서의 질문에 답하여 이 수업의 개념을 이해했는지 확인하세요. 

이해도 확인 질문 > (Google Doc / .docx / .pdf)


다음 >선택하여 중간 단원 반성을 완료하세요.