SlideShare a Scribd company logo
1 of 56
Download to read offline
로봇 암 모델링과 MoveIt! 사용법
The 3rd Open Robotics Seminar
표윤석
WWW.OROCA.ORG
Section 12.
2015/05/24
로봇 암?
http://www.hottoys.com.hk/
http://www.hottoys.com.hk/
다들 너무 영화 많이 보셨어요~
그래도 로봇 암은 현실적이죠!
세계 최초 산업용 로봇 유니메이트(unimate), 1961
내가
할아버지
급이지~
http://en.wikipedia.org/wiki/Unimate
원통좌표형
극좌표형
직교좌표형
수평다관절형(SCARA형) 수직다관절형http://www.ait.kyushu-u.ac.jp/
원통좌표형
극좌표형
직교좌표형
수평다관절형(SCARA형) 수직다관절형http://www.ait.kyushu-u.ac.jp/
오늘 세미나에서
다룰 녀석
http://www.robotis.com/
6th axis
5th axis
4th axis
3rd axis
2nd axis
1st axis
관절
(revolute joint)
링크(link)
http://www.theroboticschallenge.org/http://www.robotis.com/
DRC 파이팅!!
6th axis
5th axis
4th axis
3rd axis
2nd axis
1st axis
관절
(revolute joint)
링크(link)
CHIMP
(TARTAN RESCUE)
Aero DRC
(TEAM AERO)
HRP2+
(TEAM AIST-NEDO)
DRC-Hubo
(TEAM DRC-HUBO AT UNLV)
Cog-Burn
(TEAM GRIT)
Johnny 05
(TEAM HECTOR)
Atlas
(TEAM HKU)
HRP-2
(Team HRP2-Tokyo)
Running Man
(Team IHMC Robotics)
Xing Tian
(Team Intelligent Pioneer)
DRC-HUBO
(Team KAIST)
Helios (Atlas)
(Team MIT)
Hydra
(Team NEDO-Hydra)
JAXON
(Team NEDO-JSK)
Momaro
(Team NimbRo Rescue)
RoboSimian
(Team RoboSimian)
THORMANG
(Team ROBOTIS)
THORMANG
(Team SNU)
THOR-RD
(Team THOR)
Hercules
(Team TRAC Labs)
LEO
(Team TROOPER)
ESCHER
(Team VALOR)
Florian
(Team ViGIR)
WALK-MAN
(Team WALK-MAN)
WARNER
(Team WPI-CMU)
http://www.theroboticschallenge.org/teams
Yaskawa SmartPal V
로봇 암 제어?
그리 호락호락한 녀석은 절대 아님!
로봇 암 제어?
그리 호락호락한 녀석은 절대 아님!
근데! 판이 바뀌었다!
등장!(^^)/
그래도, 기초는 알고 가자!
x
y
z
3차원 공간
저기!
(x,y,z)
작업 공간(work space): 말단 장치의 위치(x, y, z)와 자세(θ, φ, ψ)로 표현한 공간
www.neo-tex.com
x
y
z
3차원 공간
저기!
(x,y,z)
http://www.robotis.com/
제 뭐래?
각도 값으로 주세요. ^^;;
(θ1, θ2,… θ 6)
작업 공간(work space): 말단 장치의 위치(x, y, z)와 자세(θ, φ, ψ)로 표현한 공간
6th axis
5th axis
4th axis
3rd axis
2nd axis
1st axis
관절 공간(joint space): 관절의 각 각도(θ1,θ2,θ3,...)로 표현한 공간
http://www.tbotech.com/sodacansafe.htm
x
y
z
위치(x, y, z)
자세(θ, φ, ψ)
roll(θ)
pithch(φ) yaw(ψ)
6개의 변수로
물체의 위치/자세가 표현 가능
= 6자유도로 표현가능
http://www.tbotech.com/sodacansafe.htm
x
y
z
위치(x, y, z)
자세(θ, φ, ψ)
roll(θ)
pithch(φ) yaw(ψ)
6th axis
5th axis
4th axis
3rd axis
2nd axis
1st axis
http://www.robotis.com
6개의 변수로
물체의 위치/자세가 표현 가능
= 6자유도로 표현가능
6개의 변수로
로봇의 말단 장치의 위치,자세가 결정
= 6자유도를 갖는다
고생들 하셨습니다!
좀 쉽게 갑시다.
모션 플래닝 패키지
고생들 하셨습니다!
https://www.youtube.com/watch?v=dblCGZzeUqs
http://wiki.ros.org/ROS/Patterns/RobotModelling
URDF(Universal Robot Description Format)→ RViz
SRDF(Semantic Robot Description Format)→ MoveIt!
SDF(Simulation Description Format) → Gazebo
http://wiki.ros.org/ROS/Patterns/RobotModelling
URDF
$ cd ~/catkin_ws/src
$ catkin_create_pkg testbot_description urdf
$ cd testbot_description
$ mkdir urdf
$ cd urdf
$ gedit testbot.urdf
기저 링크1
링크2
링크3
말단장치
관절1
관절2
관절3
링크4
기저 링크1
링크2
링크3
말단장치
관절1
관절2
관절3
링크4
<link name="link1">
<collision>
<origin rpy="0 0 0" xyz="0 0 0.25"/>
<geometry>
<box size="0.1 0.1 0.5"/>
</geometry>
</collision>
<visual>
<origin rpy="0 0 0" xyz="0 0 0.25"/>
<geometry>
<box size="0.1 0.1 0.5"/>
</geometry>
<material name="black"/>
</visual>
<inertial>
<origin rpy="0 0 0" xyz="0 0 1.0"/>
<mass value="1"/>
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="1.0" iyz="0.0" izz="1.0"/>
</inertial>
</link>
기저 링크1
링크2
링크3
말단장치
관절1
관절2
관절3
링크4
<joint name="joint2" type="revolute">
<parent link="link2"/>
<child link="link3"/>
<origin rpy="0 0 0" xyz="0 0 0.75"/>
<axis xyz="0 1 0"/>
<limit effort="30" lower="-2.617" upper="2.617" velocity="1.571"/>
</joint>
$ check_urdf testbot.urdf
robot name is: test_robot
---------- Successfully Parsed XML ---------------
root Link: base has 1 child(ren)
child(1): link1
child(1): link2
child(1): link3
child(1): link4
$ urdf_to_graphiz testbot.urdf
Created file test_robot.gv Created file test_robot.pdf
<launch>
<arg name="model" default="$(find testbot_description)/urdf/testbot.urdf" />
<arg name="gui" default="True" />
<param name="robot_description" textfile="$(arg model)" />
<param name="use_gui" value="$(arg gui)"/>
<node pkg="joint_state_publisher" type="joint_state_publisher“name="joint_state_publisher" />
<node pkg="robot_state_publisher" type="state_publisher“name="robot_state_publisher" />
</launch>
$ roslaunch testbot_description testbot.launch
$ rosrun rviz rviz
(Jorge Santos, CC BY 3.0)
$ cd ~/catkin_ws/src
$ git clone https://github.com/turtlebot/turtlebot_arm.git
$ roslaunch turtlebot_arm_description test.launch
$ rosrun rviz rivz
http://moveit.ros.org/documentation/concepts/
$ roslaunch moveit_setup_assistant setup_assistant.launch
$ roslaunch turtlebot_arm_moveit_config turtlebot_arm_moveit.launch
$ sudo apt-get install ros-indigo-dynamixel*
$ sudo apt-get install ros-indigo-arbotix*
$ roslaunch turtlebot_arm_bringup arm.launch --screen
$ roslaunch turtlebot_arm_moveit_config turtlebot_arm_moveit.launch sim:=false –screen
<?xml version="1.0"?>
<!--
- Base : kobuki
- Stacks : hexagons
- 3d Sensor : kinect
-->
<robot name="turtlebot" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find turtlebot_description)/urdf/turtlebot_library.urdf.xacro" />
<include filename="$(find turtlebot_arm_description)/urdf/arm.xacro" />
<turtlebot_arm parent="base_link" color="white" gripper_color="green"
joints_vlimit="1.571" pan_llimit="-2.617" pan_ulimit="2.617">
<origin xyz="0.12 0 0.42"/>
</turtlebot_arm>
<kobuki/>
<stack_hexagons parent="base_link"/>
<sensor_kinect parent="base_link"/>
</robot>
Thank you for your attention.
Yoonseok Pyo
passionvirus@gmail.com
www.robotpilot.net
WWW.OROCA.ORG

More Related Content

What's hot

옥트리의 구축
옥트리의 구축옥트리의 구축
옥트리의 구축
sj k
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
KyeongWon Koo
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
QooJuice
 

What's hot (20)

Autowareの紹介と物体検出
Autowareの紹介と物体検出Autowareの紹介と物体検出
Autowareの紹介と物体検出
 
리얼타임 렌더링에 대해
리얼타임 렌더링에 대해리얼타임 렌더링에 대해
리얼타임 렌더링에 대해
 
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
集まれ!Dreamingエンジニア! 〜箱庭で紡ぎ出されるIoT/クラウドロボティクス開発の新しいカタチ〜
 
옥트리의 구축
옥트리의 구축옥트리의 구축
옥트리의 구축
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半
 
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
 
object detection with lidar-camera fusion: survey
object detection with lidar-camera fusion: surveyobject detection with lidar-camera fusion: survey
object detection with lidar-camera fusion: survey
 
さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢さるでも分かりたい9dofで作るクォータニオン姿勢
さるでも分かりたい9dofで作るクォータニオン姿勢
 
開発環境の認証を改善して Redmineを社内標準にした話
開発環境の認証を改善して Redmineを社内標準にした話開発環境の認証を改善して Redmineを社内標準にした話
開発環境の認証を改善して Redmineを社内標準にした話
 
MoveItの新機能、 OMPL Constrained Planningを試してみた
MoveItの新機能、 OMPL Constrained Planningを試してみた MoveItの新機能、 OMPL Constrained Planningを試してみた
MoveItの新機能、 OMPL Constrained Planningを試してみた
 
実社会・実環境におけるロボットの機械学習 ver. 2
実社会・実環境におけるロボットの機械学習 ver. 2実社会・実環境におけるロボットの機械学習 ver. 2
実社会・実環境におけるロボットの機械学習 ver. 2
 
Recast Detour.pptx
Recast Detour.pptxRecast Detour.pptx
Recast Detour.pptx
 
ライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNAライブストリーミング低遅延化の取り組み @ DeNA
ライブストリーミング低遅延化の取り組み @ DeNA
 
충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)충돌 알고리즘(collision detection algorithms)
충돌 알고리즘(collision detection algorithms)
 
ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築ROS を用いた自律移動ロボットのシステム構築
ROS を用いた自律移動ロボットのシステム構築
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
 
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
 
[0602 박민근] Direct2D
[0602 박민근] Direct2D[0602 박민근] Direct2D
[0602 박민근] Direct2D
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 

More from Yoonseok Pyo

More from Yoonseok Pyo (19)

제6회 오픈 로보틱스 세미나 4세션 공학으로 콘텐츠 만들기
제6회 오픈 로보틱스 세미나 4세션 공학으로 콘텐츠 만들기제6회 오픈 로보틱스 세미나 4세션 공학으로 콘텐츠 만들기
제6회 오픈 로보틱스 세미나 4세션 공학으로 콘텐츠 만들기
 
제6회 오픈 로보틱스 세미나 1세션 임의의 어떤 로봇
제6회 오픈 로보틱스 세미나 1세션 임의의 어떤 로봇제6회 오픈 로보틱스 세미나 1세션 임의의 어떤 로봇
제6회 오픈 로보틱스 세미나 1세션 임의의 어떤 로봇
 
ROS SERIAL and OpenCR
ROS SERIAL and OpenCRROS SERIAL and OpenCR
ROS SERIAL and OpenCR
 
20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)
 
20160406 ROS 1차 강의 (for 아스라다 팀)
20160406 ROS 1차 강의 (for 아스라다 팀)20160406 ROS 1차 강의 (for 아스라다 팀)
20160406 ROS 1차 강의 (for 아스라다 팀)
 
DYNAMIXEL ROS Package
DYNAMIXEL ROS PackageDYNAMIXEL ROS Package
DYNAMIXEL ROS Package
 
공돌이에게도 전략은 필요하다
공돌이에게도 전략은 필요하다공돌이에게도 전략은 필요하다
공돌이에게도 전략은 필요하다
 
BLDC 모터 돌려보기
BLDC 모터 돌려보기BLDC 모터 돌려보기
BLDC 모터 돌려보기
 
Open Source License
Open Source LicenseOpen Source License
Open Source License
 
4th Open Robotics Seminar
4th Open Robotics Seminar4th Open Robotics Seminar
4th Open Robotics Seminar
 
2nd ROS Tutorial Seminar Section 4
2nd ROS Tutorial Seminar Section 42nd ROS Tutorial Seminar Section 4
2nd ROS Tutorial Seminar Section 4
 
2nd ROS Tutorial Seminar Section 2
2nd ROS Tutorial Seminar Section 22nd ROS Tutorial Seminar Section 2
2nd ROS Tutorial Seminar Section 2
 
2nd ROS Tutorial Seminar
2nd ROS Tutorial Seminar2nd ROS Tutorial Seminar
2nd ROS Tutorial Seminar
 
20150708 ros seminar_in_busan_korea
20150708 ros seminar_in_busan_korea20150708 ros seminar_in_busan_korea
20150708 ros seminar_in_busan_korea
 
제3회 오픈 로보틱스 세미나 (제9세션) : ROS를 활용한 SLAM과 내비게이션
제3회 오픈 로보틱스 세미나 (제9세션) : ROS를 활용한 SLAM과 내비게이션제3회 오픈 로보틱스 세미나 (제9세션) : ROS를 활용한 SLAM과 내비게이션
제3회 오픈 로보틱스 세미나 (제9세션) : ROS를 활용한 SLAM과 내비게이션
 
제3회 오픈 로보틱스 세미나 (제7세션) : 로봇운영체제ROS 개론
제3회 오픈 로보틱스 세미나 (제7세션) : 로봇운영체제ROS 개론제3회 오픈 로보틱스 세미나 (제7세션) : 로봇운영체제ROS 개론
제3회 오픈 로보틱스 세미나 (제7세션) : 로봇운영체제ROS 개론
 
제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)
제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)
제2회 오픈 로보틱스 세미나 (제10세션 ROS를 활용한 SLAM과 내비게이션)
 
제2회 오픈 로보틱스 세미나 (제8세션 로봇 운영체제 ROS 개론)
제2회 오픈 로보틱스 세미나 (제8세션 로봇 운영체제 ROS 개론)제2회 오픈 로보틱스 세미나 (제8세션 로봇 운영체제 ROS 개론)
제2회 오픈 로보틱스 세미나 (제8세션 로봇 운영체제 ROS 개론)
 
제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)
제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)
제1회 오픈 로보틱스 세미나 (제6세션:로봇 운영체제 ROS 개론)
 

제3회 오픈 로보틱스 세미나 (제12세션) : 로봇 암 모델링과 MoveIt! 사용법