Lucky Charms Rainbow > Hoon's Blog — Hoon's Blog

목록

  • DDS(Data Distribution Service) 이해하기

    ROS(Robot Operating System)는 로봇 소프트웨어 개발에 가장 널리 사용되는 프레임워크입니다.초기 ROS1은 자체 개발된 네트워크 프로토콜(TCPROS, UDPROS)을 사용했지만, ROS2로 넘어오면서 신뢰성과 확장성이 높은 DDS(Data Distribution Service)라는 표준 미들웨어를 채택하였습니다.1. DDS란?DDS(Data Distribution Service)는 OMG(Object Management Group)라는 표준화 단체에서 제정한 데이터 중심(Data-centric)의 분산 통신 미들웨어 표준입니다.간단히 말해, DDS는 서로 다른 여러 개의 컴퓨터나 프로세스가 데이터를 효과적으로 공유하고 전달하도록 도와주는 소프트웨어 레이어입니다. DDS는 특히 다음과..

  • Terminator 출력 라인 늘리기

    Terminator 출력 라인 늘리기

    우분투 환경에서 terminator로 작업하다보면 에러문을 확인할 때나 여러 로그를 찍어보려할 때 출력 라인이 많아지면 500줄까지밖에 못보는 현상을 해결할 수 있습니다.  1. 터미널 창에서 우클릭 > Preferences 클릭 2. Profiles > Scrolling 클릭  3. Scrollback 값 조절 기본값은 500줄 더 많은 라인을 보고싶다면 늘리면 됩니다.

  • [book review] Easy! 딥러닝

    [book review] Easy! 딥러닝

    혁펜하임님이 집필하신 리뷰어로 선정되어 이 글을 작성하게 되었습니다.혁펜하임님의 대학원 면접 기출 영상과 딥러닝 관련 수학 강의 영상을 재밌고 쉽게 보면서 대학원을 준비하는 과정에서 도움을 많이 받았는데 혁펜하임님의 책을 리뷰할 수 있다는 게 영광입니다. 이런 분들께 추천합니다!✔️ 딥러닝을 처음 공부하는데 어디서부터 시작해야할 지 막막한 분✔️ 복잡한 수식을 알기 쉽게 이해하고, 직관적으로 개념을 익히고 싶은 분 유튜브에 "Easy! 딥러닝"을 검색하면 딥러닝 이론 강의를 무료로 보실 수 있습니다. 책을 읽으시다가 추가적인 설명이 필요하다면 영상을 참고하셔도 좋고, 질문도 남길 수 있어 딥러닝을 이해하시는데 어려움이 없을 것 같습니다. 이 책은 현존하는 모든 인공지능 기술의 원리와 배경지식을 알아가고..

  • ROS2 LifecycleNode란?

    ROS 2 Lifecycle: 노드 관리 및 신뢰성 향상Robot Operating System (ROS) 2는 Lifecycle Node라는 개념을 도입했습니다. 이 기능은 개발자가 노드의 상태와 동작을 더 세밀하게 제어할 수 있도록 하여, 예측 가능한 동작과 효율적인 자원 관리가 중요한 복잡한 로봇 시스템에서 특히 유용합니다. 이 글에서는 ROS 2 Lifecycle Node가 무엇인지 살펴보겠습니다.ROS 2 Lifecycle Node 란?ROS 2의 라이프사이클 노드는 미리 정의된 상태 머신(STM)을 갖춘 관리형 노드입니다.일반 노드와 달리, 라이프사이클 노드는 명시적으로 상태와 전환을 정의하여 초기화, 실행, 종료 중에 동작을 세밀하게 제어할 수 있습니다.라이프사이클 노드의 상태는 다음과 같습..

  • [ROS2] ros2 bag 명령어 사용법

    [ROS2] ros2 bag 명령어 사용법

    ros2 bag이란?ROS 2 시스템에서 센서 데이터, 메시지 통신 등을 기록하거나 재생하는 데 사용되는 도구입니다.한마디로, 현재 주고받고 있는 토픽들을 녹화하여 해당 시나리오를 재현할 수 있도록 합니다. 따라서 ros2 bag으로 토픽을 한 번 기록해두면 해당 환경 및 시나리오를 구성하지 않아도 되는 편리함을 가지고 있습니다.Record 명령어 (데이터 기록)ros2 bag record [OPTIONS] /토픽이름 [Options]:-a, --all: 모든 토픽 기록-o, --output: 출력 파일 이름 지정-e, --regex: 정규식을 사용한 토픽 이름 매칭Examples-a 옵션 사용ros2 bag record -a -o 옵션 사용(bag파일 이름을 지정할 수 있음)ros2 bag record..

  • [ROS2] Nav2란?

    [ROS2] Nav2란?

    Nav2란?Nav2 (Navigation 2)는 ROS 2를 기반으로 자율 주행 로봇의 경로 계획 및 제어를 돕는 Navigation Stack입니다.Nav2는 ROS1의 Navigation Stack을 계승 및 확장한 버전으로, ROS 2의 장점을 적극 활용하여 더 나은 성능과 유연성을 제공합니다. Nav2는 실내, 실외 환경 모두에서 사용 가능하며, 다양한 하드웨어와 센서를 지원합니다.1. Nav2의 주요 개념1.1 Behavior TreeBehavior Tree (행동 트리)는 Nav2의 의사결정 프로세스를 관리하는 중요한 개념입니다. 이는 Nav2가 로봇의 행동을 유연하게 제어할 수 있도록 돕는 트리 구조입니다. Behavior Tree는 로봇이 다양한 상황에 맞춰 최적의 행동을 선택할 수 있도록..

  • [Github Readme 꾸미기] 3D 잔디

    [Github Readme 꾸미기] 3D 잔디

    https://github.com/yoshi389111/github-profile-3d-contrib GitHub - yoshi389111/github-profile-3d-contrib: This GitHub Action creates a GitHub contribution calendar on a 3D profile image.This GitHub Action creates a GitHub contribution calendar on a 3D profile image. - yoshi389111/github-profile-3d-contribgithub.com  STEP 1. Create special repository(Read.me가 있다면 step 2로) 개인 레포가 없다면 new repository..

  • 백준-Github 연동 후 자동 커밋 방법

    백준-Github 연동 후 자동 커밋 방법

    백준허브란?백준허브는 Leetcode의 제출 코드를 자동 푸시해주는 LeetHub라는 프로젝트를 포크하여 만든 익스텐션으로,백준, 프로그래머스, SWEA 문제를 해결하면 등록한 Github Repository에 자동으로 코드와 문제 요약을 푸시합니다.   1. 백준허브 크롬 익스텐션 설치해당 사이트 접속 ↓ https://chromewebstore.google.com/detail/%EB%B0%B1%EC%A4%80%ED%97%88%EB%B8%8Cbaekjoonhub/ccammcjdkpgjmcpijpahlehmapgmphmk?hl=ko&pli=1 백준허브(BaekjoonHub) - Chrome 웹 스토어Automatically integrate your BOJ submissions to GitHubchrom..

  • [ununtu22.04] Carla Autoware.universe Bridge

    [ununtu22.04] Carla Autoware.universe Bridge

    Desktop software spec- Ubuntu22.04- nvidia-driver-555- ROS2(Humble)- CARLA 0.9.15- Autoware(Universe) 출처https://github.com/TUMFTM/Carla-Autoware-Bridge?tab=readme-ov-file GitHub - TUMFTM/Carla-Autoware-Bridge: Carla 0.9.15 and Autoware Universe HumbleCarla 0.9.15 and Autoware Universe Humble. Contribute to TUMFTM/Carla-Autoware-Bridge development by creating an account on GitHub.github.com 설치영상h..

  • [ROS2] Topics, Services, Actions 차이

    [ROS2] Topics, Services, Actions 차이

    ROS2 애플리케이션은 topics / services / actions 세 가지 유형 중 하나의 인터페이스를 통해 통신합니다. Topics: 지속적으로 받아야하는 센서 데이터, 로봇 상태 등과 같은 데이터 스트림에 사용토픽은 Publisher / Subscriber 형태로 데이터 통신1:1 1:N N:N 통신 가능비동기식 단방향 메시지 송수신 방식   Services Request / Response 구조와 Publisher / Subscriber 혼합 방식동기식 양방향 메시지 송수신 방식데이터 스트림을 Subscribe하고 지속적인 업데이트를 받을 수 있는 토픽과는 달리, 서비스는 클라이언트가 call(호출)할 때만 데이터를 제공합니다.     Actions로봇을 이동시키는 개별적인 동작이나 실행 중..