본문 바로가기

반응형

전체 글

(644)
[2023 알고리즘 스터디] 4조 #1주차 - 백준 3085번(사탕 게임), 24954번(물약 구매) 문제 풀이 [2023 알고리즘 스터디] 4조 #1주차- (알고리즘 성능평가 & Python 문법) 학습 및 백준 3085번(사탕 게임), 24954번(물약 구매) 문제풀이 사탕게임 - 문제 링크 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net - 문제 간단 설명 N x N 크기의 사탕 게임 판이 주어지고 인접한 두 사탕을 고르고 바꾼다 (한번) 그리고 연달아 있는 사탕을 모두 먹는 게임이다. 가장 많이 먹을 수 있는 사탕의 수를 출력해 보아라. - 예제 입력 1 3 CCP CCP PPC - 예제 입력 2 4 PPPP CYZY CCPY PPCC - 예제 입력 3 5 YCPZ..
[2023 알고리즘 스터디] 3조 #1주차 - 백준 1316, 1475, 2960, 3085번 코드 리뷰 3조(박제형, 선병범, 성동현, 신의석) 알고리즘 스터디 블로깅은 돌아가면서 진행하기로 했습니다. 1주차를 맡게된 신의석입니다. 1316번 - 그룹 단어 체커 1316번: 그룹 단어 체커 (acmicpc.net) 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 알고리즘 유형: 구현, 문자열 문제: 단어 N개를 입력으로 받아 그룹 단어의 개수를 출력하는 프로그램을 작성하시오. 그룹 단어란? 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예제 ..
[2023 ROS 스터디] 홍선재 #3주차 - ROS 기본 프로그래밍 이번 3주차때도 오류에 연속이었다. ppt를보면서 ros 메세지 통신, 토픽, 서비스, 액션, 매개변수의 노드 과정을 알면서 3주차 강의를 스타트했다. 그러다가 처음에는 오타라는 에러에 만났다. 이때는 비교적 쉽게 10분안에 오타를 발견하면서 해결했다. 하지만 비극은 이때부터 시작이었다. cm을 했을때 갑자기 ros_tutorials_topic이 package로 인식이 안되는 불상사가 생긴 것이다. clone을 같이해서 오류가 생긴 것인지, cm을 해서 오류가 생긴 것인지, 어떠한 이유인지 몰랐지만 계속 파일들을 삭제하고 다시 깔고 해본 결과 결국 해결책은 $ source ~/catkin_ws/devel/setup.bash $ rospack profile $ rospack find topic_name 이..
[2023 알고리즘 스터디] 2조 조영상 #1주차- 알고리즘 성능평가 & 백준 1969번 FOSCAR 알고리즘 스터디 1주차 2조 블로깅 1주차 코드리뷰 블로깅 : 조영상 *성능평가 이론 출처 : 이것이 코딩테스트다 with Python [이것이 코딩테스트다 with Python] [이것이 코딩테스트다 with Python] 스터디 내용 중 혹시 틀리거나 잘못된 부분이 있을 때 정말 가감 없이 지적해 주시면 부족한 제가 성장하는데 큰 도움이 될 것 같습니다. 감사합니다! 코딩테스트 강의를 듣다가 시간초과를 대비하여 코딩을 하기 이전에 시간복잡도를 어느정도 감으로 고려하면서 설계한다고 해서 해당 예제에 적용해 보았고 정리한 강의 내용을 함께 적어보았습니다. 알고리즘의 복잡도 1. 시간 복잡도 : 소스코드가 실행되는데 소요되는 시간 2. 공간 복잡도 : 소스코드가 실행되었을 때 사용되는 메모리 ..
[2023 ROS 스터디] 조영상 #3주차 - ROS 기본 프로그래밍 *강의 출처 : 로보티즈(표윤석 님) 스터디 내용 중 혹시 틀리거나 잘못된 부분이 있을 때 정말 가감 없이 지적해 주시면 부족한 제가 성장하는데 큰 도움이 될 것 같습니다. 감사합니다! 이번 강의는 1개밖에 되지 않았지만 실습이 굉장히 많아서 많은 시간을 투자하게 되었던 것 같다. ROS 프로그래밍 전에 알아둬야 할 사항 표준 단위 : SI 단위 사용 (미국에서 ROS를 개발했지만 글로벌화를 위해 SI를 사용) 표준 단위 표준 위키 문서 : https://www.ros.org/reps/rep-0103.html 좌표 표현 방식 : 우리가 수학시간에 사용하는 3차원 직교좌표계를 생각하면 된다. x : forward , y : left , z : up 회전에 대한 표현 기준은 다음과 같다.(오른손 법칙) 프로..
[2023 ROS 스터디] 정혁제 #3주차 - ROS 기본 프로그래밍 CHAPTER 7-1 TOPIC 일단 전체적인 순서는 1. catkin_ws/src 폴더 생성 2. src 안에 패키지 생성 3. 파일 2개 수정 4. 메세지 파일 작성 5. 퍼블리셔 노드 작성 6. 서브스크라이버 노드 작성 7. ROS 노드 빌드 ... ............ 뒤에 더 있는데 나같은 경우 빌드 생성할때 오류가 계속해서 떴다 해결방안은 1. 파일 수정 내용 정확이 입력하기 (유튜브에 더보기 링크가면 ppt 자료 있으니까 복붙하자!) 2. catkin_ws 폴더 생성하고, 패키지 생성하기 전에 빌드를 미리 해놓은 경우!! -> 안되니까 빌드는 나중에 하자 3. 안되면 그냥 밀고 처음부터 천천히 다시해보자. 나도 4번째 도전 끝에 성공했다... 4. 그래도 안되면 ros 지우고 재설치! 위에..
[2023 알고리즘 스터디] 5조 #1주차 - 구현, 브루트포스, 스트링 FOSCAR 알고리즘 스터디 1주차 5조 블로깅 괄호 추가하기 - 코드 리뷰 박병규 문제 링크 16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순 www.acmicpc.net 풀이 괄호로 만들 수 있는 모든 경우의 수를 따짐 dfs탐색을 재귀로 호출함 묶고 넘기기, 안 묶고 넘기기 2개에 대해 dfs를 호출함 안묶는 경우 1+2+3+4 묶는 경우 1+(2+3)+4 → 이 경우 idx가 4를 가리킬 때 묶을 수 없음 #include #include #include #include #include #include #include #i..
[2023 ROS 스터디] 윤준영 #3주차 - 기본프로그래밍, 로봇, 임베디드 시스템 3주차에는 직접 퍼블리셔와 서브크라이버를 작성해보는 작업을 해보았다 첫번째로 위와 같은 오류를 만났는데 알고보니 내가 publisher를 ros_tutorials_topic이 아닌 ros_tutorials에 만들었었다
[2023 ROS 스터디] 김동훈 #3주차 - ROS 기본 프로그래밍 2주 차에 실패한 uvc camera node에 관하여 같은 에러가 발생한 분들 중에서 해결하신 분을 찾지 못하여 아직도 해결을 못한 상황에서 3주 차 강의를 보며 실습을 진행하였다. ROS에서는 기본적으로 표준 단위인 SI 단위를 사용하고 오른손 법칙에 따른 방향성을 가지기 때문에 이러한 것들로 헷갈릴 일은 없이 프로그래밍을 할 수 있겠다는 생각을 했다. 첫 실습으로 ros_tutorial_topic 패키지를 생성하였다. 패키지를 생성한 뒤 패키지 설정 파일(package.xml)을 수정하고 빌드 설정 파일(CMakeLists.txt) 수정한 뒤 메시지 파일을 작성하고 퍼블리셔, 서브스크라이버 노드를 작성한 후 마지막으로 노드를 빌드하면 끝이다. 퍼블리셔와 서브스크라이버를 실행시킨 후 rqt_graph..
[2023 ROS 스터디] 오현민 #3주차 - ROS 퍼블리셔, 서브스크라이버 패키지를 만들고 publisher, subscriber 끼리의 정보의 교환에 대한 개념을 학습하는 시간이다. 기존에 있던 catkin_ws 폴더에 새로운 src폴더를 만들어주고 패키지를 수정한다. 그리고 catkin_make를 하면 올바르게 빌드되는 모습을 볼 수 있다. roscd 가 작동이 안됐었고 빌드 오류가 나서 아예 새롭게 한 줄 설치를 하고 다시 시도했더니 잘 되더라. roscd가 안되면 일일이 경로를 이동할 수 밖에 없다. rqt_graph를 사용하여 구조를 확인했다. 터미널 창에 보이는 것이 주고받는 정보들인데 10Hz라 했으니까 1초에 10번씩 주고받는 것인 것 같다. 추정컨데, 자율주행차에서 카메라를 예로 들면 라바콘의 위치 변화를 실시간으로 전송해서 판단하는 식으로 작동이 될 것 같다...
[2023 ROS 스터디] 신의석 #3주차 - ROS 기본 프로그래밍 3주차 스터디에선 ROS 기본 프로그래밍을 배워봤습니다. *출처 ROS 강의 https://www.youtube.com/playlist?list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw ROS 강의 pdf 자료 https://github.com/robotpilot/ros-seminar GitHub - robotpilot/ros-seminar: ROS 수업, 세미나, 강연, 강의 등의 보조 자료 ROS 수업, 세미나, 강연, 강의 등의 보조 자료. Contribute to robotpilot/ros-seminar development by creating an account on GitHub. github.com Chapter 7. ROS 기본 프로그래밍 1. ROS 프로그래밍 전에 ..
[2023 ROS 스터디] 조성준 #3주차 - ROS 기본 프로그래밍 오늘의 과제는 ROS Courses 7강. ROS 기본 프로그래밍을 듣고, 공부하는 것이다. 이번 수업부터는 실습을 중점으로 공부하게 될 것 같다. 힘차게 시작하자. Chapter 7. ROS 기본 프로그래밍 이번 강의는 1. ROS 프로그래밍 전에 알아둬야 할 것 2. 퍼블리셔, 서브스크라이버 노드의 작성 및 실행 3. 서비스 서버와 클라이언트 노드의 작성 및 실행 4. 액션 서버와 클라이언트 노드 작성 및 실행 5. 파라미터 사용법 6. Roslaunch 사용법의 순서대로 진행되며, 실습위주의 수업이 될 것 같다. ROS의 표준단위 ros는 목적인 글로벌화를 위해 단위를 통일하기로 했는데, 표준단위로는 SI(국제단위계)를 사용한다. Quantity Unit angle radian frequency h..
[2023 ROS 스터디] 오준호 #2주차 - ROS 용어 및 도구 Chapter4. ROS의 중요 컨셉 ROS의 핵심용어 Node Package Message Node는 최소 단위의 실행 가능한 프로세서를 가리키는 것 Package는 하나 이상의 노드와, 노드의 실행을 위한 정보 등을 묶어 놓은 것 Message는 노드간의 데이터를 주고받는 형식이다. Topic Service Action Topic은 ROS에서 사용되는 단방향, 연속성의 성격을 가지는 통신 방식이며, Publisher와 Subscriber와의 통신방식을 가리킨다. (1:1/ 1:n/ n:n 가능) Service는 서버와 클라이언트가 요청과 응답, 즉 양방향으로 통신이 가능하다. Action은 service에서 중간보고가 들어가있는 통신 방식이다. Chapter5. Ros 명령어 http://wiki.r..
[2023 ROS 스터디] 박주빈 #3주차 - ROS Chapter7. ROS 기본 프로그래밍 7-1 ROS 프로그래밍 전에 알아두어야 할 사항 ROS의 표준 단위는 국제단위계(SI 단위)를 따르며 좌표 표현 방식은 x:forward, y:left, z:up 과 오른손 법칙(회전)을 따른다. Quantity Unit angle radian frequency hertz force newton power watt voltage volt length meter mass kilogram time second current ampere 7-2 Publisher Node와 Subscriber Node 작성 및 실행 ROS에서는 단방향 통신일때 ‘Topic’ 이라는 메시지 통신을 사용한다. 이때 송신 측을 ‘Publisher’ , 수신 측을 ‘Subscriber’라고 ..
[2023 ROS 스터디] 이현규 #1주차 - ROS 입문(에러의 바다 속에서) ※ 본 포스트는 아래의 강의를 기반으로 작성되었습니다 ※ https://www.youtube.com/playlist?list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw ROS Courses (한국어) https://github.com/robotpilot/ros-seminar www.youtube.com Chapter 01. 로봇 소프트웨어 플랫폼 'Personal Computer'와 'Personal Phone'의 공통점을 통해 'Personal Robot'의 미래를 예측해본다. 'Personal Computer'와 'Personal Phone'의 공통점? 누구나 하나쯤은 보유하고 있는 대중화 제품 다양한 하드웨어의 결합이 가능한 하드웨어 모듈 운영체제(Operationg System..
[2023 ROS 스터디] 박준석 #2주차 - ROS 용어, 명령어, 도구 #ROS 용어 정리 1. 노드 (Node) - 최소 단위의 실행 가능한 프로세서 2. 패키지 (Package) - 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. 3. 메시지 (Message) - 노드 간의 데이터 4. 토픽 (Topic) - 이야깃거리 5. 퍼블리시 (Publishe) - 토픽 내용에 해당하는 메시지 형태의 데이터 송신 6. 서브스크라이브 (subscribe) - 토픽 내용에 해당하는 메시지 형태의 데이터를 수신하는 것 // Topic에 대해 1:1의 Publisher, subscriber통신도 가능하며, 목적에 따라서 1:N, N:1, N:N 통신도 가능하다. 7. 서비스 (Service) - 서비스를 요청하는 서비스 클라이언트와 서비스 응답을 담당하는 서비스 서버 간..
[2023 ROS 스터디] 윤준영 #2주차 - ROS 용어 및 도구 처음에는 ros용어에 대해서 배웠는데 얼마전 차량소프트웨어 엔지니어링에서 들었던 수업과 비슷한 내용이라 이해하기가 쉬웠다 파이썬 업그레이드하다가 뭐 잘못만졌는지 갑자기 roscore 가 잘 안돼서 좀 많이 헤매였었다..구글에서 사람들이 하라는대로 해도 잘 안됐었당 모듈설치하는 방법이 컴퓨터 마다 다른지 많은사람들이 하는방법으로 잘 안돼서 낙심하고 있었는데 어떤 한분의 도움을 받아 sudo pip install ~를 입력하니 잘 됐다 똑같은 오류가 떴을때 해결하는법을 배움 ㅎ 본가에서 하루동안 나랑같이 공부한 앵무새 그리구 같이 공부하는 혁제님?형?? 의 도움을 받았다 정말고맙게도 시간을 많이 단축할 수 있었다.
[2023 ROS 스터디] 김예진 #2주차 - ROS 용어 및 도구 2주차에는 여러가지 ROS의 기본을 쌓는 시간이 되었다. 먼저 ROS프로그램을 사용할 때 필수적인 용어 들과 프로그램의 구현 과정을 알 수 있었다. 강의를 요약하자면 Node : 최소단위의 실행 가능한 프로세서를 가리키는 용어로써 하나의 실행 가능한 프로그램으로 생각하면 된다. ROS에서는 최소한의 실행단위로 프로그램을 나누어 작업하게 된다. 각 노드는 메시지 통신으로 데이터를 주고 받는다. Package : 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. 또한 패키지 묶음을 메타패키지라 하여 따로 분리한다. Message : 메시지를 통해 노드 간의 데이터를 주고받게 된다. 메시지는 integer, floating, point, boolean와 같은 변수형태이다. 또한 메시지 안에 메시..
[2023 ROS 스터디] 정혁제 #2주차 - ROS 용어 및 기초 들어가며 저번주에 말한 새 노트북이 왔는데, 이게 최신 노트북이라 ubuntu 18.04 설치하는데 이틀이 꼬박 걸렸다. 구글링하면 뭔 놈의 호환이 안된다고 해서 사알짝 후회는 했지만, 그래도 왠만치는 다 해결했다..!! 하지만 아직까지 블루투스 드라이버랑 화면밝기조절은 해결하지 못했다.. 다음주에는 "들어가며" 부분에서 이거 해결했다고 쓸 수 있었으면 좋겠다. 이번 강의는 대회준비하면서 헷갈렸던 이론을 다듬기 너무 좋은 시간이였다!! 그리고 강사분 너무 수업 잘하셔서 듣기 너무 좋다..ㅠ 그러면 한번 맛깔나게 블로그 시작해보자! CHAPTER 4. -ROS의 기본 용어!- Node - 최소단위의 실행 가능한 프로세서를 가리키는 용어. ROS에서는 최소한의 실행단위로 프로그램을 나누어 작업하게 된다. 각..
[2023 ROS 스터디] 안수빈 #2주차 - ROS 도구 ROS 용어에 대해 알아보자! ROS Courses (한국어) - YouTube ROS Courses (한국어) https://github.com/robotpilot/ros-seminar www.youtube.com 위의 링크에 들어가면 챕터 별로 강의를 볼 수 있다. 지난 주에 이어 이번 주에는 Chapter 4, 5, 6을 보고 공부하였다. 이번에 Chapter 6에서 실습을 하는데 에러들도 많이 뜨고 어렵게 성공해내어 실습을 중심으로 정리해보았다.. (이론 위주인 Chapter 4, 5는 개인 블로그에 정리해두었다.) Chpater 06. ROS 도구 Command-Line Tools GUI 없이 ROS에서 제공되는 명령어로만 로봇 억세스 및 거의 모든 ROS 기능을 소화 RViz (ROS Visu..
[2023 ROS 스터디] 변준형 #2주차 - ROS의 컨셉, 명령어, 도구 Node 최소 단위의 실행가능한 프로세서를 가리키는 용어로써 하나의 실행 가능한 프로그램. 각 노드는 메시지 통신으로 데이터를 주고 받는다. Package 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. Message 메시지를 통해 노드간의 데이터를 주고받게 된다. 메시지는 integer, floating point, boolean 과 같은 변수형태이다. 메시지는 간단한 데이터 구조 및 메시지들의 배열과 같은 구조도 사용할 수 있다. Topic * 단뱡향의 연속성 통신 Service * 양방향의 일회성 통신 Action * Service와 유사하지만, 중간의 피드백이 있다는 차이가 존재 ROS 핵심 명령어 * roscd : 지정한 ROS 패키지의 디렉토리로 이동 * roscore : ma..
[2023 ROS 스터디] 선병범 #2주차 - ROS 용어 및 도구 chapter 4 ROS 용어정리 1. Node 최소 단위의 실행 가능한 프로세서를 가리키는 용어로써 하나의 실행 가능한 프로그 램으로 생각하면 된다. ROS에서는 최소한의 실행단위로 프로그램을 나누어 작업하게 된다. 2. Package 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것. 또한, 패키지의 묶음 을 메타 패키지라 하여 따로 분리한다. 3. Message 메시지를 통해 노드 간의 데이터를 주고받게 된다. 메시지는 integer, floating point, boolean와 같은 변수 형태이다. 또한, 메시지 안에 메시지를 품고 있는 간단 한 데이터 구조 및 메시지들의 배열과 같은 구조도 사용할 수 있다. 4. Message의 통신방식 Topic 단방향 연속적 publisher->..
[2023 ROS 스터디] 신의석 #2주차 - ROS의 중요컨셉, 명령어, 도구 2주차 스터디에선 ROS의 기본을 배우고 간단한(?) 실습을 해봤습니다. *출처 ROS 강의 https://www.youtube.com/playlist?list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw ROS 강의 pdf 자료 https://github.com/robotpilot/ros-seminar chapter 4. ROS의 중요콘셉트 무엇이든 공부하는 데 있어서 용어들을 알아볼 필요가 있습니다. 기본용어 1. Node: 최소 단위의 실행 가능한 프로세서(프로그램), 각 노드는 메시지 통신으로 데이터를 주고받습니다. 2. Package: 하나 이상의 노드 혹은 노드 정보를 묶어 놓은 것, n개의 노드를 하나의 목적으로 묶었을 때, 실질적인 서비스를 제공할 수 있습니다. 3. Me..
[2023 ROS 스터디] 조성준 #2주차 - ROS 명령어 및 도구 이번 주차 과제는 4강 ROS의 중요컨셉, 5강 ROS 명령어, 6강 ROS도구를 듣고 공부하는 것이다. 시작을 활기차게 시작해야겠다. Chapter 4. ROS의 중요컨셉 이번 강의에서는 ROS의 주요 개념(용어)들과 Message 통신의 개념들에 대해 배웠다. Node : 최소 단위의 실행 가능한 프로세서를 가리키는 용어로 하나의 실행가능한 프로그램을 말한다. ROS에서는 최소한의 실행단위로 프로그램을 나누어 작업하게 되며, 각 노드는 메시지 통신으로 데이터를 주고받게 된다. Package : 하나 이상의 노드, 노드 실행을 위한 정보 등을 묶어 놓은 것으로, 패키지의 묶음은 메타 패키지라고 하여 따로 분리한다. Message : 메시지를 통해 노드 간의 데이터의 송, 수신을 하게 된다. RAW 데이..
[2023 ROS 스터디] 조현준 #2주차 - ROS의 컨셉, 명령어, 도구 이번주에는 ROS강의의 Chapter 4~6을 공부했다. CHAPTER 4 Chapter 4에서는 ROS의 중요 컨셉에 대하여 설명하고 특히 그 중에서도 통신방법에 대하여 많은 설명이 있었다. ROS의 핵심 용어 컨셉 Node 노드는 ROS에서 최소단위의 실행가능한 프로세서(?라고 설명하는데 프로그램도 맞는말같다) ROS에서 최소 실행단위로 프로그램을 나누어 작업하게 한다. 이로인해 단위테스트가 훨씬 용이하다는 장점이 있다. Package 하나 이상의 노드의 묶음 노드의 실행을 위한 환경변수같은 정보들을 묶어 놓은 것 패키지의 묶음은 메타 패키지라고 한다. Message ROS에서는 메시지 통신을 통해 노드간의 데이터를 주고 받게 된다. 메시지의 자료형은 Int, Float, Boolean과 같은 변수의..

반응형