많은 예약글의 발행의 폐단으로 이 글이 발행될 때 제 상황이 어떨지 몰르겠네요^^. 현재 ROS 관련된 학습의 경우 저는 현재 겨우 초보적 수준으로 고수가 만들어 둔 프로젝트를 그저 따라만 하고 있는 수준입니다.ㅠㅠ. 그리고 제 오랜 습관대로 극 초반 따라하기 수준의 글을 더더욱 공들여서 작성하고 있구요.^^. 그건 제가 블로그를 다른 이에게 보여주는 용도보다 제가 필요할 때 다시 열람하는 노트의 의미를 더 두고 있기 때문이구요^^ 뭐 아무튼 그렇다는 거죠^^. 이 번 글은 종종 언급되는 로보티즈 표윤석 박사님의 자료를 정말 .. 정말 그~~~대로 따라하는 글입니다. 제가 표 박사님께 선물을 받았다[바로가기]는 글을 적었는데요. 이 선물을 받고 표박사님의 설명 글을 찾아서 그대로 따라하는 거죠. 그 글은 [바로가기]에 있습니다. 현재 저는 Ubuntu 14.04에 ROS는 Indigo 버젼에 맞춰서 진행 중입니다.^^
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
일단 시작은 catkin workspace가 없다면 위 명령으로 만들어 줍니다.
그리고...
git clone https://github.com/oroca/turtlebot_arm.git
제가 선물 받은 turtlebot_arm의 프로젝트를 git에서 받도록 하죠.
그러면 저렇게 모두 잘 다운받았네요. 앞으로 저는 저 내용을 모두 학습하는 것으로 ROS 공부를 대신할려고 합니다.^^
아~ 혹시나 하고 터미널을 실행할때 마다 ROS의 프로젝트에 접근을 용이하게 할려면 위 그림처럼 116번 줄의 내용을 추가해 둡니다.
git clone https://github.com/ROBOTIS-GIT/ROBOTIS-Framework.git
그리고, robotis의 dynamixel관련 프레임웍도 git에서 받아 둡니다.^^.
sudo apt-get install ros-indigo-moveit-* sudo apt-get install ros-indigo-arbotix-* sudo apt-get install ros-indigo-ros-control
이제 위 명령들로 Moveit과 dynamixel관련 라이브러리를 받아 둡니다. 이제...
catkin_make
~/catkin_ws폴더에서 catkin_make를 실행해서 빌드합니다...
roslaunch turtlebot_arm_bringup arm_4dof_sim.launch
이제 위 명령을 실행하면...
RViz가 실행되면서 이런 화면과 함께 각 축을 가동 시켜 볼 수 있게 됩니다.
ㅎㅎ 여기서 이 자료의 원 저자이신 표박사님께서는 위 코드를 분석해보라고 하시네요~^^ 저도 이 글 이후에는 이 프로젝트의 내용을 학습할 생각입니다. 지금은 따라하기 계속 진행 중~~
roslaunch moveit_setup_assistant setup_assistant.launch
이제 위 명령을 실행하면...
Moveit 화면이 나타납니다. 저기서 Create_New...을 클릭하면
위 경로에서 arm_4dof.urdf.xacro를 선택하면...
저런 화면을 볼 수 있습니다. 이제 Load Files를 선택합니다.
그러면 Success~!라는 메세지를 볼 수 있습니다.^^.
이제 Self-Collisions를 선택하고, Regenerate Default Collision Matrix를 선택합니다.
충돌과 관련된 설정을 할 수 있다는데... 전 뭐 따라하기니 그냥 이대로 패스합니다.%^^
그리고 Virtual JointAdd Virtual Joint를 눌러줍니다.
거기서 위 화면 처럼 입력합니다.
그러면 위와 같이 Virtual Joints가 설정될 겁니다.
이제 Planning Groups를 선택하고 Add Group을 선택합니다.
그리고 위 화면처럼 입력한 후 Add Kin.Chain을 선택합니다.
위 화면에서 Expand All을 선택하고~~
펼쳐진 화면에서 arm_base_link를 Base Link로 선택합니다.
그리고 gripper_link를 Tip_Link로 선택합니다. 그리고 Save~~
그러면 위 화면처럼 나타납니다^^ 위 화면에서 다시 Add Group을 선택하고...
위 그림처럼 입력해서 gripper를 만듭니다. 그리고 Add Joints를 선택합니다.
gripper_joint를 선택해서 Selected Joints로 넘겨 줍니다.
이제 위 화면에서 Links를 선택하고 Edit Selected를 누릅니다.
거기서 위에 선택된 14~17번 링크를 선택합니다. 그리고 Save~~
그러면 위 그림처럼 결과가 나옵니다.^^
이제 Robot Poses를 선택합니다. 그리고 Add Pose....
위 그림처럼 입력합니다.
그리고 forward를 잡아주구요~^^
이번에느 gripper의 close를 정의해 둡니다.
이번에는 open~~
설정이 끝나면 저런 결과를 얻어야 합니다.^^
이제 End Effectors를 선택합니다.
그리고.. 위 그림처럼 설정합니다.^^
그럼 저렇게~~~
이제 Passvie Joints를 설정하고~ Configuration Files에서
위 폴더를 선택해 주면~~
위와 같이 됩니다^^ 위에서 Generated Package를 눌러줍니다.
Successfully~~ OK~^^ 이제~ moveit 단계는 끝났네요... 편집된 moveit 설정을 재 편집할 때는
roslaunch turtlebot_arm_4dof_moveit_config setup_assistant.launch
와 같은 명령을 주면 된답니다.^^ 뭐 여하튼 잘 되었는지 확인하러 고고~~
roslaunch turtlebot_arm_4dof_moveit_config demo.launch
네~ demo.launch를 실행하면 다시 RViz 화면이 나타나면서 뭔가 멋드러진 화면이 나타납니다.^^.
저렇게 움직여 지기도 하구요~~
그 후 위 그림의 Planning탭의 Plan and Execute를 실행하면
위 그림과 같은 결과를 얻을 수 있습니다. 아 물론 kinematic chain이 설정되었으니 역기구학 정도는 손쉽게 풀리는 듯 합니다.^^
참~ 하면 할 수록 재미있는 것이 ROS이면서 또 한 편으로는 정말 공부해야 할 것이 많은 것도 ROS입니다. 대단대단~~~&^^...
'Robot > Robot Program - ROS' 카테고리의 다른 글
블렌더(Blender)를 이용하여 3D 모델 그리기 (6) | 2016.07.15 |
---|---|
유니티에 실제 서보모터 3D 모델을 import해서 서보모터 구동해 보기 (2) | 2016.07.06 |
푸쉬 버튼으로 유니티 Directional Light의 Intensity 조절하기 (6) | 2016.06.29 |
유니티(Unity) UI의 Toggle Button과 아두이노의 Push Button 연동하기 (4) | 2016.06.22 |
ROS의 RViz로 세계적인 수술용 로봇 daVinci 다빈치를 만나보자 (2) | 2016.06.21 |
ROS 3D 시각화 툴 RViz 쉽게 쉽게 처음 시작해보기 (17) | 2016.06.16 |
ROS 메세지 - 토픽과 서비스 실습하기 (12) | 2016.06.15 |