ROS 프로그래밍 규칙( 코드 스타일 )
- 이름 규칙에는 snake_cas, CamelCased, ALL_CAPITALS와 같이 3종류의 네이밍을 기본으로 사용한다.
- 파일 이름 및 변수명, 함수명에는 모두 소문자로 snake_case 이름 규칙을 사용한다. 가독성을 해치는 축약어는 가능한 사용하지 않으며 확장자명은 모두 소문자로 표기한다.
- 타입 및 클래스는 CamelCased 이름 규칙을 사용하고 상수는 ALL_CAPITALS 이름 규칙을 사용한다.
단, ROS 인터페이스 파일은 /msg 및 /srv 또는 /action 폴더에 위치시키며 인터페이스 파일명은 CamelCased 규칙을 따른다. 그 이유는 *.msg 및 *.srv 또는 *.action 파일은 *.h(pp) 및 모듈로 변환한 후 구조체 및 타입으로 사용되기 때문이다.
그 이외에 특정 목적에 의해 만들어지는 파일 이름은 예외적으로 대소문자 규칙을 따르지 않는다. ( Ex. package.xml, CMakeLists.txt, README.md, LICENSE 등 )
--
Practice of the Node, Topic, Service( client, server )
*cd 의 의미 : Change Directory로 리눅스 기본 명령어이며 cd 다음으로 오는 경로로 이동한다는 의미
*~ 의 의미 : home을 말함
패키지 설정 파일( package.xml ) 수정
ROS의 필수 설정 파일 중 하나인 package.xml은 패키지 정보를 담은 XML 파일로서 패키지 이름, 저작자, 라이선스, 의존성 패키지 등을 기술하고 있다.
gedit은 기본적으로 제공되는 텍스트 편집기로, 코드 수정, 텍스트 파일 편집 등 다양한 용도로 사용이 가능하다.
ROS 패키지의 package.xml이나 CMakeLists.txt 파일과 같은 설정 파일을 수정할 때 유용하다.
--
--
파라미터 설정
ROS 2에서 파라미터를 사용하려면 다음과 같이 크게 3가지 함수가 필요하다.
1. declare_parameter 함수
2. get_prameter 함수
3. add_on_set_parameters_callback 함수
- declare_parameter 함수는 노드에서 사용할 파라미터의 고유 이름을 지정하고 초깃값을 설정한다.
- get_parameter 함수는 노드에서 사용할 파라미터의 값을 불러오는 것으로 선언된 파라미터 고유 이름을 이용한다. 이는 주로 런치 파일에서 호출된 *.yaml 확장자를 가지는 파라미터 파일에 저장된 값을 불러오는데 사용된다.
- add_on_set_parameters_callback 함수는 서비스 형태로 파라미터 변경 요청이 있을 때 사용되는 함수로 지정된 콜백 함수를 호출하게 된다.
'**Autonomous driving tech. > *ROS2' 카테고리의 다른 글
[ROS2] Concept of the Node, Topic, Service( client, server ) (1) | 2024.12.24 |
---|---|
[Gazebo] 2D SLAM by using rviz2 (0) | 2024.12.20 |
[Gazebo] Obstacle avoidance algorithm (1) | 2024.12.20 |
[Gazebo] Teleoperation practice (0) | 2024.12.15 |
[Gazebo] Receiving LiDAR point cloud data (0) | 2024.12.14 |