카테고리 없음

융합_로보테크 AI 자율주행 로봇 개발자 과정-26/05/28

steezer 2026. 5. 28. 18:30

어제 필기시험 문제 및 정답

 

Q) 다음 중 각 인공신경망 모델의 특징에 대한 설명으로 가장 적절하지 않은 것은?

  1. ANN은 생물학적 뇌의 뉴런 구조를 모사하여 입력층, 은닉층, 출력층의 구조를 갖는 가장 기본적인 신경망 모델이다.
  2. DNN은 ANN의 은닉층을 여러 개로 쌓아 데이터의 복잡한 패턴을 학습할 수 있게 만든 심층 신경망이다.
  3. CNN은 데이터의 순서와 시간적 흐름이 중요한 음성 인식이나 텍스트 번역 등에 가장 최적화된 모델이다.
  4. RNN은 내부의 순환 구조를 통해 과거의 상태 정보를 현재의 학습에 반영하므로 시계열 데이터 처리에 유리하다.

Q) 다음 중 데이터 전처리(Data Preprocessing) 작업에 해당되지 않는 것은?

  1. 결측치(Missing Value) 처리
  2. 모델 하이퍼파라미터 튜닝(Hyperparameter Tuning)
  3. 데이터 정규화(Normalization)
  4. 데이터 이상치(Outlier) 제거

Q) 다음 중 단어 임베딩(Word Embedding)에 대한 설명으로 맞는 것은?

  1. 단어를 단순히 사전적 알파벳 순서대로 정렬하여 고유한 정수 값을 부여하는 방식이다.
  2. 단어의 의미와 문맥적 특징을 반영하여, 고차원 공간의 연속적인 실수 벡터(Dense Vector)로 변환하는 기술이다.
  3. 문서 내에 존재하는 전체 단어의 개수만큼 차원을 생성하고, 해당 단어의 인덱스만 1로 표시하는 희소 표현(Sparse Representation) 방식이다.
  4. 단어의 출현 빈도수만을 계산하여, 문서의 길이에 비례하는 단일 스칼라 값으로 압축하는 방법이다.

Q) 다음 중 터미널(Terminal)에 대한 설명으로 옳지 않은 것은?

  1. 터미널은 텍스트 기반으로 명령어를 입력하고 결과를 확인할 수 있는 인터페이스이다.
  2. 리눅스 터미널에서는 파일 생성, 이동, 삭제 등의 작업을 수행할 수 있다.
  3. 터미널은 GUI 환경에서는 사용할 수 없고, 오직 CLI 환경에서만 사용할 수 있다.
  4. 터미널에서는 pwd, ls, cd 같은 명령어를 사용할 수 있다.

Q) 다음 중 터미널(Terminal)과 셸(Shell)의 관계를 올바르게 설명한 것은?

  1. 터미널은 명령어를 해석하고 실행하며, 셸은 단순히 화면만 출력한다.
  2. 셸은 사용자의 명령어를 해석하고, 터미널은 이를 입력하고 결과를 보여주는 환경이다.
  3. 터미널과 셸은 완전히 같은 의미이므로 구분하지 않는다.
  4. 셸은 GUI 프로그램이며, 터미널은 하드웨어 장치만 의미한다.

Q) 현재 셸(shell)에 ROS Humble 환경을 설정하기 위해 실행해야 하는 명령어를 쓰시오.

source /opt/ros/humble/setup.bash

Q) 다음 명령어를 실행하려고 하니, 데이터를 입력하는 방법이 헷갈린다. 이때,

ros2 topic pub -r 1 /turtle1/cmd_vel geometry_msgs/msg/Twist "이 부분을 어떻게 써야할지 모르겠다!"

geometry_msgs/msg/Twist 타입이 어떻게 정의되어 있는지 확인할 수 있는 명령어를 쓰시오.

ros2 interface show geometry_msgs/msg/Twist

Q) 자율주행 구현 시에 사용할 수 있는 기술 중 ‘SLAM’은 무엇의 약자인지 영어로 쓰고, 어떤 목적으로 사용하는 기술인지 우리말로 설명하시오.

Simultaneous Localization and Mapping
로봇이나 자율주행 시스템이 자신의 현재 위치를 추정하면서 동시에 주변 지도를 생성하는 기술이다.

Q) 다음 머신러닝 코드를 읽고, 질문들에 대한 답을 쓰시오.

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
import pandas as pd

iris = load_iris()

iris_data = iris.data
iris_label = iris.target

print('iris target값:', iris_label)
print('iris target명:', iris.target_names)

iris_df = pd.DataFrame(data=iris_data, columns=iris.feature_names)
iris_df['label'] = iris.target

X_train, X_test, y_train, y_test = train_test_split(
    iris_data,
    iris_label,
    test_size=0.2,
    random_state=11
)

dt_clf = DecisionTreeClassifier(random_state=11)

dt_clf.fit(X_train, y_train)
pred = dt_clf.predict(X_test)

from sklearn.metrics import accuracy_score

print('예측 정확도: {0:.4f}'.format(accuracy_score(y_test, pred)))
  1. 위 코드는 인공지능이 정답이 포함된 훈련데이터를 학습하여, 새로운 데이터에 대한 결과를 정확하게 예측하거나 분류하도록 만드는 머신러닝 기법인 OOOO 관련 예제이다. 여기에서 OOOO은? 지도학습
  2. 위 예제에서 사용한 알고리즘 모델의 이름을 쓰고, 동작 방식을 설명하시오.
  3. 결정트리. 데이터를 기준값으로 반복적으로 분할해 나가며, 가장 순수한(오류가 적은) 그룹이 되도록 트리 구조로 분류/예측하는 방식이다.

기존에 있던 NANO + nRF24에서 nRF24(무전기) 뜯어내고 ESP01 연결

AT 명령어 동작 확인

#include <SoftwareSerial.h>

const uint8_t PIN_RX = 2;
const uint8_t PIN_TX = 3;

SoftwareSerial espSerial(PIN_RX, PIN_TX);

void setup() {
  Serial.begin(9600);
  espSerial.begin(9600);
  Serial.println(F("[TEST] ESP-01 AT probe (9600)"));
  Serial.println(F("Type 'AT' + Enter. Monitor: Both NL & CR"));
  delay(500);
  espSerial.println("AT");
}

void loop() {
  if (espSerial.available()) {
    Serial.write(espSerial.read());
  }
  if (Serial.available()) {
    espSerial.write(Serial.read());
  }
}