[11328번] Strfry
·
📑 공부/🌐 BOJ
📌 문제C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래밍 언어에서 문자열을 다루는 것은 매우 중요하기 때문에, C 표준 라이브러리는 문자열을 다루는 데에 매우 유용한 함수들을 제공하고 있다 : 그들 중에는 strcpy, strcmp, strtol, strtok, strlen, strcat 가 있다.하지만, 잘 알려져 있지 않으며, 잘 사용되지도 않는 함수가 하나 있다 : strfry 함수다. strfry 함수는 입력된 문자열을 무작위로 재배열하여 새로운 문자열을 만들어낸다. (역자 주 : 여기에서 입력된 문자열과 새로 재배열된 문자열이 다를 필..
[2309번] 일곱난쟁이
·
📑 공부/🌐 BOJ
📌 문제왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다.일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다.뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.아홉 난쟁이의 키가 주어졌을 때, 백설공주를 도와 일곱 난쟁이를 찾는 프로그램을 작성하시오. 💡 입력아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. 💡 출력일곱 난쟁이의 키를 오름차순으로 출력한다. 일곱 난쟁이를 ..
3-2. 자기 감지 센서
·
📑 공부/📷 SLAM
- 자기 자신에 대한 물리적인 현상을 감지하는 센서ex) 휠 인코더(Wheel encoder), IMU(Inertial Measurement Unit, 관성 측정 장비) 💡 휠 인코더 (Wheel encoder)모터의 회전량을 측정하는 센서Brush, Optical, Magnetic, Inductive, Capacitative와 같은 다양한 내부 동작 방식이 있으며, 이에 따라 정확도와 정밀도 및 가격의 차이가 남.주로 모터의 회전량을 이용해 로봇의 이동치를 추정하는 용도로 사용됨.가장 간단한 방법으로는 모터에 둘레를 알고있는 바퀴를 장착하여, 둘레 값에 모터의 회전량을 곱해 전체 이동량을 측정할 수 있음.좀 더 개선된 방법으로는 다양한 차량 동특성 모델을 적용하여 보다 정확한 이동치를 구할 수 있음...
3-1. SLAM에서 사용하는 센서 소개
·
📑 공부/📷 SLAM
💡 센서: 어떤 물리적인 현상을 감지, 측정하는 장치 - 광자(Photon)의 양, 자기장의 변화, 온도의 변화와 같은 물리적인 현상을 감지하고, 이를 전압이나 전류와 같은 아날로그 전기 신호로 변환함. 이후, A2D(Analogue-to-Digital) 장치회로를 통해 아날로그 전기 신호를 디지털 신호로 변환함으로써 비로소 컴퓨터가 센서의 값을 인식할 수 있게 됨. 최종적으로 디지털 신호로 변환된 센서의 값을 이용해 SLAM 알고리즘을 실행할 수 있음. 📌 SLAM에서 주로 다루는 센서(1) 자기 감지 센서 : 자기 자신에 대한 물리적인 현상을 감지하는 센서. 주로 이동치 or 회전량 추정(2) 외부 감지 센서 : 외부 환경의 물리적인 변화를 감지하는 센서✅ SLAM에서는 위 2가지 센서를 조합해 ..
1-5. SLAM의 수학적 정의
·
📑 공부/📷 SLAM
💡 SLAM파란색 원 : 센서가 장착된 로봇의 위치노란색 네모 : 랜드마크 위치✅ 왼쪽 그림처럼 파란색 화살표로 표시된 로봇의 움직임 제어 정보, 검은색 선으로 표시된 랜드마크에 대한 관찰 정보가 우리에게 주어졌을 때, 우리가 원하는 정보는 오른쪽 그림처럼 처음부터 현재까지의 로봇의 이동 궤적에 대한 정보와 랜드마크의 위치 정보를 계산하고자 하는 것임. 그 결과로, 우리는 정확한 로봇의 위치를 추정할 수 있고 주변 환경에 대한 지도를 작성할 수 있게 됨. 하지만, 우리가 사는 실제 세계는 불확실성이 산재해 있음.ex) 센서가 장착된 로봇에게 "앞으로 1미터 움직여라"라고 움직임 제어 명령을 줌 ➡️ 정확히 알 수 없는 외부의 환경적인 요인(바닥의 마찰 계수, 바람, 진동 등)에 의해 1미터보다 더 갈 ..