Robotics (46) 썸네일형 리스트형 [비전 #1] 핀홀 카메라 (Pinhole Camera): Focal length(초점거리) * 본 포스팅은 개인 공부를 위해 작성하였으며, 주로 "다크프로그래머"님의 블로그를 기반으로 다른 여러 가지 문헌을 참조하여 작성되었음을 미리 알려드립니다. 핀홀 모델에서의 Focal Length 핀홀 카메라 모델 구성: 구멍뚫린 상자 상자에 작은 구멍을 뚫어 외부의 object가 바늘 구멍을 직선으로 통과하여 상자의 내벽에 상을 맺히게 하는 것. Focal length Hole에서부터 image가 맺히는 곳까지의 거리 카메라 모델에서의 Focal Length 카메라 모델 구성: 카메라 렌즈, 이미지 센서 핀홀은 렌즈의 중심과 대응됨 (빛이 직선으로 지나는 지점) Focal Length 렌즈중심에서 이미지 센서까지의 거리 모든 방향으로 퍼져나가는 빛(빨간빛 또는 파란빛)은 렌즈를 지나면서 굴절되고, 렌즈.. [Feature extraction #1] SIFT 알고리즘 SIFT(Scale Invariant Feature Transform)는 이미지에서 Feature를 추출하는 대표적인 알고리즘 중의 하나입니다. 이미지의 scale(크기), Rotation(회전)에 불변하는 feature(특징)을 추출하기 때문에, 이미지가 회전해도 크기가 변해도 항상 그 위치에서 뽑히는 특징을 찾아냅니다. SIFT의 방대한 연산량 때문에 이를 해결하기 위해 SURF(Speed Up Robust Feature), FAST(Features from Accelerated Segment Test), 그리고 AGAST 등이 개발되었지만, 성능면에서는 SIFT를 확연하게 상회하는 알고리즘의 개발은 좀 더 시간이 필요한 것 같습니다 [2]. 이미지의 feature(=keypoint)를 찾기 위해, .. ROS 설치 ROS는 Robot Operating System의 약자로 로봇과 관련된 여러가지 package들을 제공하고 있습니다. ROS를 공부하면 많은 연구자들이 구현해놓은 여러가지 유용한 프로그램들을 쉽게 가져다 쓸수 있습니다. 이러한 특징은 다른 open source 프로젝트와 마찬가지로 연구시간을 크게 줄여줍니다. 국내에서는 로보티즈의 표윤석님(오로카: https://cafe.naver.com/openrt)이 여러가지 활동을 통해 ROS의 사용법을 전파하고 있습니다. 아래의 책을 기반으로 차근차근 공부하시면 ROS 설치방법부터 실제 로봇에 적용할 수 있는 여러가지 방법에 대해서 학습 하실 수 있습니다. (저자: 표윤석, 조한철, 정려운, 임태훈) ROS Kinetic 간단 설치 본 포스팅에서는 Ubuntu .. Artificial Potential Field - python code 본 포스팅에서는 Artificial Potential Field를 python으로 구현한 코드에 대해 말씀드리도록 하겠습니다. 본 포스팅에서 사용한 코드는 Reference [1] 코드를 참고하여 수정하였습니다. Program Start Python 코드를 실행시키면, __name__ 이란 변수에 __main__ 이 입력됩니다. 따라서 첫번째 코드인 if __name__ == '__main__' 은 python으로 작성된 프로그램이 실행되었는지 확인하는 것입니다. 프로그램이 실행되면, define된 main()으로 갑니다. if __name__=='__main__': print('__file__'+" start!!") main() print('__file__'+" Done!!") def main(): 변.. Artificial Potential Field Unmanned Aerial Vehicle(UAVs)나 무인자동차, 그리고 무인 이동로봇의 개발이 두드러지게 나타나면서, Collision avoidance 기술은 무인 이동체의 필수적인 기술이 되었습니다. 본 포스팅에서는 Collision Avoidance에서 가장 널리 사용되고 있는 알고리즘 중의 하나인 Artificial Potential Field에 대해 알아보도록 하겠습니다. Introduction Artificial Potential Field는 citation이 7,000번 이상 될 정도로 굉장히 interest한 알고리즘 중의 하나입니다. 비록 여러가지 Limitation이 존재하지만, Potential Field 알고리즘은 simple하기 때문에 구현하기가 쉽고, real-time으로 로.. LQR제어 - ARE (Algebraic Riccati Equation) 2019. 12. 21 작성 2019. 12. 22 포스팅 본 포스팅에서는 Algebraic Riccati Eqeation (ARE)를 증명하는 방법을 공유하도록 하겠습니다. 조금 복잡한 수식이 나올 수 있습니다. 하지만 증명을 하기 위해 사용하는 복잡한 수식은 그저 증명을 위한 도구로만 사용하는 것입니다. 수식에 대한 정확한 의미보다는 조금 복잡하지만 유용한 수학적 도구가 있는데 그것을 사용해서 우리가 증명하고자 하는 문제를 해결한다고 생각하시면 됩니다. 그럼 시작하기에 앞서 우리가 즉면한 문제에 대해 다시 한번 살펴보도록 하겠습니다. 다음은 우리가 제어하고자 하는 시스템의 상태방정식입니다. 우리는 위의 시스템을 제어하기 위해 Output feedback controller와 State feedback.. LQR제어 - Lyapunov Function (리아프노브 함수) 2019. 10. 4 작성 2019. 10. 11 추가 작성 2019. 10. 15 포스팅 2019. 10. xx ARE에 대해 작성 중 2021. 12. 13 Q: negative definite --> -Q: negative definite 로 수정 이전 포스팅에서는 Mass-spring system의 state space representation과 시스템의 제어방법에 대해 알아보았습니다. 제어 방법으로 Output feedback control과 State feedback control 에 대해 알아보았고, 두 제어방법의 차이에 대해서도 알아보았습니다. 두 제어방법은 각각의 장점과 단점이 있기 때문에 우열을 가리는 것은 어렵지만 본 [LQR series]에서는 LQR control을 설명하고자 하.. LQR제어 - State Space Representation and Control for Mass-spring system 2019. 9. 15 작성 2019. 9. 23 포스팅 2019. 9. 28 제어방법 추가 이전 포스팅에서는 State space representation에서 사용하는 기본적인 용어를 알아보았다. 이번 포스팅에서는 간단한 예제를 통해 동역학식을 어떻게 State space로 표현할 수 있는지에 대해 알아보고, Output feedback controller와 State feedback controller에 대해 간단히 알아볼 것이다. State space representation of mass-spring system 위의 그림은 mass-spring system을 나타내는 그림이다. 마찰력이 없는 바퀴가 달려있고 무게가 m인 수레는 탄성계수가 k인 스프링에 의해 벽과 연결되어 있으며 Fa의 힘으로 .. 이전 1 2 3 4 5 6 다음