학습 목표

  • 로봇팔의 Link·Joint·축·자유도·End-effector를 구분할 수 있다.
  • 회전·직선 관절과 직렬·병렬·협동 로봇팔의 특징을 설명할 수 있다.
  • 정기구학과 역기구학으로 관절값과 Tool Pose의 관계를 계산할 수 있다.
  • Jacobian, 특이점, 작업공간과 여유 자유도의 의미를 설명할 수 있다.
  • 위치·속도·가속도·Jerk가 포함된 안전한 관절 궤적을 구성할 수 있다.
  • URDF·TF·JointState·ros2_control·MoveIt 2의 연결 구조를 이해할 수 있다.
  • 실제 Pick-and-place 작업을 설계하고 충돌·파지·가반하중 위험을 검증할 수 있다.

1. 로봇팔은 무엇인가

로봇팔 또는 Manipulator는 여러 Link를 Joint로 연결하고 각 Joint를 구동해 원하는 위치와 자세로 도구를 옮기는 로봇입니다. 사람 팔을 닮았지만 사람 모양일 필요는 없습니다. 용접 Robot, SCARA, Delta Robot과 협동 Robot은 구조가 달라도 모두 관절 운동을 작업 공간의 Tool 운동으로 바꾸는 기계입니다.

Base → Joint 1 → Link 1 → Joint 2 → Link 2 → Wrist → End-effector → 작업 대상

로봇팔의 핵심 질문은 세 가지입니다.

  1. 현재 관절각에서 Tool은 어디에 있는가?
  2. 원하는 Tool Pose에 도달하려면 관절을 얼마나 움직여야 하는가?
  3. 그 움직임이 충돌·속도·토크·안전 제한 안에서 가능한가?

첫 질문이 정기구학, 두 번째가 역기구학, 세 번째가 Motion Planning과 제어의 문제입니다.


Link는 강체로 취급하는 몸체이고 Joint는 두 Link 사이에서 허용되는 운동입니다. Joint가 움직이는 독립 변수의 수가 자유도, DOF입니다.

관절 종류 허용 운동 변수 예시
Revolute 한 축 주위 회전 각도 rad 어깨·팔꿈치
Continuous 제한 없는 회전 각도 rad 회전 Tool
Prismatic 한 축 방향 직선 거리 m 승강축·Linear Rail
Fixed 운동 없음 없음 Sensor Bracket
Planar 평면 이동과 회전 3개 특수 Mechanism

공간에서 Tool의 위치 x,y,z와 자세 roll,pitch,yaw를 자유롭게 정하려면 일반적으로 6자유도가 필요합니다. 7축 팔은 같은 Tool Pose를 유지하면서 팔꿈치 자세를 바꿀 여유 자유도 하나가 있습니다. 이 여유는 장애물 회피, Joint Limit 회피와 Manipulability 개선에 사용합니다.

Joint 수와 자유도는 항상 같지 않습니다. Mimic Joint, Closed-chain, 차동 Mechanism은 여러 Joint가 독립적으로 움직이지 않을 수 있습니다.


3. 대표 로봇팔 구조

구조 특징 장점 한계
6축 직렬형 Base부터 Wrist까지 직렬 연결 넓은 자세 범위·범용성 오차와 하중 누적
7축 직렬형 여유 자유도 1개 장애물·특이점 회피 IK 해가 더 많고 제어 복잡
SCARA 평면 회전+수직축 빠른 조립 작업 자세 자유도 제한
Delta 여러 Arm이 Platform을 병렬 지지 매우 빠르고 가벼움 작업공간과 Payload 제한
Cartesian 직선축 X·Y·Z 직관적·높은 강성 큰 설치 공간
협동 Robot 힘·토크 감지와 제한 기능 사람 근처 작업 가능 위험성 평가 없이 안전하지 않음

협동 Robot이라는 이름만으로 모든 작업이 안전해지지 않습니다. 날카로운 Tool, 무거운 Payload, 좁은 끼임점과 고속 동작이 있으면 독립적인 위험성 평가와 안전 기능이 필요합니다.


4. 좌표계: 같은 위치도 기준이 다르면 다른 숫자다

로봇팔에는 Base, 각 Link, Flange, Tool, Camera, 작업물 Frame이 있습니다.

world
  └─ base_link
      └─ shoulder_link
          └─ elbow_link
              └─ wrist_link
                  └─ flange
                      └─ tool0
                          └─ tcp

TCP는 Tool Center Point입니다. Gripper 손가락 사이 중심, 용접봉 끝, Screwdriver Bit 끝처럼 작업이 실제로 일어나는 점입니다. Flange 기준으로 목표를 주면 Tool 길이만큼 위치가 틀립니다.

Pose는 위치 벡터와 Orientation으로 구성됩니다. Euler Angle은 읽기 쉽지만 표현 특이점이 있고, Quaternion은 계산에 안정적이지만 정규화와 부호를 이해해야 합니다.

ros2 run tf2_ros tf2_echo base_link tool0
ros2 run tf2_ros tf2_echo tool0 tcp
ros2 run tf2_tools view_frames

5. 정기구학: 관절값으로 Tool 위치 구하기

정기구학은 관절 변수 q가 주어졌을 때 Base에서 Tool까지의 변환 T(q)를 계산합니다. 각 Joint 변환을 순서대로 곱합니다.

T_base_tool = T_base_1 × T_1_2 × ... × T_n_tool

평면 2축 팔에서 Link 길이가 L1, L2, 관절각이 q1, q2라면 다음과 같습니다.

x = L1 cos(q1) + L2 cos(q1 + q2)
y = L1 sin(q1) + L2 sin(q1 + q2)
import math

def forward_kinematics(q1_deg, q2_deg, l1=0.40, l2=0.30):
    q1 = math.radians(q1_deg)
    q2 = math.radians(q2_deg)
    x = l1 * math.cos(q1) + l2 * math.cos(q1 + q2)
    y = l1 * math.sin(q1) + l2 * math.sin(q1 + q2)
    heading = q1 + q2
    return x, y, math.degrees(heading)

for pose in [(0, 0), (30, 45), (90, -90)]:
    print(pose, '->', forward_kinematics(*pose))

관절 Encoder가 정확해도 Link 길이, Joint Zero, Gear Backlash와 Base 설치 Pose가 틀리면 Tool 위치가 틀립니다. 실제 정밀도는 Kinematic Calibration과 구조 강성까지 포함해 평가해야 합니다.


6. 역기구학: 원하는 Tool Pose에서 관절값 찾기

역기구학, IK는 원하는 Tool Pose를 만드는 q를 찾습니다. 하나의 목표에 해가 여러 개일 수 있고, 작업공간 밖이면 해가 없으며, Joint Limit과 장애물 때문에 수학적으로 가능한 해가 실제로는 불가능할 수 있습니다.

2축 평면 팔의 해는 다음처럼 구할 수 있습니다.

import math

def inverse_kinematics(x, y, l1=0.40, l2=0.30, elbow_up=False):
    c2 = (x*x + y*y - l1*l1 - l2*l2) / (2*l1*l2)
    if abs(c2) > 1.0:
        raise ValueError('목표가 작업공간 밖에 있습니다')
    s2 = math.sqrt(max(0.0, 1.0 - c2*c2))
    if elbow_up:
        s2 = -s2
    q2 = math.atan2(s2, c2)
    q1 = math.atan2(y, x) - math.atan2(l2*s2, l1+l2*c2)
    return math.degrees(q1), math.degrees(q2)

print('elbow down:', inverse_kinematics(0.45, 0.25))
print('elbow up  :', inverse_kinematics(0.45, 0.25, True))

실제 6·7축 IK는 수치 반복법이나 전용 Solver를 사용합니다. 해를 선택할 때 현재 관절값과의 거리, Joint Limit 여유, 충돌, 특이점, Cable 꼬임과 선호 팔꿈치 자세를 비용으로 고려합니다.


7. 작업공간과 도달 가능성

작업공간은 Tool이 도달할 수 있는 위치와 자세의 집합입니다. 단순히 팔 길이로 그린 구가 아닙니다.

  • Joint Limit이 일부 영역을 자릅니다.
  • Tool Orientation 요구가 도달 범위를 줄입니다.
  • Robot Body와 자기 충돌 영역은 사용할 수 없습니다.
  • 바닥·벽·작업대·안전 Fence가 경계를 만듭니다.
  • Payload와 속도에 따라 실제 허용 영역이 달라집니다.

Reachable은 위치에 닿는다는 뜻이고 Dexterous는 필요한 여러 자세로 닿을 수 있다는 뜻입니다. Bin 안쪽처럼 위치에는 닿아도 Gripper 방향을 만들 수 없는 곳이 있습니다.


8. Jacobian과 특이점

Jacobian J(q)는 관절 속도를 Tool의 선속도·각속도로 연결합니다.

tool_twist = J(q) × joint_velocity

반대로 원하는 Tool 속도를 관절 속도로 바꿀 때 Jacobian 역 또는 Pseudoinverse를 사용합니다. 특정 자세에서 Jacobian Rank가 줄면 어떤 방향으로 Tool을 움직일 능력을 잃습니다. 이것이 특이점입니다.

특이점 근처에서는 작은 Tool 속도를 만들기 위해 매우 큰 Joint 속도가 필요할 수 있습니다. 흔한 예는 팔이 일직선으로 완전히 펴지는 Elbow Singularity와 Wrist 축이 정렬되는 Wrist Singularity입니다.

징후 의미 대응
관절 속도가 급증 Manipulability 저하 속도 제한·자세 변경
IK 해가 갑자기 바뀜 다른 해 Branch로 전환 Seed와 연속성 비용 사용
Tool이 특정 방향으로 안 움직임 Jacobian Rank 감소 특이점 회피 경로 계획
작은 Noise에 관절 명령이 흔들림 역행렬 조건수 악화 Damped Least Squares

7축 팔은 여유 자유도로 TCP Pose를 유지하면서 팔꿈치를 움직여 특이점과 장애물을 피할 수 있습니다.


9. 경로와 궤적은 다르다

Path는 공간에서 지나갈 자세의 순서입니다. Trajectory는 각 지점에 시간, 속도와 가속도를 붙인 것입니다. 실제 Motor는 시간이 없는 Path를 실행할 수 없습니다.

목표 Pose → IK 후보 → 충돌 없는 Path → 시간 파라미터화 → Joint Trajectory → Controller → Motor
너무 크면 생기는 문제
Velocity 충돌 에너지·Tracking Error 증가
Acceleration 구조 진동·Grip Slip·Motor Peak Torque
Jerk 충격·기구 수명 저하·Payload 흔들림

각 Joint를 같은 시간에 출발·도착하도록 동기화해야 Tool 경로가 예측 가능합니다. 단순히 목표각을 한꺼번에 보내는 것은 충돌 없는 Cartesian 움직임을 보장하지 않습니다.

"""Cubic smoothstep으로 한 관절의 부드러운 위치 명령을 만든다."""
def smooth_joint(q0, q1, duration, dt=0.02):
    samples = []
    count = int(duration / dt) + 1
    for i in range(count):
        t = min(i * dt / duration, 1.0)
        s = 3*t*t - 2*t*t*t
        samples.append(q0 + (q1-q0)*s)
    return samples

이 예제는 개념 설명용입니다. 실제 Robot에서는 Controller의 제한, 모든 Joint 동기화, 가속도·Jerk와 Emergency Stop을 포함한 검증된 Trajectory Generator를 사용하십시오.


10. 구동기, 감속기와 센서

로봇팔 Joint는 Motor 하나로 끝나지 않습니다.

구성 요소 역할 대표 문제
Motor 전기 에너지를 Torque로 변환 과열·전류 제한
Gearbox Torque 증가·속도 감소 Backlash·마찰
Brake 전원 차단 시 축 유지 마모·해제 실패
Encoder Joint 위치·속도 측정 Zero Offset·분해능
Torque Sensor 외력·충돌 추정 Bias·온도 Drift
Bearing 하중 지지 유격·수명

Base 쪽 Joint는 뒤의 모든 Link와 Payload를 들어야 하므로 큰 Torque가 필요합니다. Wrist는 가벼워야 빠르게 움직일 수 있습니다. Payload 사양은 질량만이 아니라 무게중심 거리와 관성까지 포함합니다.

정적 Torque ≈ 질량 × 중력가속도 × Joint에서 무게중심까지 거리

2 kg Tool의 무게중심이 Joint에서 0.4 m 떨어져 있으면 약 2×9.81×0.4 = 7.85 N·m가 정지 상태에서만 필요합니다. 가속과 Robot Link 자체 무게는 별도입니다.


11. End-effector와 파지

End-effector는 작업을 수행하는 마지막 장치입니다. Gripper, Vacuum Cup, 용접 Torch, Screwdriver와 Camera가 될 수 있습니다.

방식 적합한 대상 확인할 것
Parallel Gripper 상자·부품 폭·힘·마찰·평행도
Vacuum 평평하고 밀폐되는 표면 누설·표면 거칠기
Soft Gripper 과일·변형 물체 반복 정밀도·오염
Magnetic 철 부품 잔류 자력·전원 상실

파지 성공을 "Gripper를 닫았다"로 판단하면 안 됩니다. Finger 위치, Motor Current, Force Sensor, Vacuum Pressure와 들어 올린 뒤의 Vision을 조합해 물체가 실제로 잡혔는지 확인해야 합니다.

Pre-grasp 접근 → 저속 직선 접근 → 접촉·정렬 → Gripper 닫기 → 파지 확인 → 수직 후퇴 → 운반


12. URDF와 ROS 2의 로봇 모델

URDF는 Link의 Visual·Collision·Inertial과 Joint의 Parent·Child·Axis·Limit을 정의합니다.

<joint name="elbow_joint" type="revolute">
  <parent link="upper_arm_link"/>
  <child link="forearm_link"/>
  <origin xyz="0 0 0.32" rpy="0 0 0"/>
  <axis xyz="0 1 0"/>
  <limit lower="-2.2" upper="2.2"
         velocity="1.5" effort="45.0"/>
</joint>
  • Visual Mesh가 예뻐도 Collision Geometry가 틀리면 Planning이 위험합니다.
  • Inertial이 없거나 비현실적이면 Simulation이 불안정합니다.
  • Joint Axis와 실제 양의 회전 방향이 일치해야 합니다.
  • Limit은 Manufacturer 사양과 안전 Margin을 반영해야 합니다.
check_urdf robot.urdf
ros2 run robot_state_publisher robot_state_publisher --ros-args \
  -p robot_description:="$(xacro robot.urdf.xacro)"
ros2 topic echo /joint_states --once
ros2 run tf2_tools view_frames

robot_state_publisher는 URDF와 /joint_states를 이용해 움직이는 Link TF를 발행합니다. Fixed Joint는 /tf_static으로 제공됩니다.


13. ros2_control과 JointTrajectoryController

일반적인 실행 흐름은 다음과 같습니다.

MoveIt 또는 작업 Node → FollowJointTrajectory Action → JointTrajectoryController → Hardware Interface → Drive → Encoder Feedback

arm_controller:
  ros__parameters:
    joints:
      - joint_1
      - joint_2
      - joint_3
      - joint_4
      - joint_5
      - joint_6
      - joint_7
    command_interfaces: [position]
    state_interfaces: [position, velocity]
    action_monitor_rate: 20.0
    allow_partial_joints_goal: false
ros2 control list_controllers
ros2 control list_hardware_interfaces
ros2 action info /arm_controller/follow_joint_trajectory
ros2 topic echo /joint_states

Python으로 짧은 관절 목표 보내기

import rclpy
from rclpy.action import ActionClient
from rclpy.node import Node
from control_msgs.action import FollowJointTrajectory
from trajectory_msgs.msg import JointTrajectoryPoint
from builtin_interfaces.msg import Duration

class ArmGoal(Node):
    def __init__(self):
        super().__init__('arm_goal')
        self.client = ActionClient(
            self, FollowJointTrajectory,
            '/arm_controller/follow_joint_trajectory')

    async def send(self):
        goal = FollowJointTrajectory.Goal()
        goal.trajectory.joint_names = [f'joint_{i}' for i in range(1, 8)]
        point = JointTrajectoryPoint()
        point.positions = [0.0, -0.5, 0.0, 1.0, 0.0, -0.5, 0.0]
        point.time_from_start = Duration(sec=5)
        goal.trajectory.points = [point]
        await self.client.wait_for_server()
        handle = await self.client.send_goal_async(goal)
        if not handle.accepted:
            self.get_logger().error('Trajectory가 거부되었습니다')
            return
        result = await handle.get_result_async()
        self.get_logger().info(f'error_code={result.result.error_code}')

실제 Robot에서는 현재 상태, Joint Limit, 충돌 여부와 Controller 활성 상태를 먼저 확인하고 Cancel·Timeout·Fault 처리를 추가해야 합니다.


14. MoveIt 2의 Motion Planning

MoveIt 2는 Robot Model, Planning Scene, Kinematics Solver, Motion Planner와 Controller 연결을 조합합니다. 목표는 Joint Space 또는 End-effector Pose로 줄 수 있고, 기본적으로 자기 충돌과 환경 충돌을 검사합니다.

RobotState + PlanningScene + Goal Constraints
                    ↓
              Motion Planner
                    ↓
       충돌 없는 Path + 시간 파라미터화
                    ↓
       FollowJointTrajectory Controller

Motion Planner가 Path를 찾았다는 것만으로 실행 가능한 것은 아닙니다. 시작 상태가 실제 Robot과 맞는지, 속도·가속도 제한이 적용됐는지, Planning 이후 장애물이 움직이지 않았는지 확인해야 합니다.

ros2 launch moveit2_tutorials move_group.launch.py
ros2 topic echo /planning_scene --once
ros2 action list | grep move
ros2 action list | grep trajectory

7축 팔에서는 같은 목표 Pose에 많은 IK 해가 있으므로 현재 자세와 가까운 Seed, Joint Limit 여유, 충돌 거리와 특이점 비용이 중요합니다.


15. Pick-and-place를 단계로 설계하기

  1. Object Pose와 공분산을 얻습니다.
  2. Grasp 후보와 Pre-grasp Pose를 생성합니다.
  3. IK·Joint Limit·자기 충돌을 검사합니다.
  4. 작업대와 주변 물체를 Planning Scene에 넣습니다.
  5. Pre-grasp까지 충돌 없는 경로를 계획합니다.
  6. 제한 속도로 직선 접근합니다.
  7. Gripper를 닫고 Sensor로 파지를 검증합니다.
  8. 수직으로 들어 올리고 부착 물체를 Scene에 반영합니다.
  9. 바구니 위 Place Pose로 이동합니다.
  10. 저속 하강, Gripper 열기, 분리 확인 후 후퇴합니다.

물체를 잡은 뒤에는 Robot의 Collision Geometry와 Payload가 바뀝니다. MoveIt Planning Scene에 Attached Collision Object로 반영하지 않으면 잡은 물체가 주변과 부딪혀도 Planner가 모릅니다.


16. 안전과 실제 로봇 운용

위험 원인 방어
충돌·끼임 잘못된 경로·사람 진입 Fence·Scanner·제한 속도·정지
낙하 파지 실패·전원 상실 파지 확인·Brake·낙하 영역 통제
과부하 Payload·무게중심 초과 Payload 설정·Torque 감시
급격한 움직임 단위·Frame·IK Branch 오류 Limit·Preview·속도 Scaling
자기 충돌 Collision Model 오류 URDF 검증·Planning Scene
통신 단절 Network·Controller Fault Watchdog·Hold·Protective Stop

비상 정지는 일반 Software Node 하나에만 의존하면 안 됩니다. Safety-rated Controller, Drive STO, 안전 입력과 위험성 평가가 필요한 영역입니다. Simulation 성공은 실제 안전을 보장하지 않습니다.

실제 Robot에 처음 적용할 때는 Tool과 Payload를 확인하고, 작업 공간을 비우고, 최소 속도에서 한 단계씩 실행하며, 언제든 정지할 수 있는 위치에서 시험하십시오.


17. 진단과 검증 체크리스트

ros2 topic hz /joint_states
ros2 topic echo /joint_states --once
ros2 control list_controllers
ros2 action info /arm_controller/follow_joint_trajectory
ros2 run tf2_ros tf2_echo base_link tool0
검사 통과 기준
Joint 이름·순서 URDF·Controller·Trajectory가 일치
단위·부호 rad·m, 양의 방향이 Model과 일치
Zero Pose 실제와 RViz Link 자세가 일치
Joint Limit Software와 Hardware Limit 모두 검증
TF Base·Flange·TCP 변환이 실제 치수와 일치
Collision 자기 충돌·작업대·Tool 형상 포함
Trajectory 속도·가속도·Jerk·Tracking Error 제한
Payload 질량·무게중심·관성이 설정 범위
Fault 통신 단절·Encoder 오류·과전류 때 안전 정지
Recovery 원인 확인 없이 자동 재시작하지 않음

ROBOT GLOSSARY

용어 정리

전체 용어 찾아보기 →
Manipulator로봇팔·매니퓰레이터
여러 Link와 Joint를 구동해 Tool을 원하는 위치와 자세로 옮기는 로봇 기구입니다.
Link링크
로봇의 관절과 관절 사이를 연결하며 해석에서 강체로 취급하는 몸체입니다.
Joint관절
Parent Link와 Child Link 사이에서 허용되는 회전·직선 이동 또는 고정 관계입니다.
Degree of Freedom자유도
로봇이 서로 독립적으로 바꿀 수 있는 운동 변수의 수입니다.
End-effector말단장치
Gripper·용접기처럼 로봇팔 끝에 달려 실제 작업을 수행하는 장치입니다.
TCP도구 중심점
Gripper 중심이나 용접봉 끝처럼 작업 위치와 자세의 기준이 되는 Tool Center Point입니다.
Forward Kinematics정기구학
관절 변수로부터 Base 기준 Tool의 위치와 자세를 계산하는 과정입니다.
Inverse Kinematics역기구학
원하는 Tool 위치와 자세를 만드는 관절 변수 조합을 찾는 과정입니다.
Jacobian자코비안
관절 속도와 Tool의 선속도·각속도 사이 관계를 나타내는 행렬입니다.
Singularity특이점
로봇팔이 특정 방향의 운동 능력을 잃거나 관절 속도가 과도하게 커질 수 있는 자세입니다.
Workspace작업공간
Joint Limit·충돌·기구 구조를 고려할 때 Tool이 도달할 수 있는 위치와 자세의 집합입니다.
Trajectory궤적
경로의 각 지점에 시간·속도·가속도 조건을 부여한 실행 가능한 운동 계획입니다.
Payload가반하중
로봇팔이 허용된 성능과 안전 범위에서 다룰 수 있는 Tool과 물체의 질량·무게중심·관성 조건입니다.
Planning Scene계획 장면
로봇 상태와 환경 장애물·부착 물체를 모아 충돌 검사와 Motion Planning에 사용하는 세계 모델입니다.
Attached Collision Object부착 충돌 물체
로봇이 잡아 함께 움직이는 물체를 Robot 일부처럼 충돌 검사하도록 등록한 객체입니다.

연습 문제

  1. 4축·6축·7축 로봇팔이 표현할 수 있는 Tool Pose 차이를 설명하세요.
  2. Revolute·Prismatic·Fixed Joint의 URDF 예제를 작성하세요.
  3. 2축 팔의 정기구학 결과를 세 관절 자세에서 계산하세요.
  4. 같은 목표에 Elbow-up·Elbow-down IK 해를 구하고 차이를 그리세요.
  5. 목표가 작업공간 밖일 때 IK가 실패하도록 단위 시험을 작성하세요.
  6. 팔이 완전히 펴진 자세에서 Jacobian 특이점을 설명하세요.
  7. 7축 여유 자유도로 팔꿈치를 움직이면서 TCP Pose를 유지하는 이유를 조사하세요.
  8. Path와 Trajectory의 차이를 위치·시간·속도 관점에서 설명하세요.
  9. Tool 2 kg, 무게중심 거리 0.4 m의 정적 Torque를 계산하세요.
  10. URDF Visual과 Collision Geometry가 다를 때 생기는 위험을 설명하세요.
  11. /joint_states, TF와 Controller Joint 순서를 자동 검사하세요.
  12. Pick-and-place State Machine과 각 단계의 실패 복구를 설계하세요.
  13. 파지 성공을 확인할 Sensor 세 가지와 판정 조건을 정하세요.
  14. 사람 진입·통신 단절·Payload 낙하 시험 절차를 작성하세요.

참고 자료


18. 확인 퀴즈 12문항

답을 선택한 뒤 정답 확인을 누르세요. 정답과 해설은 제출 후에 표시됩니다.

1. Link와 Link 사이에서 허용되는 운동을 정의하는 것은?

2. 공간에서 Tool 위치와 자세를 자유롭게 지정하는 데 일반적으로 필요한 자유도는?

3. 7축 팔의 추가 자유도를 활용하는 대표 목적은?

4. 관절값에서 Tool Pose를 계산하는 것은?

5. 역기구학 해에 대한 올바른 설명은?

6. Jacobian이 연결하는 것은?

7. 특이점 근처에서 나타나는 현상은?

8. Path와 Trajectory의 핵심 차이는?

9. TCP는 무엇인가?

10. 물체를 잡은 뒤 Planning Scene에서 해야 할 일은?

11. 파지 성공을 확인하는 올바른 방법은?

12. 협동 Robot에 대한 올바른 설명은?