본문 바로가기

반응형

FOSCAR-(Autonomous Driving)/ROS 스터디

(188)
[2025 ROS 스터디] 조원영 #4주차- SLAM과 내비게이션 1. 내비게이션과 구성 요소Navigation = 차량 자동 항법 장치위치 : 로봇의 위치를 계측/측정하는 기능GPS (Global Positioning System)오차날씨실외Indoor Positioning Sensor (IPS)Landmark (Color, IR Camera)Indoor GPSWifi SLAMBeacon추측 항법 (Dead Reckoning)양 바퀴 축의 회전 값을 이용이동 거리와 회전 값을 계산, 위치 측정바닥 슬립, 기계적, 누적 오차 발생IMU 등의 관성 센서, 필터로 위치 보상칼만필터 시리즈잡음이 포함되어 있는 선형 시스템에서 대상체의 상태를 추적하는 재귀 필터베이즈 확률 기반예측 (Prediction)모델을 상정하고 이 모델을 이용해 이전 상태로부터 현재 시점의 상태를 예측..
[2025 ROS 스터디] 조원영 #3주차- ROS 기본 프로그래밍 ROS 기본 프로그래밍1. ROS 프로그래밍 전에 알아둬야 할 사항표준 단위Angle = RadianFrequency = HertzForce = NewtonPower = WattVoltage = VoltLength = MeterMass = KilogramTime = SecondCurrent = AmpereTemperature = Celsius좌표 표현 방식X = Forward, Y = Left, Z = Up오른손 법칙프로그래밍 규칙under_scored: 패키지, 토픽, 서비스 등CamelCased: 타입, 클래스, 구조체, 함수, 메소드 등ALL_CAPITALS: 상수, 매크로 등2. Publisher와 Subscriber 노드 작성 및 실행1. 패키지 생성$ cd ~/catkin_ws/src$ cat..
[2025 ROS 스터디] 한상민 #3주차 - ROS 기본 프로그래밍 1.ROS 프로그래밍 전에 알아둬야 할 사항표준 단위: SI 단위 사용 (meter, second, radian 등)좌표 표현: x(앞), y(왼쪽), z(위), 오른손 법칙 적용명명 규칙:패키지/토픽/변수: under_scored클래스/타입/열거형: CamelCased상수/매크로: ALL_CAPITALS2. Topic 통신 (Publisher & Subscriber)퍼블리셔 노드에서 메시지를 특정 토픽으로 주기적으로 발행하고, 서브스크라이버 노드에서는 해당 토픽의 메시지를 수신하여 처리한다.ros::Publisher ros_tutorial_pub = nh.advertise("ros_tutorial_msg", 100); ros_tutorials_topic::MsgTutorial msg; msg.stamp..
[2025 ROS 스터디] <문승주> #2주차-<ROS의 중요컨셉, 명령어, 도구> 1. ROS 용어 정리1.1 NodeROS 시스템에서 실행 가능한 최소 단위의 프로세스개발자가 기능별로 자유롭게 분할해 설계각 노드는 독립적으로 유닛 테스트 가능ROS의 대표적인 특징 중 하나1.2 Package하나 이상의 노드와 실행 정보를 묶은 디렉토리 구조종속 패키지들의 모음은 “메타 패키지(meta-package)”라고 칭함1.3 Message노드 간 데이터 통신을 위해 사용하는 데이터 구조기본 자료형(int32, float64, bool 등)메시지 내부에 다른 메시지를 포함하거나, 메시지 배열 형식도 정의 가능메시지 타입Topic연속적 단방향 통신1:1, 1:N, N:1, N:N 모두 지원네트워크·CPU 사용률이 높음(약 90%)Publisher: 토픽 송신자Subscriber: 토픽 수신자Se..
[2025 ROS 스터디] 장우혁 #3주차-ROS 기본 프로그래밍 1. ROS 기본 단위 및 규칙 2. 퍼블리셔와 서브스크라이버 만들기① 패키지 생성$cd ~/catkin_ws/src # 작업공간의 src 폴더로 이동 catkin_create_pkg ros_tutorials_topic message_generation std_msgs roscpp # 새 패키지 생성 (필요한 의존성: message_generation, std_msgs, roscpp 포함) ② 패키지 설정 파일 수정$gedit package.xml # 패키지 설정 파일 열기 # 아래 항목을 직접 수정 또는 추가해야 함: # message_generation # std_msgs # roscpp # message_runtime # std_msgs # roscpp * , 항목에 message_gen..
[2025 ROS 스터디] 윤윤지 #3주차-ROS 기본 프로그래밍 Ch 07 ROS 기본 프로그래밍 1.ROS 프로그래밍 전 알아둬야 할 사항 1) 표준단위 : SI 단위 사용 2) 좌표 표현 방식 : x(foward), y(left), z(up), 오른손 법칙(시계 반대 방향이 (+)) 3) 프로그래밍 규칙 2.Topic 작성 1) 패키지 생성cd: change directory 라는 기본 명령어~:틸드(홈폴더) 2) 패키지 설정 파일 수정 3) 빌드 설정 파일 수정 4)메시지 파일 작성 5) 퍼블리셔 노드 작성 6) 서브스크라이버 노드 작성 7) ROS 노드 빌드 8) 퍼블리셔 실행 *rostopic 9) 서브스크라이버 실행 10) 실행된 노드들의 통신 상태 확인 3.Service 작성 1) 패키지 생성 2) 패키지 설정..
[2025 ROS 스터디] 장우혁 #2주차 - ROS 중요 컨셉, 명령어, 도구 Node (노드) - ROS에서 가장 작은 실행 단위로, 하나의 실행 가능한 독립적인 프로그램이다. - 로봇의 특정 기능을 담당한다. (ex. 센서 입력, 모터 제어, 데이터 처리 등) - 여러 노드가 서로 메시지를 주고받으며 협업 → 모듈화된 구조 형성. Package (패키지) - 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶은 소스코드 단위. - 여러 패키지를 묶은 것은 메타패키지(meta-package)라 하며 따로 분리함. Message (메시지) - 노드 간 통신을 위한 데이터 형식 (ex. int, float, bool 등 변수 형태). - 간단한 데이터 구조 및 메시지들의 배열 형태도 사용 가능. *Message (메시지) 통신 방식 - Topic (토픽) - 단방..
[2025 ROS 스터디] 윤윤지 #2주차-중요 컨셉, 명령어, 도구 Ch 04 중요 컨셉 1.용어 정리 1)Node: 최소 단위의 실행 가능한 프로세서 2)Package: 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것 3)Message: 변수형태로 메시지를 통해 노드간의 데이터를 주고받게 된다. 4)Topic: 단방향, 연속성을 가진 통신방법-publisher (메시지를 보냄)-subscriber (메시지를 받음) 5)Service : 양방향, 일회성클라이언트 ->서버 (서비스 요청)서버 -> 서버 (서비스 응답) 6)Action : 중간결과에 대한 피드백을 전달 2.메시지 통신 개념 1) 마스터 구동(roscore) 2) 서브스크라이버 노드 구동(rosrun) 3) 퍼블리셔 노드 구동 4) 퍼블리셔 정보 알림 5) 퍼블리셔 노드에 접속 요청 6) ..

반응형