본문 바로가기

반응형

FOSCAR-(Autonomous Driving)/ROS 스터디

(186)
[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) ..
[2025 ROS 스터디] 전예림 #3주차 - ROS 기본 프로그래밍 1. 프로그래밍 전에 알아둬야 할 사항1) 표준단위: SI 단위 사용(angle: radian, frequency: hertz, force: newton, power: watt, voltage: volt, length: meter, mass: kilogram, time: second, current: ampere, temprature: celsius)2) 좌표 표현 방식(x: forward, y: left, z: up), 오른손의 법칙3) 프로그래밍 규칙2. 토픽, 퍼블리셔, 서브스크라이버1) 패키지 생성cd ~/catkin_ws/srccatkin_create_pkg ros_tutorials_topic message_generation std_msgs roscpp(topic_publisher이 messa..
[2025 ROS 스터디] 한상민 #2주차-ROS의 중요 컨셉, 명령어, 도구 1. ROS의 핵심 구성 요소노드(Node)ROS에서 노드는 실행 가능한 독립적인 프로그램 단위로, 각 노드는 로봇의 특정 기능(예: 센서 입력, 모터 제어 등)을 담당한다.일반적으로 하나의 로봇은 수십 개 이상의 노드로 구성되며, 각 노드는 서로 통신하여 협력한다.패키지(Package)패키지는 ROS에서 가장 기본적인 소스코드 단위로, 노드, 메시지, 서비스 정의, 실행 스크립트 등이 포함된다.재사용성과 유지보수를 위해 관련 기능들을 하나의 패키지로 묶어 관리한다. 2. 노드 간 통신 구조메시지(Message)와 토픽(Topic)메시지는 노드 간에 주고받는 데이터 형식을 의미하며, 예를 들어 std msgs/String, sensor msgs/Image 등이 있다.토픽은 메시지를 주고받는 채널로, 하나..

반응형