In-Hand Manipulation via Motion Cones 저자 : Nikhil Chavan-Dafle, Rachel Holladay, and Alberto Rodriguez 논문 : https://arxiv.org/abs/1810.00219 작성 : 이해구 Intro 모션 콘은 마찰이 있는 밀림 동작에서 강체가 가질 수 있는 모션의 집합이다. 마찰 접촉에 대한 underactuated 시스템이라고 볼 수 있겠다. Horizontal pushing task에서 point contact일 때 line contact 일때에 대한 연구에서 발전됐고, 효율적인 경로 계획, 제어의 기초로 사용됐다. 논문에서는 평면에서의 테스크들을 조금 더 일반화시켜 모션 콘을 만드는 방법에 대해 보여준다...
Prehensile pushing: In-hand Manipulation with Push-Primitives 저자 : Nikhil Chavan-Dafle and Alberto Rodriguez 논문 : https://dspace.mit.edu/handle/1721.1/98114 작성 : 이해구 물체를 잡고 있는 그리퍼가 있고, 물체와 닿아 있는 환경이 있다. 즉 최소 물체에는 접촉점이 3개가 있게 된다. 우리가 물체를 움직이게 싶다면 접촉점 3개에 힘을 가하면 된다(힘을 발생 시킨다).접촉점에 힘을 가하려면 우선 접촉 모델이 있어야 한다. 접촉 모델은 접촉에 의해 생긴 기하학적인 조건과 마찰 조건의 특징을 나타내고 이들이 물체를 집었을 때의 안정성과 물체의 움직임에 주는 영향을 나타낸다. ..
Adaptive control은 쉽게 말해 모델의 불확실성을 파라미터를 조절하여 해결하는 제어 방식이다. Adaptive control에 사용되는 개념 중에 integral adaptive law가 있다. Integral adaptive law는 파라미터가 불확실하거나 time variant(시간에 따라 변할 때)할 때 파라미터를 추정할 때 사용 된다. 즉, Adaptive control의 큰 틀에서 estimator에 사용 되는 개념이다. Integral adaptive law는 이름에서도 알 수 있듯이 시스템 오차 신호를 적분하여 파라미터 추정치를 업데이트 하게 된다. 시스템의 출력과 원하는 reference 출력 사이의 오차를 시간에 대해 적분하여 이를 파라미터 추정에 사용한다. 시간에 따른 파..
Controal Barrier Functions : Theory and Applications 저자 : Aaron D. Ames1 , Samuel Coogan2 , Magnus Egerstedt3 , Gennaro Notomista4 , Koushil Sreenath5 , and Paulo Tabuada 논문 : https://arxiv.org/pdf/1903.11199.pdf 작성 : 이해구 safety-critical system이라는 용어는 안전성을 메인 디자인 기준으로 두는 시스템을 말한다. 그렇다면 안전성이란 정확히 뭘까? bad 행동은 일어나지 않고 good 행동은 "결국" 일어나야 하는 것이 safe라면, asymptotically stable은 equilibrium point에 결국..
Modeling, learning, perception, and control methods for deformable object manipulation 저자 : Hang Yin, Anastasia Varava, Danica Kragic 논문 : https://www.science.org/doi/epdf/10.1126/scirobotics.abd8803 작성 : 이해구 다양한 물체가 단순 강체가 아닌 힘(중력포함)에 따라 쉽게 변할 수 있다. 이런 물체들을 다루는 것은 분명 다양한 어플리케이션에 필요하지만 여러 분야들이 통합되어야지만 잘 될 수 있어 강체를 다루는 것보다 적게 연구되었었다. 다양한 분야가 발전하면서 기존에 제약을 해결할 인사이트를 제공해주고 있다. 논문에서는 변형 가능한 물체에 ..
오늘은 학술적인 내용보다는 조금은 테크니컬한 내용을 가져왔습니다. ROS2와 함께 Moveit2도 같이 Release가 되어 여러 로봇 연구에 사용되고 있는데요. 그 중 최근 제가 관심 있게 보고 있는 기능은 Hybrid Planning입니다. 모바일 로봇에 조금 익숙하신 분들은 Global Planner와 Local Planner에 대한 개념을 알고 계실 겁니다. Motion planning은 크게 봤을 경우 “Sense-Plan-Act” 방식을 사용하는데요. 이런 방식은 환경이 변하지 않는 상태에서 진행하는 Global motion planning에서는 잘 작동합니다. 다만 주변 환경이 다이나믹하게 변하는 경우에는 Global planner로만으로는 Task를 부드럽게 수행하기 어렵습니다. 이런 이유..
Motion Planning Python API(링크) ▶ Moveit planning Scene Configuration 무브잇은 기본적으로 다수의 플래너를 제공한다. 이런 플래너마다 세팅과 파라미터를 설정해줘야하는데, ROS2에서는 configuration yaml 파일을 작성하면 된다. moveit_py 노드와 맞는 cofiguration 파일을 보자. planning_scene_monitor_options: name: "planning_scene_monitor" robot_description: "robot_description" joint_state_topic: "/joint_states" attached_collision_object_topic: "/moveit_cpp/planning_sce..
패키지를 생성해준다. ros2 pkg create \ --build-type ament_cmake \ --dependencies moveit_task_constructor_core rclcpp \ --node-name mtc_node mtc_tutorial ros2로 넘어가면서 노드 이름을 추가해서 cpp 파일을 바로 만들 수 있다. 만들어진 mtc_node.cpp 파일을 확인해보자. #include #include #include #include #include #include #if __has_include() #include #else #include #endif #if __has_include() #include #else #include #endif 헤더에는 로스2에 필요한 rclcpp와 플..