ROS2 혼자 공부하는 로봇 SW 직접 만들고 코딩하자
2025.12.26 ~
기본개념 공부
Chapter2. 터미널과 bashrc 그리고 리눅스 익숙해지기
4.2 humble 설정을 alias로 지정하기
alias humble="source /opt/ros/humble/setup.bash; echo \"ROS2 humble is activated\""
→ bash에 humble이라고 치면 ~~ 명령어를 실행시킴, source ~/.bashrc도 같은 방식으로 sb로 등록
5. ROS2 도메인 설정
export ROS_DOMAIN_ID=<ID>
→ 같은 공간에서 ros2를 다 같이 사용할 떄, 나 혼자 독자적으로 사용하기 위함. 보통 alias로 bashrc에 등록하여 사용
Chapter3. ROS2 기본 명령 익히기
3. 다시 강조하는 setup.bash 환경
sudo apt install명령으로 설치된 패키지들의 환경은/opt/ros/humble경로에setup.bash환경을 읽어오면 된다. bash 파일은source명령으로 읽으면 터미널에 세팅된다. 결국 어떤 터미널을 실행한 후 어떻게든source /opt/ros/humble/setup.bash라는 명령어가 실행되어야 한다.
6.8 토픽의 흐름을 보여주는 rqt_graph
rqt_graph에서 동그라미는 노드를, 사각형은 토픽을 의미한다.
7.2 ros2 action list
- 보통의 흐름 :
action혹은topic list확인 (확인 할 때는-t까지 사용하여 타입까지 확인) → 타입을 이해하기 위해ros2 interface show
Chapter4. Python으로 ROS2 토픽 다루기
3. Jupyter의 간단한 사용법 및 Python 기초
- 실행은
Shift+Enter
Chapter7. 패키지 만들고 토픽 다루기
3. 처음으로 패키지 만들기
tree명령어를 이용하면 하위 파일들을 모두 확인 가능 (설치필요)- 워크스페이스 빌드하고 나서는
source를 해당 workspace의install을 참조하도록 하여 사용 해야한다.alias ss="source ./install/local_setup.bash"[터미널이 열릴 때마다 해야함] - python; ROS2 구조에서 code에 파일을 추가하고 나면,
setup.py에서 메인을 어떤 것으로 사용할 것인지 명시
Chapter8. 패키지 정의 만들고 토픽과 서비스에서 다루기
2.3 새로 정의된 msg를 포함한 패키지 빌드하기
- 여기선
ament_cmake를 이용 - C++; ROS2 구조에서 code에 파일을 추가하고 나면,
CMakeLists.txt,package.xml에서 메인을 어떤 것으로 사용할 것인지 명시
4. 서비스 정의 Service definition 내가 한 번 만들어보자
- 뭔가 구현해야 할 알고리즘을 짤 때, ROS상에서 바로 하면 어디서 오류가 나는지 정확히 파악하기 어렵기에 다른 툴로 먼저 완성 시키고, 로스로 옮기는 게 나음 (책의 저자는
jupyter notebook을 사용하여 완성 후 ROS로 변환)
Chapter10. Parameter 다루기
2. 터미널 명령으로 파라미터 사용해보기
param list를 보기 위해선, 메인 노드를 작동 시켜놔야한다.- 특정 노드내의 설정값만 추출 : EX.
ros2 param dump /turtlesim > turtlesim.yaml
Chapter11. 디버그와 관찰을 위한 여러 도구들
2. 로그
rqt>plugins>logging>console: 로그를 자세히 확인 가능- 로그 메시지의 수준은 Fatal, Error, Warn, Info, Debug 가 있으며, 코드를 작성할 때 로그의 단계를 작성하여 사용
3. rqt
rqt>plugins>visualization>plot; 로봇의 위치를 그래프를 통해 정확히 분석 가능 (기능이 제대로 동작 중인지, 이동거리가 흡사한지 등등..)topic list확인 및 publisher도 가능하다.rqt>plugins>logging>bag: bag파일을rqt로 재생 가능
5. ROSLAUNCH
roslaunch의 경우도,setup.py에 등록 해줘야한다.
* 기타사항
윈도우 공간 분할 무료 어플
- NIUBI Partition Editor Free Edition
MSI 노트북 윈도우 11 & 우분투 듀얼 부팅 트러블슈팅 정리
- 정상적으로 우분투 설치를 마쳤음에도, 부팅모드 선택 없이 윈도우만 켜짐 (boot option 우선순위를 설정해도 똑같음)
➡️ UEFI Hard Disk Drive BBS Priorities 칸에 들어가 boot option 변경을 통해 해결
- 6장 팁