전체 글 56

패스트캠퍼스 환급챌린지 36일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 어제 배웠던 nav2_lifecycle_manager에대해서 자세히 알아보았다. [오늘의 수강 영상] [오늘의 이론] Lifecycle이란?ROS2에서 노드의 상태를 체계적으로 관리하기 위한 시스템이다. Lifecycle은 ROS1에서는 없었지만ROS2에서 managed node라는 개념이 생기면서생긴 시스템으로 노드의 상태 전환을 편하게 제어할 수 있다. Lifecycle을 사용하면 관리하는 노드들을재시작, 일시 중지, 실행을 쉽게 제어할 수 있게 된다. Lifecycle은 크게 3가지 상태로 나뉘게 된다. 1. unconfigured노드가 생성됐지만 초기화되지 않은 상태이다. 2. inactive초기화는 됐지만 활성화되지 않은 ..

카테고리 없음 2025.04.09

패스트캠퍼스 환급챌린지 35일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 작성된 지도를 수정하는 방법과지도를 다른 프로세스에서도 사용할 수 있도록하는 방법에 대해서 배웠다. [오늘의 수강 영상] [오늘의 이론] 어제 지도를 작성하고 저장해보았으니오늘은 저장한 지도를 수정하는 방법을 알아보자. 우리가 지도를 수정해야하는 경우는 아래와 같다.1. 불필요한 장애물 제거 또는 추가2. 경계선 정확도 개선3. 지형 특징 강조4. 노이즈 제거5. 아티팩트(artifact)제거 아티팩트란?센서노이즈에 의해 생기는 점이다. 잘못 그려진 지도의 예시는 아래 그림과 같다. 잘못 그려진 지도를 수정하는 방법에는아래와 같은 방법이 있다. 1. 에디터를 통해 직접 수정하기gimp이라는 포토샵과 같은 역할을 해주는 tool을사용..

카테고리 없음 2025.04.08

패스트캠퍼스 환급챌린지 34일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 어제 실행했던 cartographer에서 map을 모두 완성한 후저장하는 실습과 저장된 파일들에 대해서 알아보았다. [오늘의 수강 영상]  [오늘의 실습] 먼저 로봇을 이동시키면서 map을 완성했다. Cartographer 등의 2D LiDAR 기반 SLAM 알고리즘을 통해생성한 지도를 저장하려면 nav2_map_server 패키지의map_saver노드를 실행시켜야 한다. $ ros2 run nav2_map_server map_saver_cli -f bookstore 이를 원하는 위치에서 실행시켜 맵을 저장하면아래와 같이 두 개로 나뉘어서 저장된다. pgm파일과 yaml파일로 나뉘어서 저장된다. pgm파일이란?이미지 파일로서 Occ..

카테고리 없음 2025.04.07

패스트캠퍼스 환급챌린지 33일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 새로운 로봇으로 환경을 구축하고cartographer로 mapping을 진행했다. [오늘의 수강 영상] [오늘의 실습] 오늘부터는 ADLINK Technology 회사에서 만든NeuronBot을 사용하여 실습을 진행하였다. 오늘은 cartographer를 본격적으로 사용하기 전에환경을 구축하는 거에 치중하고 마지막에 cartographer로mapping을 진행해보았다. 로봇 환경 설정을 위해 필요한 요소들을 설치해 줬다.$ sudo apt update && sudo apt install -y \   build-essential \   cmake \   git \   libbullet-dev \   python3-colcon-comm..

카테고리 없음 2025.04.06

패스트캠퍼스 환급챌린지 32일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 SLAM에서 mapping과 localization 중에mapping에 대해서 알아보았다. [오늘의 수강 영상]  [오늘의 이론] 우리가 2D LiDAR기반의 MAP을 만들 때 생성되는 MAP을Occupancy Grid Map(점유 격자형 지도)라고 한다. Occupancy Grid Map이란? 환경을 일정한 크기의 셀(cell)로 나눈 뒤,각 셀마다 장애물이 있는지 없는지(probabilistic하게) 표시하는 지도이다. 만약에 장애물이 있다면 그 공간은 occupied space이며장애물이 없다면 free space라고 한다. 이를 수식적으로 표현하기 위해서아래와 같이 표현한다. 이렇게 표현하면 occupied 부분은 검은색fr..

카테고리 없음 2025.04.05

패스트캠퍼스 환급챌린지 31일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 모바일 로봇에서 사용되며SLAM의 초석이 되는 Odometry와 2D LiDAR에 대해서 학습했다.  [오늘의 수강 영상]  [오늘의 이론] Odometry란? 로봇공학이나 자율주행 시스템에서 자신의 위치와 자세(pose)를 추정하는 기술이다. 이를 사용하면 로봇이나 차량이 자신의 시작 위치로부터현재 위치까지 얼마나 이동했는지 추적하는 데 사용 가능하다. 이는 주로 로봇의 위치 추정하거나 탐색하는 시스템에 사용되고SLAM과 같은 탐색 알고리즘에서 초석 역할을 한다. 하지만, odometry는 센서의 누적 오차와 환경적 요인 떄문에error가 증가할 수 있어서 정확도를 높이기 위해SLAM과 같은 기술과 함께 사용되며추가적인 센서 정보..

카테고리 없음 2025.04.04

패스트캠퍼스 환급챌린지 30일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 SLAM을 들어가기 전에 알고 있어야 하는지식들에 대해서 배워보는 시간을 가졌다. [오늘의 수강 영상] [오늘의 이론]   SLAM이란 무엇인가?SLAM은 Simultaneous Localization And Mapping의 약자로동시적으로 위치추정과 지도작성을 하는 기술이다. Localization이란?지도가 주어진 상황에서 주변의 정보를 사용해서공간 속에서의 내 위치를 찾는 것이다. Mapping이란?이동정보와 같은 odom이 주어진 상황에서지도를 생성하는 것이다.  이와 같이 SLAM을 진행할 때 Mapping을하려면 자신이 현재 이동하는 정보와 위치를알아야 하고 이 위치를 알려면 Localization을 진행해야 한다. 하지..

카테고리 없음 2025.04.03

패스트캠퍼스 환급챌린지 29일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 rosbag2에 대해서 실습해 보는 시간을 가졌다. [오늘의 수강 영상][오늘의 실습] rosbag2란?ROS 2 메시지를 기록(record), 재생(playback), 변환(convert), 검사(inspection) 할 수 있는 tool이다. rosbag2로는 다양한 명령어를 사용하여tool을 사용할 수 있으며 차근차근 알아보았다. 1. record record는 bag파일을 녹화하고자 할 때사용하는 명령어이다. bagfile은 저장할 때 설정한 이름폴더 안에.db3와 .yaml파일로 나뉘어 저장된다. 기본적인 명령어는 아래와 같다.$ ros2 bag record 1) -a 옵션이 명령어 뒤에 -a를 붙이면모든 토픽에 대해서 r..

카테고리 없음 2025.04.02

패스트캠퍼스 환급챌린지 28일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 RQt를 실습을 통해 어떤 기능들이 있는지알아보았다. [오늘의 수강 영상] [오늘의 실습] RQt란?Qt 기반의 플러그인 시스템을 활용하여 여러 가지 ROS 관련 도구를 한 인터페이스에서 실행할 수 있도록 해주는 도구이다. 오늘은 우리가 주로 사용하게 될Plugins들을 알아보겠다. 1. Node Graph Node Graph란?ROS 노드(Node)와 토픽(Topic) 간의 연결 관계를 그래프로 시각화해 주는 도구이다. 이는 아래 사진과 같이 찾을 수 있으며 실행시키면 다음과 같이 시각화를 할 수 있게 된다.여기서 동그라미 부분은 node를 나타내며사각형 부분은 topic을 나타낸다. 이를 사용하면 현재 구동되고 있는topic과 ..

카테고리 없음 2025.04.01

패스트캠퍼스 환급챌린지 27일차 : 자율주행 로봇을 위한 ROS2 & Nav2 한번에 끝내기 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. 오늘은 Rviz2가 가지고 있는 기능들에 대해서실습하는 시간을 가졌다. [오늘의 수강 영상] [오늘의 실습] Rviz2란? 이미지, 포인트 클라우드, 레이저, 운동 변환, 로봇 모델 등을 볼 수 있는 시각화 도구이다. 중요한 점은 Rviz2는 시뮬레이터가 아닌 시각화 도구로써주로 시뮬레이션또는 실제 로봇의퍼블리싱된 토픽을 시각화하는 목적으로 사용된다. 시뮬레이션을 연 후에 rviz2라고 터미널에작성하여 Rviz2를 작동시킨다. 작동시키면 아래와 같은 화면이 나오게 된다.1. 중앙 패널2. 디스플레이 패널3. 뷰 패널 1. Global Options Global Options란? 전체적인 환경 설정을 관리하는 디스플레이 타입이다. 이는, 특..

카테고리 없음 2025.03.31