Skip to main content

3과: 두 개의 큐브 이동

이전 수업에서는 팔레트 위에 큐브를 집어 올리고 놓기 위해 6축 팔을 코딩하는 방법을 배웠습니다. 이 수업에서는 여러 개의 큐브를 팔레트로 옮기는 방법을 배운 내용을 바탕으로 학습합니다. 다음 방법을 배우게 됩니다. 

  • 팔레트에 놓을 큐브의 버리는 위치를 계획하세요.
  • 6축 암에 코드를 입력하여 두 개의 큐브를 팔레트로 성공적으로 옮기세요.

수업이 끝날 무렵에는 활동에서 팔레트 위에 4개의 큐브를 집어 올려 놓는 프로젝트를 진행하게 됩니다. 

자석 픽업 도구와 CTE 타일이 장착된 6축 암의 각도별 보기. 설치된 팔레트의 각 모서리에 파란색 큐브 4개가 배치되어 있습니다.

팔레트 위치 지정에 대한 고려

이전 수업에서는 큐브 하나를 팔레트로 옮겨 중앙에 놓았습니다. 팔레트를 이용해 대량의 품목을 운송하는 이점 중 하나는 한 번에 많은 물건을 운송할 수 있다는 것입니다. 이를 효과적으로 수행하려면 회사에서 운송하는 각 팔레트에 더 많은 물건을 포장할 수 있도록 해당 물건을 효율적인 방식으로 배열해야 합니다. 

팔레트를 사용하면 한두 개의 작은 물건을 옮기는 데 비효율적이고 비용이 많이 드는 방법이 될 수 있습니다. 예를 들어 팔레트 중앙에 큐브 하나를 놓는 경우가 그렇습니다. 그러나 팔레트에 큐브를 더 많이 놓으면 운송이 더 효율적이고 비용 효과적이 됩니다. CTE 타일에 설치된 팔레트의 두 이미지입니다. 왼쪽 팔레트에는 팔레트 중앙에 파란색 큐브 하나가 놓여 있습니다. 오른쪽 팔레트에는 파란색 큐브가 4개 있으며, 각 큐브는 팔레트 모서리에 하나씩 놓여 있습니다.

이를 위해서는 각 큐브를 팔레트의 어느 위치에 놓을지 생각해야 합니다. 이 수업에서는 여러 개의 큐브를 이동하고 팔레트에 효과적으로 함께 놓기 위해 6축 암을 코딩하는 방법을 알아봅니다.

첫 번째 큐브를 놓으세요

2과에서 배운 프로젝트에서 큐브 하나를 팔레트의 중심 로 옮겼습니다. 여러 개의 큐브를 배치하기 위한 첫 번째 단계는 첫 번째 큐브의 배치 위치를 조정하는 것입니다. 즉, 팔레트의 모서리 에 큐브를 배치하는 것입니다.

VEXcode EXP에서 레슨 2의 프로젝트를 엽니다. 

2차시에서 사용한 블록과 같은 스택입니다.

프로젝트 이름을 Unit 7 Lesson 3,바꾸고 장치에 저장하세요. 

VEXcode 도구 모음에는 Unit 7 Lesson 3이라는 프로젝트 이름이 표시되어 있습니다. 프로젝트 이름은 빨간색 상자로 강조 표시되어 있습니다.

팔레트 모서리에 큐브를 놓으세요. 

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

팔레트의 한쪽 모서리에 있는 파란색 큐브 위에 자석 픽업 도구가 놓인 6축 암의 각도에서 본 모습입니다.

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

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

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

엔지니어링 노트북에 모니터 콘솔의 x 및 y 좌표를 기록합니다. 이는 큐브를 놓는 위치의 x 및 y 좌표입니다.

큐브를 팔레트로 옮기기 전에 6축 암이 드롭 오프 위치 위로 이동한다는 점을 기억하세요. 즉, z값을 기록할 필요가 없습니다. 

 

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

프로젝트에 새로운 하차 위치의 x, y 좌표를 입력합니다. z 좌표는 동일하게 유지되어야 하므로 6축 암이 떨어지는 위치 위에 있어야 합니다. 

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

이전과 동일한 블록 스택이지만, 이제 팔레트로 큐브 이동 주석 블록 바로 아래에 있는 이동 팔 위치 블록이 수정되었습니다. 이제 블록은 팔을 x 157 y 147 z 100mm 위치로 이동한다고 읽습니다. 수정된 x 및 y 값은 빨간색 상자로 강조 표시됩니다.

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

프로젝트를 실행하여 테스트해 보세요. 6축 암의 동작을 관찰하세요. 의도한 대로 팔레트 모서리에 큐브를 집어 올려 놓나요? 왜 그럴까? 아니면 왜 그렇지 않을까? 

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

6축 암이 더 이상 움직이지 않으면 프로젝트를 중지합니다. 엔지니어링 노트에 관찰 내용을 기록하세요. 

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

두 번째 큐브 이동

이제 첫 번째 큐브가 새로운 드롭오프 위치에 놓였으므로 팔레트에 추가 큐브를 놓을 공간이 생겼습니다. 첫 번째 큐브를 움직이는 데 사용된 것과 동일한 동작이 두 번째 큐브를 움직이는 데에도 반복됩니다. 6축 암은 동일한 픽업 위치로 이동하여 자석을 작동시키고, 큐브를 팔레트로 이동시킨 후 큐브를 놓아야 합니다.CTE 타일에 설치된 팔레트만 보여주는 위에서 아래로 본 보기입니다. 팔레트의 왼쪽 상단 모서리에 하나, 오른쪽 상단 모서리에 하나, 총 두 개의 파란색 큐브가 표시됩니다. 왼쪽 위의 파란색 큐브는 큐브 1로 표시되고, 오른쪽 위의 파란색 큐브는 큐브 2로 표시됩니다.

두 큐브를 성공적으로 옮기는 데 도움이 되는 여러 가지 코딩 전략을 시도해 볼 수 있습니다. 

반복 블록 추가

일련의 행동이 반복될 것이라는 것을 알고 있다면, 가장 먼저 시도해 볼 전략은 반복 블록을 사용하는 것입니다. 이전 단원에서 배웠듯이 반복 블록은 프로젝트에서 블록이나 블록을 반복하는 데 유용합니다.

 

이 영상에서 보여지는 것처럼 프로젝트에 Set end effector 블록 아래에 Repeat 블록을 추가합니다.

비디오 파일

이 영상에서 보여지는 것처럼 팔레트의 큐브 이동 블록을 반복 블록으로 끌어다 놓습니다. 이렇게 하면 이후의 모든 블록도 반복 블록으로 끌어옵니다. 

이제 픽업 위치에서 팔레트 모서리까지 큐브를 집어 올려 놓는 데 필요한 모든 블록을 반복할 수 있습니다. 

비디오 파일

반복 블록의 매개변수를 2로 설정합니다.

두 개의 큐브를 팔레트로 옮기려고 하므로 동작이 두 번 반복됩니다. 

이전과 동일한 블록 스택이지만, 이제 세트 암 엔드 이펙터에서 자석 블록까지의 아래에 있는 모든 것이 반복 블록 안에 있습니다. 반복 블록의 매개변수는 2로 설정되어, 블록 내의 모든 블록을 두 번씩 반복한다는 것을 나타냅니다. 반복 블록은 빨간색 상자로 강조 표시됩니다.

작성한 코드를 읽고, 프로젝트가 실행될 때 6축 암이 무엇을 할지 예측해 보세요. 

엔지니어링 노트에 예측 내용을 기록하세요. 6축 암의 경로를 스케치하거나 팔레트 위에 큐브를 놓을 위치를 그려보세요. 

이전의 블록 더미와 동일하며, 전체 블록 더미를 보여줍니다.

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

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

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

6축 암의 움직임이 끝나면 프로젝트를 중지합니다. 엔지니어링 노트에 관찰 내용을 기록하세요. 

6축 암이 두 큐브를 팔레트로 성공적으로 옮겼나요? 왜 그럴까? 아니면 왜 그렇지 않을까? 

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

이로 인해 두 번째 큐브가 의도한 대로 움직이지 않아 오류가 발생했습니다. 첫 번째 큐브가 해당 위치에 배치되었으므로 두 번째 큐브도 같은 위치에 배치될 수 없습니다. 6축 암이 해당 위치에 도달할 수 없어 오류가 발생했습니다. 

팔레트에 두 번째 큐브를 놓으려면 이 큐브를 팔레트의 열린 위치로 옮겨야 합니다. 

첫 번째 큐브를 기준으로 두 번째 큐브 이동

팔레트에서 첫 번째 큐브의 위치를 알면 다음 큐브를 첫 번째 큐브를 기준으로 배치할 수 있습니다. 이전 단원에서 상대적 이동에 대해 배웠고, 이제 그 개념을 적용하여 두 번째 큐브를 배치할 수 있습니다. 

팔레트의 다음 모서리에 도달하려면 6축 암이 y축을 따라 양의 방향으로 움직여야 합니다. CTE 타일에 설치된 팔레트만 보여주는 위에서 아래로 본 보기입니다. 팔레트의 왼쪽 상단 모서리에 하나, 오른쪽 상단 모서리에 하나, 총 두 개의 파란색 큐브가 표시됩니다. 빨간색 화살표는 왼쪽 위 큐브에서 오른쪽 위 큐브를 가리키며, y 방향으로 표시됩니다.

큐브의 크기에 대해 알려진 정보를 사용하여 두 번째 큐브를 배치하는 데 필요한 오프셋을 결정할 수 있습니다. 오프셋은 객체의 현재 위치와 원하는 위치 사이의 차이입니다. 팔레트에서 두 번째 큐브의 오프셋은 첫 번째 큐브의 중심과 원하는 위치에 있는 두 번째 큐브의 중심 사이의 거리입니다.

큐브의 너비가 25mm라고 가정하면 오프셋은 50mm라고 추정할 수 있습니다.CTE 타일에 설치된 팔레트만 보여주는 위에서 아래로 본 보기입니다. 팔레트의 왼쪽 상단 모서리에 하나, 오른쪽 상단 모서리에 하나, 총 두 개의 파란색 큐브가 표시됩니다. 두 큐브의 중심 사이에 빨간색 선을 그어 50mm로 표시합니다.

이제 상대적 이동에 필요한 거리와 방향을 알았으므로 이 정보를 프로젝트에 추가할 수 있습니다.

이 영상에서 보여지는 것처럼 블록의 팔레트로 큐브 이동 주석 섹션 중앙에 도구 모음에서 끌어와서증가 위치블록을 추가합니다.

비디오 파일

y 매개변수를 50으로 설정합니다. 이는 y축을 따라 50mm의 상대적 이동을 나타냅니다. 

이전에 보여드린 블록 스택은 팔레트로 큐브를 옮기라는 주석 블록 아래의 블록 섹션으로 확대되었습니다. 이 세 개의 블록은 순서대로 배열되어 있습니다. 하나는 x 157 y 147 z 100 mm 위치로 팔을 옮기는 블록이고, 다른 하나는 x 0 y 50 z 0 mm만큼 팔 위치를 늘리는 블록이며, y 50 위치는 빨간색 상자로 강조 표시되어 있습니다. 다른 하나는 x 0 y 0 z -50 mm만큼 팔 위치를 늘리는 블록입니다.

코드를 읽고 6축 암의 동작을 예측해 보세요. 

엔지니어링 노트에 예측 내용을 기록하세요. 이 프로젝트를 통해 두 큐브를 원하는 위치에 성공적으로 배치할 수 있을 것 같나요? 왜 그럴까? 아니면 왜 그렇지 않을까? 

이전의 블록 스택과 동일하며, When started 블록 아래에 있는 전체 블록 스택을 보여줍니다.

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

6축 암의 동작을 관찰하세요.

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

6축 암의 움직임이 끝나면 프로젝트를 중지합니다. 엔지니어링 노트에 관찰 내용을 기록하세요. 

당신의 관찰 결과가 예측과 일치했나요? 두 개의 큐브가 팔레트의 의도된 위치로 옮겨졌나요? 왜 그럴까? 아니면 왜 그렇지 않을까? 

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

예상하셨겠지만, 이 프로젝트에서도 두 개의 큐브를 원래 위치로 옮기지는 않습니다. 증가 위치블록은 6축 암을 두 번째 큐브의 원하는 위치로 올바르게 이동시켰습니다. 하지만 모든 동작이 반복되었기 때문에큐브개 모두 이 위치로 이동되었습니다. 이는 이전 프로젝트와 동일한 오류를 생성했지만 팔레트의 위치가 달랐습니다. 

목표는 팔레트의 첫 번째 큐브를 첫 번째 위치에 놓고 두 번째 큐브를 두 번째 위치에 놓는 것입니다. 이를 성공적으로 수행하려면 프로젝트에서 어떤 Cube가 이동되는지 추적해야 합니다. 첫 번째 큐브를 옮기는 경우 첫 번째 위치로 이동해야 합니다. 두 번째 큐브를 옮기는 경우, 두 번째 위치에 놓을 수 있습니다. 

변수와 If then 블록을 사용하여 두 개의 큐브 이동

어떤 큐브가 움직이는지 추적하기 위해 변수를 만들어 프로젝트에서 사용하면 큐브가 조작될 때 큐브의 개수를 기본적으로 '계산'할 수 있습니다. 변수를 사용하여 어떤 큐브가 옮겨지는지에 대한 정보를 저장할 수 있습니다. 이 정보는 프로젝트 내에서 결정을 내리는 데 사용될 수 있습니다.6축 암이 두 번째 큐브를 이동시키고,이면팔레트의 두 번째 위치로 이동시켜야 합니다.  

 

변수를 만들고 이름을 CubeCount로 지정합니다. 변수를 생성하려면 제출 선택하세요. 

VEXcode에서 변수를 만드는 방법에 대한 자세한 내용은 단원 6과 2장 을 다시 참조하세요.

VEXcode의 변수 명명 대화 상자. 맨 위에는 '새 숫자 변수'라고 적혀 있고, 상자 안에는 '새 숫자 변수 이름'이라고 적혀 있으며, 변수 이름은 CubeCount입니다.

이 영상에서 보여지는 것처럼 반복 블록 위에 있는 프로젝트에 변수 블록을 추가합니다. 

비디오 파일

매개변수를 1로 설정합니다. 드롭다운에서 CubeCount 변수가 선택되어 있는지 확인하세요. 

프로젝트가 시작되면 첫 번째 Cube가 픽업됩니다. 이 변수의 목적은 움직이는 큐브에 번호를 매기는 것이므로 시작하려면 '1'로 설정해야 합니다. 

이전과 동일한 블록 스택에 CubeCount를 1로 설정한 블록을 추가하여 반복 2 블록 위에 놓습니다. 이 새로운 블록은 빨간색 상자로 강조 표시되어 있습니다.

이전에는 6축 암을 두 번째 드롭 오프 위치로 이동하기 위해증가 위치블록이 추가되었습니다. 첫 번째 큐브를 버리는 위치로 옮기려면 이 블록을 삭제해야 합니다.

이 영상에서 보여지는 것처럼, 증가 위치블록을 마우스 오른쪽 버튼으로 클릭하고 삭제합니다. 

비디오 파일

이 영상에서 보여지는 것처럼 반복 블록의 맨 아래에 변경 변수 블록을 추가합니다.

프로젝트가 실행되면 첫 번째 큐브가 드롭 오프 위치로 이동됩니다. 여기에 변경 변수 블록을 추가하면 첫 번째 Cube가 전달된 후 CubeCount 증가합니다. 반복 블록이 두 번째 큐브를 집어 올리기 위해 되돌아갈 때 변수가 '2' 증가하여 두 번째 큐브가 이동된다는 것을 나타냅니다. 

비디오 파일

이제 프로젝트에서 큐브의 개수에 대한 정보를 저장하고 있으므로 해당 정보를 사용하여 결정을 내릴 수 있습니다. If then 블록을 사용하면 프로젝트 내에서 질문을 하고, 정보(변수 값 등)를 사용하여 결정을 내릴 수 있습니다. 부울 블록이 삽입되지 않고, 그 안에 중첩된 블록도 없는 if then 블록입니다.

If then 블록은 부울 리포터 블록을 조건으로 허용하는 C 블록입니다. 부울 블록은 조건을 TRUE 또는 FALSE로 반환하며 육각형 입력이 있는 모든 블록에 들어맞습니다. 조건이 TRUE로 보고되면 C-블록 내의 블록이 실행됩니다. 조건이 FALSE로 보고되면 프로젝트에서 If then 블록이 건너뜁니다. 

이 경우 우리가 찾는 조건은 CubeCount 변수가 2가 되는 것입니다. CubeCount 변수 2이면,6축 암은 팔레트의 두 번째 위치로 이동해야 합니다. 

프로젝트의 어느 부분에서 그러한 결정을 내려야 할지 생각해 보겠습니다. 이 프로젝트는 적재 구역에서 큐브를 픽업한 다음, 하차 위치 위로 이동합니다. CubeCount가 2이면 2이고,이면축 암은 두 번째 팔레트 위치로 이동하기 위해 추가 동작을 수행해야 합니다. 이전과 같은 블록 스택으로, 오른쪽에 노트북 줄이 표시되어 있습니다. 큐브를 집어 올리고 자석을 작동시키고 큐브를 들어올리는 Move 6축 암 내부의 블록은 빨간색 선으로 덮여 있으며, 로딩 영역에서 큐브를 집어 올리라는 라벨이 붙어 있습니다. 이동 암에서 출발하여 위치 x 157 y 147 z 100mm 블록으로 가는 선이 있는데, 이 블록에는 첫 번째 하강 지점 위에 '이동'이라고 표시되어 있습니다. 빨간색 화살표는 이전 블록과 x 0 y 0 z -50mm 증가 암 위치 사이의 섹션을 가리키며, 여기에는 CubeCount 2라고 표시되어 있습니다. 다음 증가 암 위치 블록까지의 증가 암 위치 블록은 반복 블록 루프의 맨 아래에 있는 CubeCount를 1만큼 변경하여 Cube를 전달하는 블록으로 표시된 또 다른 빨간색 선으로 구분됩니다.

 

여기에 표시된 대로 프로젝트에 If then 블록을 추가합니다. 

이전과 동일한 블록 스택이지만, 이제 두 개의 새 블록이 이동 암 아래에 삽입되어 x 157 y 147 z 100mm 블록의 위치가 지정되었습니다. 이는 이전 이미지에서 빨간색 화살표가 가리키던 위치입니다. 이 블록은 두 번째 큐브를 이동하는 경우 팔레트의 두 번째 위치로 이동이라는 주석 블록과 빈 If then 블록입니다. 이 두 개의 새로운 블록은 빨간색 상자로 강조 표시되어 있습니다.

이 영상에서 보여지는 것처럼 If then 블록의 육각형 공간에 Equal to 블록을 추가합니다.

비디오 파일

Equal to 연산자의 왼쪽에 CubeCount 변수를 추가합니다. 이 영상에서 보여지는 것처럼 = 연산자의 오른쪽을 2로 설정합니다.

CubeCount 변수가 2와 같으면 부울 조건이 TRUE로 보고됩니다. CubeCount 2가 아니면 부울 조건은 FALSE로 보고됩니다. 

비디오 파일

이 영상에서 보여지는 것처럼 C 블록 내부에 증가 위치블록을 추가합니다. 

비디오 파일

증가 위치 블록의 y 매개변수를 50으로 설정합니다. 

If then 블록의 조건이 충족되면 If then 블록 내부의 Increment position 블록이 실행됩니다. 즉, CubeCount 이 2이면 6축 암은 팔레트의 두 번째 위치로 상대적으로 이동합니다.

팔레트에서 두 번째 위치로 이동하는 경우 두 번째 Cube 주석 블록 아래에 추가된 블록이 있는 이전과 동일한 블록 스택은 CubeCount가 2와 같으면 블록입니다. 해당 if then 블록 내부에는 x 0 y 50 z 0 mm만큼 팔 위치를 증가시키는 블록이 있습니다. y 50 위치는 빨간색 상자로 강조 표시되어 있습니다.

코드를 읽고 프로젝트가 실행될 때 6축 암이 무엇을 할지 예측해 보세요. 

엔지니어링 노트에 예측 내용을 기록하세요.

동일한 블록 스택에서 이제는 강조된 섹션 없이 블록의 전체 스택을 보여줍니다.

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

프로젝트가 실행되는 동안 6축 암의 동작을 관찰합니다. 

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

6축 암의 움직임이 완료되면 프로젝트를 중지합니다. 엔지니어링 노트에 관찰 내용을 기록하세요.

6축 암이 예상대로 움직였나요? 두 큐브 모두 의도한 대로 팔레트로 옮겨졌나요? 왜 그럴까? 아니면 왜 그렇지 않을까?

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

귀하의 정보를 위해

6축 암이 움직일 때 실행되는 블록에 주의를 기울일 수 있도록 프로젝트를 여러 번 실행하는 것이 좋습니다. 프로젝트에서 블록이 실행될 때 블록 주변의 강조 표시를 살펴보면 If then 블록이 실행되는 시점을 더 잘 이해하는 데 도움이 됩니다. 단계 기능을 사용하면 프로젝트를 한 번에 한 블록씩 실행하여 If then 블록을 통한 프로젝트 흐름을 보다 명확하게 볼 수 있습니다. VEXcode 오른쪽 상단에 프로젝트 제어 버튼이 표시된 VEXcode 도구 모음입니다. 단계 버튼은 빨간색 상자로 강조 표시됩니다.

프로젝트가 실행되는 동안 CubeCount 값을 확인하는 데 도움이 되는 변수를 모니터에 추가할 수 있다는 점을 기억하세요. 모니터에 변수를 추가하려면 이 영상에서 보여주는 것처럼 작업 공간의 모니터 아이콘으로 변수를 끌어다 놓습니다. 프로젝트를 실행할 때 모니터에서 변수를 살펴보세요. 이를 통해 변수 값과 프로젝트 흐름 간의 연결을 파악하는 데 도움이 됩니다.

비디오 파일

프로젝트 검토 

팔레트에 두 개의 큐브를 놓는 과제를 해결하는 데 사용된 문제 해결 과정을 살펴보겠습니다. 6축 암이 두 큐브를 의도한 대로 움직일 수 있도록 프로젝트를 여러 번 반복했습니다. 

  • 큐브를 집어 올리고, 옮기고, 팔레트에 올리는 데 필요한 동작을 반복하기 위해 반복 블록이 추가되었습니다.
  • 두 번째 큐브를 팔레트의 열린 위치로 이동하기 위해증가 위치블록이 추가되었습니다.
  • 큐브의 개수를 세는 변수가 추가되어 어떤 큐브를 움직이는지에 따라 결정을 내릴 수 있게 되었습니다. 
  • 변수의 값에 따라 결정을 내리기 위해 If then 블록이 추가되었습니다. 

이러한 모든 반복을 통해 두 큐브를 모두 성공적으로 구현하고 제공하는 프로젝트가 탄생했습니다. 두 번째 큐브를 집어 올렸을 때, 6축 암은 다시 큐브를 팔레트의 원래 떨어뜨린 위치 위로 옮겼습니다. 그러자 결정이 내려졌습니다. On the left side of the image is a picture of the 6-Axis Arm, showing one blue cube has been placed on the tile with the Arm's Magnet Pickup Tool carrying the second blue cube. In the middle of the image is showing a cropped image of the stack of blocks, with the If CubeCount equals 2 then block section being highlighted with a red box. On the right side of the image is the Monitor Console in VEXcode, showing that the CubeCount variable has been added to the Monitor Console and now the Variables section in the Monitor Console reads CubeCount 2.CubeCount가 '2'이므로 If then 블록 내부의 블록이 실행되어 Cube를 y축을 따라 팔레트의 원하는 위치로 이동합니다.

이 수업에서 진행한 반복적인 프로세스는 6축 암을 사용하여 과제를 해결할 때마다 계속 수행하게 될 것입니다. 대부분의 코딩 문제는 첫 번째 시도에서 완벽하게 해결되지 않을 것이라는 점을 기억하는 것이 중요합니다. 계획, 구축, 테스트, 평가의 이러한 과정은 귀하의 그룹이 창의적인 솔루션을 찾는 데 도움이 될 수 있습니다. 대부분의 과제는 여러 가지 방법으로 해결할 수 있으므로, 이 과정에 협력적으로 참여하면 그룹에 가장 적합한 전략을 찾을 수 있습니다. 

활동

이제 두 개의 큐브를 적재 구역에서 팔레트로 옮겼으니, 이러한 기술을 연습해 보겠습니다. 이 활동에서는 이 수업에서 배운 프로젝트를 바탕으로 6축 팔을 사용하여 4개의 큐브를 팔레트로 옮기는 코드를 작성합니다.

자석 픽업 도구와 CTE 타일이 장착된 6축 암의 각도별 보기. 설치된 팔레트의 각 모서리에 파란색 큐브 4개가 배치되어 있습니다.

활동:6축 팔을 코딩하여 하나의 팔레트에 4개의 큐브를 놓습니다.

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

이해도 확인

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

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


다음 >선택하여 모두 합치기 활동으로 넘어가세요.