본문 바로가기

LEGO Technic : 레고 공학

Smart Forklift : 똑똑한 지게차

1. Background : 배경

 

Forklift : 지게차

Move and load cargo that is difficult for humans to carry. Lift the object from the bottom by the two forks in front (operated by hydraulic pressure). It is a construction machinery vehicle that is similar to a lever and enables transportation. 사람이 운반하기 힘든 화물을 이동하여 적재합니다. 앞에 달린 2개의 포크(유압에 의해 작동)에 의해 물건을 밑에서 들어 올립니다. 지레와 비슷한 원리이며 운반을 가능하게 해주는 건설기계 차량입니다.

 

2. Building Instructions : 조립 설명

Configure the basic autonomous vehicle module with two motors, a color sensor and a distance sensor. Lift the cargo with one additional motor. The cargo module is expressed with Lego blocks. 모터 2개, 색 센서와 거리 센서로 기본적인 자율 차량 모듈을 구성합니다. 추가 모터 1개를 이용하여 화물을 들어올립니다. 레고 블록으로 화물 모듈을 표현하였습니다.


3. Block Coding : 블록 코딩
The following functional modules can be combined to implement the movement and operation of forklifts: In order, "Move forward and backward," "Stop when you meet a black line," "Stop when you sense an obstacle," "Return to the starting position," and "Lift up." 아래 기능 모듈을 조합하여 지게차의 이동 및 작업을 구현할 수 있습니다. 순서대로 "앞으로 그리고 뒤로 이동하기", "검은 선을 만나면 멈추기", "장애물을 감지하면 멈추기", "시작 위치로 돌아오기" 그리고 "화물 정리하기" 입니다.

 

The SW function module moves forward and backward by the distance entered. The action is to return to its original position.

이 SW 기능 모듈은 입력된 거리 만큼 앞으로 및 뒤로 이동합니다. 다시 제자리로 돌아오는 동작입니다.


(Function block 1) Select "A+B" first. If it is not the direction the robot is thinking about, change it to "B+A".

(1번 기능 블록) 우선 "A+B"를 선택 합니다. 로봇이 생각하는 방향이 아니면 "B+A"로 변경하면 됩니다.

 

The SW function uses a distance sensor to detect obstacles ahead. Stops by a specified distance to the obstacle.

이 SW 기능은 거리 센서를 사용하여 앞에 장애물을 감지합니다. 장애물 까지의 지정된 거리만큼 정지합니다.

(Functional Block 4) The robot is moving forward at 30% speed. If the distance from the obstacle is less than 5 cm,

(4번 기능 블록) 로봇이 30% 속도로 앞으로 주행 중 입니다. 장애물과 거리가  5cm 이하이면, 

 

(Functional Block 5) Move back 2 cm. The robot's behavior change can be very small. But you have to adjust this part correctly so that you can lift the cargo without colliding with it.
(5번 기능 블록) 뒤로 2cm 이동 합니다. 로봇 동작 변화가 매우 작을 수 있어요. 하지만 이 부분을 정확히 조절해야 화물과 충돌이 일어나지 않고 화물을 들어 올릴 수 있어요.

 

(Functional Block 6) If you stopped in front of the cargo correctly, you can raise the cargo at a 90 degree angle.
(6번 기능 블록) 화물 앞에 정확히 정차했다면 90도 각도로 화물을 올릴 수 있습니다.

 

 

The function module uses a color sensor to detect the color of the floor. You can use black tape or black block. The robot moves forward until a dark color is detected. 이 기능 모듈은 컬러 센서를 사용하여 바닥의 색상을 감지 합니다. 검은 테이프나 검은 블록을 사용하시면 됩니다. 어두운 색이 감지 될때 까지 로봇은 앞으로 이동합니다.

(Functional Block 4) The robot is moving forward. If the value of the color sensor is less than 50%,

(4번 기능 블록) 로봇은 앞으로 주행하고 있습니다. 색상 센서의 값이 50% 이하면,


(Functional Block 5) The robot stops. Then run the following function blocks.
(5번 기능 블록) 로봇은 정지합니다. 그리고 다음 기능 블록을 실행 합니다.

(Functional Block 6) The motor operates to lift the cargo. If there is a collision with the cargo, consider the functional block of moving the robot backward.

(6번 기능 블록) 모터가 동작하여 화물을 들어 올립니다. 만약 화물과 충돌이 발생하면 로봇을 뒤로 이동 기능 블록을 고려해야 합니다.

 

 

When the cargo is unloaded, the robot moves back to the working position.

화물을 내렸다고 하면 로봇은 다시 작업 위치로 이동한다.

(Functional Block 6) The functional block of the "Move Icon" allows left/right rotation, but the functional block of the "Motor Icon" must be used to control the motor in angular units. The wheel position can be controlled more accurately.

(6번 기능 블록) "이동 아이콘"의 기능블록으로 왼쪽/오른쪽 회전이 가능하지만 "모터 아이콘"의 기능블록을 사용해야 모터를 각도 단위로 제어 할 수 있다. 더 정확하게 바퀴 위치를 제어할 수 있다.

 

Rotational movement in the correct direction needs to be tested to determine its value. This is because there is an error depending on the environment and it deviates from the original position little by little.

정확한 방향의 회전 이동은 테스트를 하여 그 값을 결정할 필요가 있다. 왜냐하면 환경에 따라 오차가 있고 조금씩 원위치에서 어긋나기 때문이다.

 

The friction characteristics of the floor are different depending on the test environment. Therefore, an error occurs every time the rotation is performed.

테스트 환경에 따라 바닥의 마찰 특성이 다르다. 따라서 회전 주행을 할 때마다 오차가 발생한다.

 

If you stop correctly, you can raise the cargo at a 90-degree angle.

정확히 정차했다면 90도 각도로 화물을 올릴 수 있습니다.

 

Move the lifted cargo to the designated position and put it down.

들어올린 화물을 지정된 위치까지 이동하여 내려 놓는다.

 

4. Smart Forklift - Field Testing