Robotics & Perception/Basic

    [AI614] 03. Introduction to Task planning

    학교 수업을 듣고 복습차 lec 8-10까지 정리한 review 글입니다. Outline: What does this review contain? Representations for task planning -Logic-based AI, First-order logic, and STRIPS Heuristic search for task planning 🚧 Representations for task planning -Logic-based AI, First-order logic, and STRIPS 🚧 Heuristic search for task planning

    [AI614] 02. Introduction to Motion planning

    학교 수업을 듣고 복습차 lec 5-7까지 정리한 review 글입니다. Outline: What does this review contain? Problem statement Discretization-based methods -A* Sampling-based algorithms -RRTs, PRMs Probabilistic completeness -RRT* Basic notion Configuration: A specification of the position of all points of a robot 로봇 모든 부위 위치 -센터 위치인데 shape알면 다 되는건가? robot shape랑 robot configuration이랑 무슨 차이지? If we know the joint angles (e..

    [AI614] 01. Introduction to TAMP, Basics of robot manipulation

    학교 수업을 듣고 복습차 Lecture 1-4까지 정리한 review용 글입니다. 내용의 간결성과 전달력을 위해 수식 설명은 제하였습니다. Outline: What does this review contain? Introduction of TAMP Planning vs. Learning based approach Planning -TAMP Positions and orientations of rigid bodies Manipulator forward and inverse kinematics Manipulator velocities and dynamics 🛝 Introduction of TAMP Difference btw industrial robot and intelligent robot agents i..

    [AI614] Overview of Robot Task and Motion planning

    Introduction to Robotics: Mechanics and Control Positions and orientations of rigid bodies Manipulator forward and inverse kinematics Manipulator velocities and dynamics Manipulator equation Motion planning Discretization-based methods -RRTs and PRMs Sampling-based algorithms -RRT* Probabilistic completeness Task planning Representations for task planning -Logic-based AI, First-order logic, and ..

    Sim2Real transfer: Domain randomization, domain adaptation, System identification

    이 글은 domain randomization의 이해를 돕기 위해 작성된 글입니다. 참고자료1를 해석한 글입니다. 더 자세히 나와있으니 읽어보길 추천합니다! 로보틱스에서 어려운 문제 중 하나는 모델 자체를 실제 환경에서 어떻게 돌아가게 하는지이다. 강화학습 알고리즘의 sample inefficiency와 실제 로봇의 data collection의 문제로 우리는 simulator에 많은 양의 데이터를 제공하여 훈련하도록 하애 한다. 하지만, simulator와 실제 환경 사이의 간극은 로봇을 실제 상황에서 돌아가게 할 때 많이 발생된다. 이러한 간극은 physical parameter, 예를 들어 마찰, kp, dampling, mass, density)나 더 치명적인 비물리적인 모델링 (i.e. 표면사이..

    PDDL (Planning Domain Definition Language)

    이 글은 필자의 이해를 돕기 위해 작성된 글입니다. 참고자료1, 참고자료2 PDDL은 "classical" planning task의 표준 encoding language입니다. PDDL planning task는 다음과 같이 이루어져 있습니다. problem.pddl Objects: 존재하는 물체들 Initial state: 시작 state Goal specification: 우리가 원하는 goal # gripper-four.pddl (define (problem ) (:domain ) [...] ) domain .pddl Predicates: 물체들에 대한 제약 Actions/Operators: world를 바꾸기 위한 방식들 각 action 당 description, precondition, 과 e..

    Imitation learning

    The simplest version of imitation learning is behavior cloning.

    [CS391R] Overview of Robot Decision Making

    Robot Decision making: Choosing the actions a robot performs in the physical world Mathematical Framework of Sequential Decision Making Markov Decision Process Learning for Decision Making reinforcement learning (model-free vs. model-based, online vs offline) Optimizes the policy by trial and error in an MDP. Goal: To maximize the long-term rewards imitation learning (behavior cloning, DAgger, I..

    [CS391R] Overview of Robot perception

    Robot perception: seeing and understanding the physical world by multimodal robot sensors Robot vision vs. Computer vision Robot vision is embodied, active and environmentally situated. Embodied: Robots have physical bodies and experience the world directly. Their actions are part of a dynamic with the world and have immediate feedback on their own sensation. Active: Robots are active perceivers..

    [CS391R] Introduction of Robot Learning

    Course website Types of robot automation custom-built robots -> human expert programming -> Special-purpose behaviors General-purpose robots -> Robot learning -> General-purpose behaviors What is robot learning? The study of methods and principles that make robots learn from data -> Learning is critical for taking robots to the real world. Robot perception: seeing and understanding the physical ..

    [Modern Robotics] Contents

    Goal: Get robot information to get confidence from robot grasp, manipulation parts Ch 2. Configuration Space (3-9, 1h 10m) Ch 3. Rigid-Body Motions (10-20, 1h 50m) Ch 4. Forward Kinematics (21-23, 30m) Ch 5. Velocity Kinematics and Statics (24-29, 1h) Ch 6. Inverse Kinematics (30-32, 30m) Ch 7. Kinematics of Closed Chains (33, 10m) Ch 8. Dynamics of Open Chains (34-43, 1h 40m) Ch 9. Trajectory G..

    [Graphics] Obj

    Object 구성 Obj: Texture + Mesh format) Prefab, obj Obj 여러개 = URDF Mesh: Texture 안 입힌 거 format) fbx Texture/Material MAT: 단색 설정, 밀도, 거칠기 Image format) mat, png On pybullet 하나의 obj VisualShape(보이는 대로의 형태, 복잡) CollisionShape(덜 복잡) Multiobj Ex. 로봇팔(링크로 여러 Obj가 연결)

    [기초] 1. Introduction

    이 글은 필자가 "Introduction to Robotics" 책을 읽고 정리한 글입니다. Location: position and orientation --> Attach a coordinate system(frame) Kinematics: science of motion that treats motion without regard to the focus which cause it. Manipulator consist of rigid links, which are connected by joints that allow relative motion of neighboring links. Some manipulators contain sliding joints, in which the relative d..

    [기초] TAMP: Task and Motion Planning 소개

    온전히 제 이해를 위해 작성한 글입니다. TAMP: Task and motion planning - a sequence of low-level primitive planning Task Planning: 어떤 action을 취할지에 대한 plannning Motion Planning: 해당 action이 정해졌다면 어떤 motion을 이용할 것인지에 대한 Planning 해결 방안 Pure Planning: Model based Simulation, Learning a planner: Carefully designed models + Planner Complete / Inefficient 종류 Offline planning: optimal Online planning: MCTS Meta-planning:..

    [기초] ROS 기본 개념 정리

    1. 헷갈리는 ROS 단어 정리 roscore: ROS 전체를 작동할 때 작성 코드, ROS와 노드, 서버를 실행시켜주는 도구이다. rosrun: ROS 내부 하나의 노드를 실행 roslaunch: 다수의 ros 노드를 일괄적으로 실행 launch 파일 xml 문법 구조 노드들의 실행 옵션을 설정: 노드들 간의 관계 정의(패키지 이름, 프로그램 이름, 노드 이름, console 출력, respawn 기능 여부 등) roscd: 해당 패키지의 디렉토리로 이동 $roscd [package name] rostopic: ROS msg 관리 $rostopic list //topic의 목록 $rostopic echo /[topic name] //topic의 데이터 $rostopic info /[topic name]..

    [백준] 1100번: 하얀 칸

    1100번 문제[링크] 문제에서 집중해야 할 내용/이 문제를 당락짓는 요인 1. 하얀 칸과 검은 칸을 어떻게 구분 지을 수 있는가? 2. 많은 char형 변수들을 어떻게 받을 수 있는가? 문제의 해결책 1. 행렬로 생각하여 행이 홀수일 때 열이 짝수 / 행이 짝수일 때 열이 홀수인 경우에 하얀칸에 해당된다. 2. char형은 gets함수를 이용하여 입력받을 수 있다. 단, 언어 설정시 C로 설정해주어야 한다.(C++에 존재하지 못한다.)