공부/ROS

🚀 [ROS2 Humble] Launch와 RViz: 왜 필요할까요?

projectlim 2024. 9. 25. 14:59
728x90
반응형
SMALL

안녕하세요! 😊
오늘은 ROS에서 왜 노드(Node)나 토픽(Topic)이 아닌 Launch 파일이 필요한지 알려드리려 합니다.
그리고 RViz의 역할Launch 파일과의 관계도 살펴볼게요!


🎯 ROS2 Launch 파일이 중요한 이유

🤔 "ros2 run으로 노드를 실행하면 되는데, 왜 launch 파일을 써야 할까?"
👉 그 이유는 효율적인 실행 관리 때문입니다!

💡 Launch 파일을 사용하면?
자동화된 실행 🚀

  • 여러 개의 노드와 파라미터를 한 번에 실행할 수 있습니다.
  • 복잡한 시스템을 쉽게 시작하고 관리할 수 있어요!

구성 관리 🛠

  • 시스템의 여러 요소(노드, 파라미터 등)를 한 곳에서 관리할 수 있습니다.
  • 설정을 변경할 때 개별 노드를 수정할 필요 없이, launch 파일만 수정하면 끝!

재사용성 🔄

  • 동일한 launch 파일을 여러 프로젝트에서 재사용할 수 있습니다.
  • 코드 중복을 줄이고, 유지보수를 쉽게 할 수 있어요.

디버깅 지원 🔍

  • 노드 간 의존성을 명확히 정의할 수 있어요.
  • 특정 노드만 재실행하는 등, 문제 발생 시 빠르게 해결할 수 있습니다!

🖥 RViz의 역할과 중요성

🚀 RViz란?
👉 ROS에서 로봇 데이터를 시각화할 수 있는 강력한 툴!

🔹 실시간 데이터 시각화 👀

  • 로봇의 센서 데이터, 경로 계획, 환경 맵 등을 한눈에 확인할 수 있어요.
  • 로봇이 어디로 가고 있는지, 센서가 무엇을 감지하는지 실시간으로 볼 수 있습니다.

🔹 디버깅 도구 🛠

  • RViz를 사용하면 로봇이 수집한 데이터를 분석하고, 동작을 확인할 수 있어요.
  • 센서 데이터, 로봇 모델, TF(좌표 변환) 등을 시각적으로 표현하므로 문제를 빠르게 파악할 수 있습니다.

🔹 플러그인 아키텍처 🏗

  • RViz는 다양한 플러그인을 지원하여 사용자 맞춤형 시각화가 가능해요.
  • 필요에 따라 기능을 추가하거나 변경할 수 있습니다!

🔄 ROS2 Launch 파일과 RViz의 연관성

Launch 파일과 RViz는 로봇 시스템 개발과 디버깅을 더욱 효율적으로 만들기 위해 함께 사용됩니다.

📌 Launch 파일을 사용하면?

통합 실행 💡

  • Launch 파일을 통해 RViz와 다른 노드들을 동시에 실행 가능!
  • 예를 들어, Gazebo(시뮬레이터)와 RViz를 함께 실행하여 로봇의 움직임을 실시간으로 시각화할 수 있어요.

구성 파일 관리 📁

  • RViz의 설정 파일을 launch 파일에 포함하면,
    매번 수동으로 설정을 변경하지 않아도 자동으로 동일한 시각화 환경을 적용할 수 있습니다!

💡 이렇게 하면 launch 파일 실행 시 RViz도 자동으로 실행되면서 미리 저장한 설정이 적용됩니다!

런치파일로 노드들을 개별로 실행시키는 게 아니라 모아서 열 수 있다.

 

노드와 토픽확인

 

rqt_graph를 입력해서

 

 

https://moveit.picknik.ai/humble/doc/tutorials/getting_started/getting_started.html

 

Getting Started — MoveIt Documentation: Humble documentation

Install ROS 2 Humble. It is easy to miss steps when going through the ROS 2 installation tutorial. If you run into errors in the next few steps, a good place to start is to go back and make sure you have installed ROS 2 correctly. One that users commonly f

moveit.picknik.ai

여기서 moveit설치하시고

 

링크와 조인트를 확인할 수 있습니다. 

그렇게 만들어지고 연결되어 있는 launch파일들을 확인하고

실행시켜보면서 어떻게 구조를 이뤄져 있는지 확인할 수 있었습니다!

 결론: ROS2에서 Launch와 RViz는 필수!

💡 ROS2 Launch 파일이 필요한 이유
✅ 여러 노드를 자동으로 실행
✅ 시스템 구성 요소를 효율적으로 관리
✅ 코드 재사용성과 유지보수성 향상
✅ 디버깅을 쉽게 만들기

💡 RViz가 중요한 이유
✅ 로봇 데이터를 실시간으로 시각화
✅ 디버깅을 더욱 직관적으로 수행 가능
✅ 다양한 플러그인으로 기능 확장 가능

📌 결국, Launch 파일을 활용하면 RViz도 더 편하게 사용할 수 있어요! 🚀


💬 여러분은 ROS2에서 Launch와 RViz를 어떻게 활용하고 계신가요?
댓글로 여러분의 경험을 공유해주세요! 😃🚗💨

728x90
반응형
LIST