Skip to main content

레슨 2: 픽 앤 플레이스

이전 수업에서는 팔레트에 대해 알아보고 팔레트가 로봇 팔과 함께 어떻게 작동하여 체계적이고 효율적인 방식으로 제품을 배송하는지 알아보았습니다. 이제 팔레트가 무엇이고 어떻게 기능하는지 알았으니, 6축 암을 코딩하여 팔레트 위에 물체를 집어 올리고 놓는 방법을 알아볼 차례입니다. 큐브를 옮기려면 자석 픽업 도구를 사용해야 합니다. 

이 수업에서는 다음 사항에 대해 알아봅니다.

  • 프로젝트에서 세트 자석 블록을 사용하여 자석으로 큐브를 집어 올리고 놓습니다.
  • 적재 구역과 팔레트에서 큐브의 좌표를 찾습니다.
  • 팔레트 위에 큐브를 집어 올리고 놓기 위해 6축 팔을 코딩합니다.

이 수업을 마치면 6축 암에 자석을 코딩하는 방법에 대해 배운 내용을 적용하여 큐브를 다른 팔레트로 옮길 수 있습니다.

2개의 팔레트가 설치된 CTE 타일에 자석 픽업 도구가 장착된 6축 암을 각도에서 본 모습입니다. 각 팔레트의 중앙에는 파란색 큐브가 놓여 있습니다.

 

6축 암을 사용하여 큐브 집어 올리기 및 놓기

이전 단원에서는 6축 암의 자석을 사용하여 티치 펜던트로 디스크를 집어 올리고 이동했습니다. 이 수업에서는 6축 팔을 움직이고, 자석을 사용하고, 큐브를 집어 올리고, 새로운 위치로 옮기고, 자석을 놓아 큐브를 팔레트 위에 올려놓는 등의 작업을 코딩하는 방법을 배운 내용을 바탕으로 학습합니다. 

시작하려면 이 이미지에 표시된 대로 타일 위치 17에 큐브를 놓습니다. 이곳은 큐브의 로딩 구역입니다. 엔지니어링 노트북에 이 설정을 기록하세요.

두 개의 팔레트가 설치된 CTE 타일의 6축 암을 위에서 내려다본 모습. 파란색 큐브는 CTE 타일의 17번 위치에 배치됩니다.

모니터로 좌표 수집

큐브를 집어 올리기 위해 6축 팔을 코딩하기 전에 큐브의 좌표 위치를 알아야 합니다. 이러한 좌표는 모니터를 사용하여 찾을 수 있습니다. 
 

6축 암이 VEX코드에 연결되어 있는지 확인하세요.

도구 모음에서 모니터 아이콘을 선택하여 모니터를 엽니다.

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 프로젝트 제어 버튼 아래에서 왼쪽에서 두 번째에 위치한 모니터 센서 버튼은 빨간색 상자로 강조 표시됩니다.

6축 암을 수동으로 움직여 자석이 로딩 영역의 큐브 상단에 닿도록 합니다.

자석 픽업 툴이 장착된 6축 암의 각도별 보기입니다. 도구는 현재 타일의 17번째 위치에 있는 파란색 큐브의 윗부분을 터치하고 있습니다.

엔지니어링 노트북에 모니터 콘솔의 x, y, z 좌표를 기록합니다. 

6축 암의 X, Y, Z 위치를 밀리미터 단위로 보여주는 VEXcode 모니터 콘솔입니다. 현재 위치는 다음과 같습니다. X는 49, Y는 163, Z는 29입니다. 이 세 가지 위치는 빨간색 상자로 강조 표시되어 있습니다.

방금 수집한 (x, y, z) 좌표를 분석해 보겠습니다. x, y, z 값은 CTE 타일에서 큐브가 어디에 있는지 보여줍니다. 이전 단원에서는 x 및 y 좌표 위치를 사용하여 펜을 움직여 그림을 그렸습니다. 하지만 그 경우에는 펜이 타일 표면에 평평하게 놓여 있었기 때문에 z값이 0이었습니다. 

큐브를 집으려면 자석을 큐브의 윗면대야 합니다. 즉, 큐브의 꼭대기가 z축을 따라 어디에 있는지 알아야 한다는 뜻입니다. 6축 암을 코딩할 때 큐브의 높이를 고려하지 않으면 자석이 큐브를 효과적으로 들어올릴 수 없습니다. 

같은 이미지에서 6축 암의 자석 도구가 파란색 큐브 위에 17번 위치에 놓여 있는 모습이 보입니다. 빨간색 선은 파란색 큐브의 높이를 측정하고, 측정값인 25mm가 표시되어 있습니다.

모니터는 큐브의 윗부분에 자석이 닿을 때 자석 끝의 위치를 보고합니다. 6축 암을 수동으로 움직일 때 모니터의 값은 큐브의 높이와 정확히또는아닐 수 있습니다. 수동으로 움직이는 경우 값에 약간의 차이가 있을 수 있습니다. 프로젝트에서 모니터에 표시된 값을 사용하고 있는지 확인하세요.

이제 큐브를 집어 올릴 위치를 알았으니, 큐브를 놓을 위치의 좌표를 찾아야 합니다. 

팔레트 중앙에 큐브를 놓습니다.

6축 암을 수동으로 움직여 자석이 큐브 상단에 닿도록 합니다.

파란색 큐브 위에 6축 암의 자석 픽업 도구를 올려놓은 각도에서 본 모습입니다. 파란색 큐브는 CTE 타일에 설치된 팔레트 위에 놓입니다.

모니터 콘솔에서 x, y, z 값을 살펴보세요.

엔지니어링 노트북의 팔레트에 있는 큐브의 (x, y, z) 좌표를 기록하세요. 여기가 하차 장소입니다.

6축 암의 X, Y, Z 위치를 밀리미터 단위로 보여주는 VEXcode 모니터 콘솔입니다. 현재 위치는 다음과 같습니다. X는 179, Y는 170, Z는 43입니다. 이 세 가지 위치는 빨간색 상자로 강조 표시되어 있습니다.

모니터 콘솔의 z값이 변경된 것을 확인하세요. 큐브가 이제 팔레트 위에 있기 때문입니다. 즉, 큐브가 팔레트 위에 놓였을 때 자석의 위치는 큐브가 타일 표면에 놓여 있을 때보다 z축을 따라 더 멀리 있다는 의미입니다. 

팔레트 위에 있는 파란색 큐브 위에 자석 픽업 도구를 놓은 이전 이미지와 동일합니다. 빨간색 선은 이미지 속 물체의 높이를 보여줍니다. 팔레트에는 높이 15mm라고 표시되어 있습니다. 파란색 큐브의 높이는 25mm로 표시되어 있습니다.

큐브를 팔레트 위에 효과적으로 제어된 방식으로 놓을 수 있도록 이 z값을 기록하는 것이 중요합니다. 다시 말해, 모니터의 z값은 이 이미지에서 보는 것과 약간 다를 수 있습니다. 이는 6축 암을 수동으로 움직일 때의 가변성으로 인해 발생합니다. 반드시 프로젝트의 모니터에 표시된 값을 사용하세요.

로딩 존에서 큐브를 집어 올리세요

이제 큐브를 어디에서 픽업하고 어디에 둘지 알았으니 6축 암에 대한 코딩을 시작할 수 있습니다. 먼저, 6축 암을 로딩 존에 있는 큐브로 이동해야 합니다. 그러면 자석이 큐브를 집어 올리기 위해 작동하게 됩니다. 

이 영상의 단계에 따라New Blocks Project엽니다. 여기서 파일 메뉴를 사용하여 New Blocks Project선택합니다. 

비디오 파일

프로젝트에 Set end effector 블록을 추가하고 매개변수를 magnet으로 설정합니다. 

프로젝트를 만들면서 주석을 추가하면 체계적인 관리가 가능하고, 프로젝트에서의 동작을 추적하기도 쉬워집니다. 

블록이 시작될 때 시작하는 블록의 스택입니다. 그 아래에는 다음과 같은 블록이 순서대로 있습니다. 자석을 사용하도록 설정하고 자석 블록에 암 엔드 이펙터를 설정하세요라는 내용의 주석 블록입니다. 아래쪽의 두 블록은 빨간색 블록으로 강조 표시되어 있습니다.

프로젝트에 을 위치 로 이동하는 블록을 추가합니다. 엔지니어링 노트북에 기록한 로딩 영역 위치의 좌표로 x, y, z 매개변수를 설정합니다.

여기에 표시된 (x, y, z) 좌표는 예시입니다. 수동으로 값을 수집할 때 큐브와 6축 암의 위치에 따라 값이 약간 다를 수 있습니다. 프로젝트에서좌표를사용해야 합니다.

이전과 같은 블록 스택이지만, 이제는 스택의 맨 아래에 두 개의 새로운 블록이 추가되었습니다. 이 새로운 블록은 큐브를 집어 올리기 위해 6축 팔을 움직이라는 내용의 주석 블록과 x 49 y 163 z 29mm 위치로 팔을 움직이라는 내용의 블록입니다. 이 두 개의 새로운 블록은 빨간색 상자로 강조 표시되어 있습니다.

프로젝트에 세트 자석 블록을 추가합니다. 매개변수가 으로 설정되어 있는지 확인하세요

큐브가 자석을 집어 올리도록 하려면 자석을 작동시키는 세트 자석 블록을 사용해야 합니다. 

이전의 블록 더미에 두 개의 새로운 블록을 더한 것입니다. 이 새로운 블록은 '자석을 작동시키고 큐브를 들어올리세요'라고 적힌 주석 블록과, 작동된 블록에 자석 팔을 세트하는 블록입니다. 이 두 개의 새로운 블록은 빨간색 상자로 강조 표시되어 있습니다.

프로젝트에증가 위치블록을 추가하고 z 매개변수를 50으로 설정합니다. 

이렇게 하면 6축 암이 z축을 따라 들어올려져 타일의 시작 위치에서 큐브를 들어올립니다. 

이전의 동일한 블록 스택에 x 0 y 0 z 500mm 블록을 추가하여 암 위치를 늘린 후 끝에 추가했습니다. 새로 추가된 블록은 빨간색 블록으로 강조 표시되어 있습니다.

6축 암이 VEX코드에 연결되어 있는지 확인하세요. 프로젝트를 실행하고 6축 암의 동작을 관찰합니다.

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 실행 버튼은 빨간색 상자로 강조 표시됩니다.

6축 암의 움직임이 끝나면 프로젝트를 중지합니다. 

의도한 대로 로딩 존에서 큐브를 집어 올리나요? 왜 그럴까? 아니면 왜 그렇지 않을까?

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 정지 버튼은 빨간색 상자로 강조 표시됩니다.

팔레트 위에 큐브를 놓으세요

이제 큐브가 6축 암에 의해 들어올려졌으므로 팔레트로 옮길 수 있습니다. 먼저, 6축 암이 팔레트 위의 드롭 오프 위치 위로 큐브를 이동합니다. 그런 다음 큐브를 팔레트 위로 내리고 자석을 놓아 큐브를 놓습니다.

프로젝트에 을 위치 로 이동하는 블록을 추가합니다. 엔지니어링 노트북에 기록된 하차 위치의 좌표로 x, y, z 매개변수를 설정합니다.

여기에 표시된 좌표는 예시일 뿐, 실제 좌표와 다를 수 있으므로좌표를 반드시좌표로 사용하세요. 

이전의 블록 더미에 새로 추가된 블록 두 개를 더한 모습입니다. 두 개의 새로운 블록은 '큐브를 팔레트로 옮기세요'라는 주석 블록과 '팔을 x 179 y 170 z 43mm 위치로 옮기세요'라는 블록입니다. 새로 추가된 두 개의 블록은 빨간색 상자로 강조 표시되어 있습니다.

위치 로 이동 블록에서 z좌표에 약 50을 추가합니다.

6축 암이 큐브이동해야 하기 때문에 이 기능이 추가되었습니다. z 좌표를 늘리면 큐브가 올바른 위치에 배치되도록 할 수 있습니다. 이를 통해 팔이 존재할 수 있는 모든 장애물을 피할 수 있습니다.

이전과 동일한 블록 스택이지만 마지막 팔을 위치로 옮기는 블록의 z 위치가 수정되었습니다. 현재 위치는 x 179, y 170, z 100입니다. 변경된 z 위치는 빨간색 상자로 강조 표시됩니다.

6축 암이 VEX코드에 연결되었고, 큐브가 로딩 구역에 배치되었는지 확인하세요.

프로젝트를 실행하여 테스트해 보세요. 프로젝트가 실행될 때 Cube의 종료 위치는 어디입니까?

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 실행 버튼은 빨간색 상자로 강조 표시됩니다.

프로젝트를 중단하세요. 프로젝트가 진행될 당시 무슨 일이 있었는지 엔지니어링 노트북에 기록하세요. 

6축 암이 큐브로 이동하여 자석을 사용하여 큐브를 집어 올리고 큐브를 팔레트 중앙 바로 위로 옮기는 모습을 관찰했어야 합니다. 이 동작은 큐브를 떨어뜨리기 전에 자석이 올바른 위치 바로 위에 놓이도록 보장합니다.

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 정지 버튼은 빨간색 상자로 강조 표시됩니다.

프로젝트에증가 위치블록을 추가합니다. z 매개변수를 -50으로 설정합니다. 

이렇게 하면 6축 암이 50mm 아래로 이동하여 팔레트 위에 큐브를 놓을 수 있습니다.

이전의 동일한 블록 스택에 새로운 증가 팔 위치 x 0 y 0 z -50 mm 블록을 스택 맨 아래에 추가했습니다. 새로 추가된 블록은 빨간색 상자로 강조 표시되어 있습니다.

프로젝트에 세트 자석 블록을 추가합니다. 매개변수를 으로 설정하여해제합니다. 

이렇게 하면 자석이 분리되어 큐브가 팔레트에서 분리됩니다.

이전의 블록 더미에 두 개의 새로운 블록을 더한 것입니다. 이 두 개의 새로운 블록은 팔레트에 큐브를 놓고 6축 암을 올려 큐브를 제자리에 두라는 내용의 주석 블록과 블록을 놓아주는 암 자석 세트입니다. 이 두 개의 새로운 블록은 빨간색 상자로 강조 표시되어 있습니다.

프로젝트에 증가 위치블록을 추가합니다. z-매개변수를 50으로 설정합니다.

이렇게 하면 6축 암이 올라가서 팔레트 위에 큐브를 놓을 수 있습니다.

이전과 동일한 블록 스택에 새로운 증가 팔 위치 x 0 y 0 z 50mm 블록을 스택 맨 아래에 추가합니다. 새로 추가된 블록은 빨간색 상자로 강조 표시되어 있습니다.

6축 암이 VEX코드에 연결되었고, 큐브가 로딩 구역에 배치되었는지 확인하세요.

프로젝트를 실행하여 테스트해 보세요. 6축 암의 동작을 관찰하세요.

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 실행 버튼은 빨간색 상자로 강조 표시됩니다.

6축 암의 움직임이 끝나면 프로젝트를 중지합니다.

의도한 대로 큐브를 팔레트 위에 들어올려 올려놓나요? 왜 그럴까? 아니면 왜 그렇지 않을까? 

VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 정지 버튼은 빨간색 상자로 강조 표시됩니다.

프로젝트의 이름을 바꾸고 저장하세요.

프로젝트 이름을 보여주는 VEXcode 도구 모음입니다. 프로젝트 이름은 Unit 7 Lesson 2로 되어 있으며 빨간색 상자로 강조 표시되어 있습니다.

이제 프로젝트를 빌드하고 테스트했으므로 6축 암에서 다음과 같은 동작이 수행되는 것을 볼 수 있어야 합니다.

  • 로딩 존에 있는 큐브로 이동합니다.
  • z축을 따라 위로 이동합니다.
  • 하차 장소로 이동합니다.
  • z축을 따라 아래로 이동합니다.
  • 큐브를 버리세요.
  • 큐브가 배치되었는지 확인하려면 z축을 따라 위로 이동합니다. 

아래 영상을 시청하면 6축 암이 이러한 동작을 순서대로 수행하는 모습을 볼 수 있습니다.

비디오 파일

증가 위치블록으로 z축을 따라 이동하는 것은 프로세스의 중요한 부분입니다. 이를 통해 자석이 큐브를 집어올렸는지 확인할 수 있습니다. z축 이동을 통해 팔레트 위에 큐브가 올바르게 위치하는지 확인할 수도 있습니다. 이는 아케이드의 크레인 게임과 비슷합니다. 바로 아래로 이동하기 전에 크레인을 하차 또는 픽업 위치 위로 옮겨야 합니다. 

팔레트에 패키지 하나만 적재된 채로 창고를 떠나는 경우는 거의 없습니다. 계속해서 프로젝트를 구축하고 큐브를 팔레트로 옮기면 각 배치가 정확한지 확인해야 합니다. 이렇게 하면 가능한 한 많은 패키지(큐브)를 최종 목적지까지 배송할 수 있습니다. 이 단원의 3과에서는 여러 개의 큐브를 팔레트 위로 옮기는 방법을 알아보겠습니다.

활동

이제 큐브 하나를 적재 구역에서 팔레트로 옮겼으니, 이러한 기술을 연습해 보겠습니다. 이 활동에서는 이 수업에서 배운 프로젝트를 바탕으로 6축 팔을 코딩하여 적재 구역에서 두 번째 큐브를 집어 두 번째 팔레트에 올려놓습니다.

2개의 팔레트가 설치된 CTE 타일에 자석 픽업 도구가 장착된 6축 암을 각도에서 본 모습입니다. 각 팔레트의 중앙에는 파란색 큐브가 놓여 있습니다.

활동: 팔레트마다 큐브를 하나씩 놓도록 6축 팔을 코딩합니다.

  1. 6축 팔이 로딩 구역에서 두 번째 큐브를 들어올려 그룹과 함께 두 번째 팔레트에 놓도록 코딩하는 프로젝트를 어떻게 구축할지 계획하세요. 프로젝트 편집을 시작하기 전에 모두가 접근 방식에 동의했는지 확인하세요. 
    1. 엔지니어링 노트북에 계획을 기록하세요.
    2. 프로젝트 편집을 시작하기 전에 프로젝트 이름을 바꾸고 Unit 7 Lesson 2 Activity로 저장하세요. 
  2. 귀하의 그룹이 합의한 계획에 맞게 VEXcode에서 프로젝트를 편집하세요.
  3. 프로젝트를 실행하여 테스트해 보세요. 첫 번째 큐브를 배치한 후 두 번째 큐브를 수동으로 로딩 구역에 배치합니다.
  4. 6축 암이 의도한 대로 두 큐브를 모두 성공적으로 이동시켰나요? 각 팔레트에는 큐브가 하나씩 있어야 합니다. 그렇지 않은 경우, 두 개의 큐브를 각 팔레트에 하나씩 성공적으로 배치할 때까지 프로젝트를 계속 편집합니다. 

이해도 확인

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

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


다음 > 선택하여 중간 단위 반성으로 넘어가세요.