
해당 블로그 참조하면서 따라해봤다 http://enssionaut.com/board_robotics/942 로봇 - ROS(Robot Operating System) 개념과 활용 - 5. 바닥부터 node 작성하기 지금까지는 기존에 있던 패키지 노드를 수정하여 사용해 왔습니다. 이번에는 노드를 아예 처음부터 새로 작성하는 법에 대해 알아보겠습니다. 또한 노드 내부에서 사용되는 ROS의 기본 구조에 enssionaut.com ROS는 기본적으로 python으로 동작하지만 roscpp 라이브러리를 통해 C++소스를 작성할 수 있다. 메시지의 형식은 사정 정의되어 있고 std_msgs, common_msgs, 사용자 정의 메시지가 있다. std_msgs 는 bool, char, int, float, strin..

Jetson에서 지속적인 문제 발생으로, laptop으로 옮겼다. ssd윈도우 설치하고 hdd에 우분투 설치했다. ROS 설치하고 기존에 생겼던 오류들 메뉴얼대로 해결 한 결과 작동한다. ㅂㄷㅂㄷ 왜 안됐던것인지. 지금 failsafe때문에 이륙을 못하는 것 같음. QgroundControl 이용해서 기능 disable 해주면 될 것 같다. *Jetson에서는 예상치 못한 오류들이 지속해서 발생해서 맘편하게 노트북에서 듀얼부팅시켜서 진행했다. 이 글에는 Qgroundcontrol 손보는부분까지 작성해보고 그 다음으로 넘어가겠음. QgroundControl 우선 설치해주고 (홈페이지 메뉴얼 참조) https://docs.qgroundcontrol.com/master/en/releases/daily_buil..

PID Feedback control과 Feedforward control을 함께 사용해 로봇을 제어하는 Computed Torque Control(CTC)에 대해 알아보고자 한다. P gain : 값을 조절해 로봇이 착지하면서 다리를 접어 충격을 완화시키는 일종의 스프링과 같은 역할을 하게 한다. I gain : steady-state error값을 감소시키는 역할을 한다. D gain : 값을 조절해 가상의 댐퍼와 같은 역할을 하게 한다. 위의 링크를 제어하는 경우 중력을 이겨내 원하는 위치로 이동해야 하는데 이는 Feedforward control 만으로는 불가능하다. 따라서 여기에 추가로 Feedback control을 같이 써야 한다. 위의 block diagram과 같이 Computed Tor..

Forward Dynamics는 주어진 토크, 각도, 각속도를 이용해 각가속도를 구하고(simluation에 주로 사용) Inverse Dynamics는 각도, 각속도, 각가속도를 이용해 토크를 구한다.(실제 로봇 제어에 사용) Inverse Dynamics는 Lagrangian 과 Newton-Euler 방식이 있고 이 중 Lagrangian formulation 에 대해 알아보았다. Lagrangian function은 kinetic energy(운동 에너지)와 potential energy(위치 에너지)의 차로 구해지고 이렇게 구한 Lagrangian function을 이용해 위와 같이 토크를 구할 수 있다. 또한 n개의 링크를 가진 매니퓰레이터의 Lagrangian function을 구할 경우 모..

최근 글에 재정리한 글이 있으니 해당 글을 참조하시면 될 것 같습니다. 이부분은 이제 마무리 하려고 합니다. 저는 nvidia jetson을 가지고 테스트 했는데 이유는 모르겠으나 데스크탑과 달리 문제가 지속해서 생기고 있습니다. 데스크탑도 오류 발생하면 댓글좀 부탁드립니다. 그냥 제가 실패한 과정부터 써내려간 것임 순서 ROS, gazebo(ROS에 기본으로 깔리는 것 이용) -> mavros -> px4(pixhawk firmware를 기반으로 simulation을 하기때문)-> simulation tool ROS와 gazebo는 이미 설치되었다는 가정입니다. 아래 modudculab_ros는 일단 넘어가주세요. cd ~/catkin_ws/src git clone https://github.com/J..