목록ROKEY (14)
인공지능 요모조모

🖥️ ROS2 CLI(Command Line Interface)▪️터미널 명령어를 통해 다양한 노드 제어와 시스템 정보 조회, 패키지 실행 지원📌 기본 구조ros2 [verbs] [sub-verbs] [options] [arguments]verbs: 동작 유형 (예: topic, node, run)sub-verbs: 세부 동작 (예: list, info, echo)options: 실행 방식 설정 (예: -h, --ros-args)arguments: 대상 패키지, 노드, 토픽 등의 이름✅ -h 옵션으로 모든 명령어에 대한 도움말 확인 가능!📌 자주 사용하는 명령어✅ 노드 실행ros2 run 예:ros2 run turtlesim turtlesim_node✅ 런치 파일 실행ros2 launch 예:r..

🔐 ROS2 보안(Security) 설정 - SROS2 사용법ROS2에서는 SROS2 패키지를 통해 DDS-Security 기능 제공노드 간 통신에 인증 및 암호화를 적용하여 안전한 메시지 송수신 환경을 구성 가능🔧 1. 보안 키 저장소 생성먼저 보안 키를 저장할 디렉토리를 만들고, keystore를 생성$ mkdir ~/sros2_demo$ cd ~/sros2_demo$ ros2 security create_keystore demo_keystore🔐 2. 보안 enclave 생성 (노드별 인증 키 생성)각 노드별로 사용할 enclave를 생성$ ros2 security create_enclave demo_keystore /talker_listener/talker$ ros2 security crea..

🔄 ROS2 Lifecycle 노드 개념 정리ROS2에서는 체계적인 노드 상태 관리를 위해 Lifecycle 인터페이스 제공!이를 통해 노드 상태 확인 또는 상태 전환 제어/자동화 가능✅ Lifecycle 노드ROS2에서 노드의 상태를 정의하고 제어할 수 있는 상태 기반 인터페이스노드는 주요 상태(primary state)와 전환 상태(transition state)를 가짐상태 전환을 통해 노드 구성, 활성화, 비활성화, 정리 등의 제어 가능ex) 카메라 노드 실행 전, 포트 연결 상태 점검실행 중 오류 발생 시 일시 중단 → 문제 해결 후 재시작 가능 🔧 운영체제의 프로세스 상태와 유사성운영체제(OS)도 여러 프로세스를 효율적으로 관리하기 위해 상태 전이를 사용OS 프로세스 상태ROS2 노드 상태..

4️⃣rclpy (ROS Client Library for Python)rcl: ROS2 노드를 만들고 통신할 수 있도록 돕는 핵심 요소▪️C++로 작성된 ROS2 코어 라이브러리(rcl)를 Python 환경에서 활용할 수 있도록 래핑(wrapping)한 것이 특징▪️사용자들은 Python의 간결한 문법과 다양한 라이브러리를 ROS2 기반 시스템에 쉽게 통합 가능 👉🏻rclpy == Python에서 ROS2를 사용할 수 있도록 제공하는 라이브러리✔️ 구성요소▪️Node▫️ROS2 시스템의 기본 실행 단위▫️노드는 각각 고유의 이름을 가지며, pub/sub, service/client 등을 통한 통신을 담당▪️Publisher, Subscriber▫️ publisher는 데이터 토픽을 전송하고, sub..

ROS1 vs ROS2 ROS1ROS2통신 방식 자체 TCP/UDP 프로토콜 (ROS Master 필요) DDS 기반의 분산 통신 (Middleware 사용, Master 없음) 멀티 플랫폼 리눅스 중심 리눅스, 윈도우, macOS, RTOS 등 지원 실시간성실시간성 미지원 실시간성 고려 가능 (RTOS 호환) 보안 보안 미지원 DDS 보안 설정 가능 멀티 노드 실행 단일 머신에 최적화 네트워크 기반의 분산 시스템 최적화 빌드 시스템 catkin (CMake 기반) ament (CMake, Python 등 다양한 확장성) ROS2 Interface▪️노드 간 데이터를 주고받을 때 사용되는 데이터의 형태▫️역할: .msg, .srv, .action 파일을 정의하는 전용 패키지▫️목적: 토픽, 서..

BAG▪️시스템의 토픽에 게시된 데이터를 기록 및 재생하기 위한 기능▪️각 토픽에서 수집된 데이터를 데이터베이스에 저장하며, 이를 재생하여 테스트 및 실험 결과 재현 가능# BAG 파일 레코딩$ ros2 bag record -o my_bag topic_name- topic_name에서 수신되는 메시지를 "my_bag.bag"라는 BAG 파일에 레코딩함# BAG 파일 재생$ ros2 bag play my_bag- "my_bag.bag"라는 BAG 파일을 재생# BAG 파일 정보 표시$ ros2 bag info my_bag- "my_bag.bag"라는 BAG 파일의 정보를 표시turtlesim을 이용한 BAG 예제▶ BAG 레코딩▪️1. 첫 번째 터미널: turtlesim_node 실행$ ros2 run t..

선형 회귀(Linear regression)▪️독립 변수와 종속 변수 간의 선형 관계를 모델링▪️즉, 독립 변수의 변화에 따라 종속 변수가 선형적으로 변함▪️모델은 일차 함수 형태인 직선으로 표현됨$$y=ax+b$$ ✅x는 변수이므로, 어떤 값이든 적용될 수 있지만, 기울기 a와 절편 b는 모르는 상태✅즉, 기울기와 절편의 값을 알게된다면 원하는 x값을 대입했을 때 y값을 얻을 수 있다는 것다항 회귀(Polynomial regression) ▪️선형 회귀와 유사하지만, 독립 변수와 종속 변수 간의 관계를 다항식으로 모델링▪️다항식 특징: 비선형 모델을 사용하지 않으면서도 일부 비선형 관계를 포착할 수 있는 방법▪️= 독립 변수의 변화에 따라 종속 변수가 비선형적으로 변화할 수 있음 $$y=anxn+ ....

목적함수(Objective Function) ▪️가장 큰 범위의 개념으로, 모델을 학습하면서 최적화(최소/최대)하고 싶어하는 함수손실함수(Loss Function) ▪️개별 샘플(데이터 한 개)에 대한 오차를 계산하는 함수▪️모델이 예측한 값과 실제 값 사이의 차이를 측정AE (Absolute Error)SE (Squared Error)RSE (Root Squared Error)비용함수(Cost Function) ▪️손실 함수의 평균값을 계산하여 전체 모델 성능을 평가하는 함수▪️비용 함수는 전체 데이터셋을 기준으로 함MSE (Mean Squared Error)MAE (Mean Absolute Error)BCE (Binary Cross Entropy)✅ 선형 회귀(Linear Regression) 손실 ..