Tag

ROS2

[ROS2] Hello World

3 분 소요

Intro C++ 언어로 간단한 구조의 토픽(Topic) 퍼블리셔(Publisher)와 서브스크라이버(Subscriber)를 작성하고 동작시켜보자.

[ROS2] 빌드 설정 파일(CMakeLists.txt)

최대 1 분 소요

CMakeLists.txt 파일이란? ROS2의 빌드 시스템은 ament에서는 C++ 프로그래밍 언어를 사용한 패키지나 RQt Plugin의 경우 CMake (Cross Platform Make)를 이용하고 있고 패키지 폴더의 CMakeLists.txt 파일에 빌드 환경을 기술해 ...

[ROS2] teleop_twist_keyboard

최대 1 분 소요

Intro 'teleop_twist_keyboard'는 ROS 패키지 중 하나로, 키보드를 사용하여 로봇을 제어하는 데 사용된다. 이번에는 해당 패키지를 공부하고 나만의 제어 패키지를 직접 구현해보도록 하겠다.

[ROS2] ros2_control_demos

1 분 소요

Intro ROS2에서 control과 관련한 데모가 있어서 공부해보자. example 별로 실습을 진행할 수 있어서 control 과 관련하여 공부하는 데 많은 도움이 될 것 같다.

[ROS2] launch file

1 분 소요

Launch file 이란? ROS2에서 ‘launch’ 파일은 여러 노드 및 다양한 ROS2 컴포넌트들을 동시에 관리하는 데 사용되는 파일이다. ‘launch’ 파일은 Python 스크립트로 작성되며, 시스템 전반적인 설정 및 구성을 정의한다.

[ROS2] Node와 데이터 통신

1 분 소요

노드(Node)는 최소 단위의 실행 가능한 프로세스를 가리키는 용어이다. ROS에서는 보통 최소한의 실행 단위로 프로그램을 나누어 작업을 진행하며, 노드들이 연동되는 ROS 시스템을 위해서는 노드와 노드 사이에 입출력 데이터를 서로 주고 받을 수 있도록 설계해야만 한다. 여기서 주...

맨 위로 이동 ↑

Linux

[Linux] Boot Error

1 분 소요

문제상황 리눅스 설치 후 무한부팅 문제가 발생. 아무리 기다려봐도 리눅스 화면이 나오지 않음.

맨 위로 이동 ↑

Gazebo

맨 위로 이동 ↑

algorithn

[Algorithm] 깊이 우선 탐색(Depth-First Search)

최대 1 분 소요

CONCEPT Depth First Search(DFS)는 그래프에서 사용되는 맹목적 탐색 방법의 하나이다. DFS는 엣지(노선) 기반 방법이며 경로를 따라 정점을 탐색하는 재귀 방식으로 작동한다. 탐색트리의 최근에 첨가된 노드를 선택하고, 이 노드에 적용 가능한 동작자 중 하나를...

[Algorithm] 너비 우선 탐색(Breadth-First Search)

최대 1 분 소요

CONCEPT Breadth First Search(BFS)는 그래프에서 사용되는 맹목적 탐색 방법의 하나이다. 이 방법에서는 그래프의 정점에 강조가 있다. 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지...

맨 위로 이동 ↑

Cpp

[Algorithm] 이진탐색(Binary Search)

최대 1 분 소요

CONCEPT 이진탐색 알고리즘이란 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 한 번의 계산을 통해 검색 대상 데이터의 양이 절반씩 줄어들기 때문에 시간복잡도는 O(logN)이다. 이진탐색을 사용하는 경우는 대개 탐색범위가 너무 커서 일반적인 탐색으로는...

[Algorithm] LIS(Longest Increasing Subsequence)

2 분 소요

CONCEPT LIS는 Longest Increasing Subsequence의 약자로 ‘최장 증가수열’, 또는 ‘최대 증가 부분수열’로 불린다. LIS는 어떤 수열에서 특정 부분을 지워서 만들어낼 수 있는 증가 부분수열(Increasing subseqence)중 가장 긴 수열을 ...

맨 위로 이동 ↑

알고리즘

[Algorithm] 이진탐색(Binary Search)

최대 1 분 소요

CONCEPT 이진탐색 알고리즘이란 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 한 번의 계산을 통해 검색 대상 데이터의 양이 절반씩 줄어들기 때문에 시간복잡도는 O(logN)이다. 이진탐색을 사용하는 경우는 대개 탐색범위가 너무 커서 일반적인 탐색으로는...

[Algorithm] LIS(Longest Increasing Subsequence)

2 분 소요

CONCEPT LIS는 Longest Increasing Subsequence의 약자로 ‘최장 증가수열’, 또는 ‘최대 증가 부분수열’로 불린다. LIS는 어떤 수열에서 특정 부분을 지워서 만들어낼 수 있는 증가 부분수열(Increasing subseqence)중 가장 긴 수열을 ...

맨 위로 이동 ↑

algorithm

[Algorithm] 중간에서 만나기(Meet In The Middle, MITM)

2 분 소요

CONCEPT 중간에서 만나기(Meet In The Middle) 알고리즘은 조합 가능한 모든 경우를 대입해 보는 부루트포스(BruteForce) 알고리즘을 사용할 때 경우의 수가 너무 많을 때 사용되는 검색 기술이다. 분할 정복과 마찬가지로 문제를 둘로 나누고 개별적으로 해결한 ...

[Algorithm] DFS와 BFS의 차이점

최대 1 분 소요

공통점 BFS와 DFS 모두 그래프를 탐색하는 방법이다. 그래프란 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종을 말하며, 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 의미한다.

맨 위로 이동 ↑

Python

맨 위로 이동 ↑

OpenCV

맨 위로 이동 ↑

topic

맨 위로 이동 ↑

CPP

[ROS2] Hello World

3 분 소요

Intro C++ 언어로 간단한 구조의 토픽(Topic) 퍼블리셔(Publisher)와 서브스크라이버(Subscriber)를 작성하고 동작시켜보자.

[CPP] bind vs placeholder

최대 1 분 소요

std::bind bind를 사용하는 이유는 함수에 인자를 바인딩(함수에 사용될 인자를 매칭시키는 것)하기 위함이다.

맨 위로 이동 ↑

Plugin

맨 위로 이동 ↑

LIS

[Algorithm] LIS(Longest Increasing Subsequence)

2 분 소요

CONCEPT LIS는 Longest Increasing Subsequence의 약자로 ‘최장 증가수열’, 또는 ‘최대 증가 부분수열’로 불린다. LIS는 어떤 수열에서 특정 부분을 지워서 만들어낼 수 있는 증가 부분수열(Increasing subseqence)중 가장 긴 수열을 ...

맨 위로 이동 ↑

이진탐색

[Algorithm] 이진탐색(Binary Search)

최대 1 분 소요

CONCEPT 이진탐색 알고리즘이란 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 한 번의 계산을 통해 검색 대상 데이터의 양이 절반씩 줄어들기 때문에 시간복잡도는 O(logN)이다. 이진탐색을 사용하는 경우는 대개 탐색범위가 너무 커서 일반적인 탐색으로는...

맨 위로 이동 ↑

dfs

[Algorithm] DFS와 BFS의 차이점

최대 1 분 소요

공통점 BFS와 DFS 모두 그래프를 탐색하는 방법이다. 그래프란 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종을 말하며, 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 의미한다.

맨 위로 이동 ↑

bfs

[Algorithm] DFS와 BFS의 차이점

최대 1 분 소요

공통점 BFS와 DFS 모두 그래프를 탐색하는 방법이다. 그래프란 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종을 말하며, 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것을 의미한다.

맨 위로 이동 ↑

BFS

[Algorithm] 너비 우선 탐색(Breadth-First Search)

최대 1 분 소요

CONCEPT Breadth First Search(BFS)는 그래프에서 사용되는 맹목적 탐색 방법의 하나이다. 이 방법에서는 그래프의 정점에 강조가 있다. 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지...

맨 위로 이동 ↑

DFS

[Algorithm] 깊이 우선 탐색(Depth-First Search)

최대 1 분 소요

CONCEPT Depth First Search(DFS)는 그래프에서 사용되는 맹목적 탐색 방법의 하나이다. DFS는 엣지(노선) 기반 방법이며 경로를 따라 정점을 탐색하는 재귀 방식으로 작동한다. 탐색트리의 최근에 첨가된 노드를 선택하고, 이 노드에 적용 가능한 동작자 중 하나를...

맨 위로 이동 ↑

MITM

[Algorithm] 중간에서 만나기(Meet In The Middle, MITM)

2 분 소요

CONCEPT 중간에서 만나기(Meet In The Middle) 알고리즘은 조합 가능한 모든 경우를 대입해 보는 부루트포스(BruteForce) 알고리즘을 사용할 때 경우의 수가 너무 많을 때 사용되는 검색 기술이다. 분할 정복과 마찬가지로 문제를 둘로 나누고 개별적으로 해결한 ...

맨 위로 이동 ↑

BitMask

맨 위로 이동 ↑

launch

[ROS2] launch file

1 분 소요

Launch file 이란? ROS2에서 ‘launch’ 파일은 여러 노드 및 다양한 ROS2 컴포넌트들을 동시에 관리하는 데 사용되는 파일이다. ‘launch’ 파일은 Python 스크립트로 작성되며, 시스템 전반적인 설정 및 구성을 정의한다.

맨 위로 이동 ↑

package

맨 위로 이동 ↑

Topic

맨 위로 이동 ↑

Interface

맨 위로 이동 ↑

interface

맨 위로 이동 ↑

action

맨 위로 이동 ↑

service

맨 위로 이동 ↑

ros2_control_demos

[ROS2] ros2_control_demos

1 분 소요

Intro ROS2에서 control과 관련한 데모가 있어서 공부해보자. example 별로 실습을 진행할 수 있어서 control 과 관련하여 공부하는 데 많은 도움이 될 것 같다.

맨 위로 이동 ↑

teleop

[ROS2] teleop_twist_keyboard

최대 1 분 소요

Intro 'teleop_twist_keyboard'는 ROS 패키지 중 하나로, 키보드를 사용하여 로봇을 제어하는 데 사용된다. 이번에는 해당 패키지를 공부하고 나만의 제어 패키지를 직접 구현해보도록 하겠다.

맨 위로 이동 ↑

xacro

맨 위로 이동 ↑

Modeling

맨 위로 이동 ↑