ዝርዝር ሁኔታ:
- ደረጃ 1 ግሪፕተርን ማከል
- ደረጃ 2 - ክንድ መገንባት
- ደረጃ 3: MoveIt RobotCommander በይነገጽ
- ደረጃ 4 የአርዱኖ ኮድ ለሮቦት መቆጣጠሪያ
- ደረጃ 5 (ከተፈለገ) IKfast ተሰኪን በማመንጨት ላይ
- ደረጃ 6 ራምፕ ሙከራ
ቪዲዮ: ROS MoveIt ሮቦቲክ ክንድ ክፍል 2 ሮቦት ተቆጣጣሪ 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
github.com/AIWintermuteAI/ros-moveit-arm.git
በቀደመው የጽሁፉ ክፍል እኛ ለሮቦቲክ ክንድችን URDF እና XACRO ፋይሎችን ፈጥረናል እና አስመስሎ በተሰራ አከባቢ ውስጥ የእኛን የሮቦት ክንድ ለመቆጣጠር RVIZ ን ጀምረናል።
በዚህ ጊዜ በእውነተኛው የሮቦት ክንድ እንሰራለን! መያዣውን እንጨምራለን ፣ የሮቦት መቆጣጠሪያን እንጽፋለን እና (እንደ አማራጭ) የ IKfast የተገላቢጦሽ ኪኔማቲክስ ፈላጊን እንፈጥራለን።
ጌሮኒሞ!
ደረጃ 1 ግሪፕተርን ማከል
መያዣን ማከል መጀመሪያ ትንሽ ግራ የሚያጋባ ነበር ፣ ስለዚህ ይህንን ክፍል በቀደመው ጽሑፍ ውስጥ ዘለልኩት። ከሁሉም በኋላ በጣም ከባድ እንዳልሆነ ተገለጠ።
የመያዣ አገናኞችን እና መገጣጠሚያዎችን ለመጨመር የ URDF ፋይልዎን መለወጥ ያስፈልግዎታል።
ለኔ ሮቦት የተሻሻለው የ URDF ፋይል ከዚህ ደረጃ ጋር ተያይ isል። በመሠረቱ እንደ ክንድ ክፍል ተመሳሳይ አመክንዮ ይከተላል ፣ እኔ ሶስት አዳዲስ አገናኞችን (ክላቭ_ባዝ ፣ ክራንች_ር እና ጥፍር_ል) እና ሶስት አዲስ መገጣጠሚያዎችን (መገጣጠሚያ 5 ተስተካክሏል ፣ እና መገጣጠሚያ 6 ፣ መገጣጠሚያ 7 የሚሽከረከሩ መገጣጠሚያዎች ናቸው)።
የ URDF ፋይልዎን ካሻሻሉ በኋላ MoveIt የመነጨ ጥቅልን እና የ xacro ፋይልን በ MoveIt ማዋቀር ረዳት በመጠቀም ማዘመን ያስፈልግዎታል።
በሚከተለው ትዕዛዝ የማዋቀር ረዳት ያስጀምሩ
roslaunch moveit_setup_assistant setup_assistant.launch
አሁን ያለውን MoveIt ውቅር አርትዕን ጠቅ ያድርጉ እና በ MoveIt ጥቅልዎ አቃፊውን ይምረጡ።
አዲስ የእቅድ ቡድን ግሪፕተር (ለአገናኛው አገናኞች እና መገጣጠሚያዎች) እና እንዲሁም የመጨረሻ ውጤት ሰጪን ያክሉ። የእኔ ቅንጅቶች ከዚህ በታች ባለው ቅጽበታዊ ገጽ እይታዎች ውስጥ ናቸው። ለመያዣው የኪኔቲክስ ፈታሽን አለመረጡን ልብ ይበሉ ፣ አስፈላጊ አይደለም። ጥቅሉን ይፍጠሩ እና ፋይሎቹን ይፃፉ።
አሂድ
catkin ማድረግ
በእርስዎ ካትኪን የሥራ ቦታ ውስጥ ያዝዙ።
ደህና ፣ አሁን ከመያዣ ጋር ክንድ አለን!
ደረጃ 2 - ክንድ መገንባት
እኔ እንደጠቀስኩት የእጅ 3 ዲ አምሳያ በ Juergenlessner የተሰራ ፣ ስለ አስደናቂ ሥራ እናመሰግናለን። አገናኙን ከተከተሉ ዝርዝር የመሰብሰቢያ መመሪያዎች ሊገኙ ይችላሉ።
ምንም እንኳን የቁጥጥር ስርዓቱን መለወጥ ነበረብኝ። ሰርዶስን ለመቆጣጠር አርዱዲኖ ኡኖን ከሴንሰር ጋሻ ጋር እጠቀማለሁ። ዳሳሽ ጋሻ ሽቦውን በማቅለል ብዙ ይረዳል እንዲሁም የውጭ ኃይልን ለ servos ለማቅረብ ቀላል ያደርገዋል። 12V 6A የኃይል አስማሚ በደረጃ-ታች ሞዱል (6V) በኩል ወደ ዳሳሽ ጋሻ እጠቀማለሁ።
Servos ላይ ማስታወሻ. ከ Taobao የተገዛውን MG 996 HR servos እጠቀማለሁ ፣ ግን ጥራቱ በእርግጥ መጥፎ ነው። እሱ በእርግጥ ርካሽ የቻይንኛ ተንኳኳ ነው። ለክርን መገጣጠሚያው ያለው በቂ የማሽከርከሪያ ኃይል አልሰጠም እና በከባድ ጭነት አንድ ጊዜ እንኳን ማቃጠል ጀመረ። የክርን መገጣጠሚያ servo ን ከተሻለ ጥራት አምራች በ MG 946 HR መተካት ነበረብኝ።
ረጅም ታሪክ አጭር - ጥራት ያለው servos ይግዙ። አስማታዊ ጭስ ከእርስዎ ሰርቪስ የሚወጣ ከሆነ ፣ የተሻለ servos ይጠቀሙ። 6V በጣም አስተማማኝ ቮልቴጅ ነው ፣ አይጨምሩት። የማሽከርከር ኃይልን አይጨምርም ፣ ግን አገልጋዮቹን ሊጎዳ ይችላል።
ለ servos ሽቦዎች እንደሚከተለው
መሠረት 2
ትከሻ 2 4 ትከሻ 1 3
ክርን 6
መያዣ 8
የእጅ አንጓ 11
የአርዲኖን ንድፍ ለመቀየር እስኪያስታውሱ ድረስ ለመለወጥ ነፃነት ይሰማዎት።
ሃርድዌርን ከጨረሱ በኋላ ትልቁን ስዕል እንመልከት።
ደረጃ 3: MoveIt RobotCommander በይነገጽ
ስለዚህ ፣ አሁን ምን? ለማንኛውም MoveIt እና ROS ለምን ይፈልጋሉ? በቀጥታ በአርዱዲኖ ኮድ በኩል ክንድዎን መቆጣጠር አይችሉም?
አዎ ይችላሉ።
እሺ ፣ አሁን ወደ ሮቦት አቀማመጥ ለማቅረብ GUI ወይም Python/C ++ ኮድን ስለመጠቀም እንዴት? አርዱዲኖ ያንን ማድረግ ይችላል?
አይነት. ለዚያ የሮቦት አቀማመጥን (በ 3 ዲ ቦታ ውስጥ የትርጉም እና የማዞሪያ መጋጠሚያዎችን) የሚወስድ እና ለ servos የጋራ የማዕዘን መልዕክቶችን የሚቀይር የተገላቢጦሽ ኪኔማቲክ ፈቺን መጻፍ ያስፈልግዎታል።
እርስዎ እራስዎ ማድረግ ቢችሉም ፣ ማድረግ ብዙ ሥራ ነው። ስለዚህ ፣ MoveIt እና ROS ሁሉንም ከባድ ትሪግኖሜትሪክ ማንሳት ለእርስዎ ለማድረግ ለ IK (የተገላቢጦሽ ኪኔቲክስ) ፈታሽ ጥሩ በይነገጽ ይሰጣሉ።
አጭር መልስ-አዎ ፣ ከአንዱ አቀማመጥ ወደ ሌላ ለመሄድ ጠንካራ ኮድ ያለው አርዱinoኖን ንድፍ የሚያስፈጽም ቀላል የሮቦት ክንድ ማድረግ ይችላሉ። ነገር ግን ሮቦትዎን የበለጠ ብልህ ለማድረግ እና የኮምፒተር የማየት ችሎታዎችን ለመጨመር ከፈለጉ MoveIt እና ROS የሚሄዱበት መንገድ ነው።
የ MoveIt ማዕቀፍ እንዴት እንደሚሠራ የሚያብራራ በጣም ቀለል ያለ ንድፍ ሠርቻለሁ። በእኛ አገልጋዮች ላይ ግብረመልስ ስለሌለን እና የሮቦት መቆጣጠሪያን ለ servos ማዕዘኖች ለማቅረብ /ለመጠቀም /የጋራ_states ርዕስ በመያዝ በእኛ ሁኔታ የበለጠ ቀላል ይሆናል። እኛ የሮቦት መቆጣጠሪያ የሆነውን አንድ አካል ብቻ ነው የሚጎድለን።
ምን እየጠበቅን ነው? አንዳንድ የሮቦት መቆጣጠሪያዎችን እንፃፍ ፣ ስለዚህ የእኛ ሮቦት… እርስዎ ያውቃሉ ፣ የበለጠ ቁጥጥር የሚደረግባቸው።
ደረጃ 4 የአርዱኖ ኮድ ለሮቦት መቆጣጠሪያ
በእኛ ሁኔታ አርዱዲኖ ኡኖ የሮዝ መስቀለኛ መንገድን በመጠቀም የሮቦት ተቆጣጣሪ ይሆናል። የአርዱዲኖ ንድፍ ኮድ ከዚህ ደረጃ ጋር ተያይ isል እንዲሁም በ GitHub ላይም ይገኛል።
በአርዱዲኖ ኡኖ ላይ እየሄደ ያለው የ ROS መስቀሉ በመሠረቱ MoveIt ን በሚያሄድ ኮምፒተር ላይ ለታተመው /ለ JointState ርዕስ ይመዘገባል ከዚያም የጋራ ማዕዘኖቹን ከራዲያኖች ወደ ዲግሪዎች ይለውጣል እና መደበኛ የ Servo.h ቤተ -መጽሐፍትን በመጠቀም ወደ servos ያስተላልፋል።
ይህ መፍትሔ ትንሽ አደገኛ እና በኢንዱስትሪ ሮቦቶች እንዴት እንደሚደረግ አይደለም። በሐሳብ ደረጃ የእንቅስቃሴውን አቅጣጫ በ /FollowJointState ርዕስ ላይ ማተም እና ከዚያ በ /JointState ርዕስ ላይ ግብረመልስ መቀበል አለብዎት። ነገር ግን በእጃችን ውስጥ የትርፍ ጊዜ ማሳለፊያው ሰርቪስ ግብረመልስ መስጠት አይችልም ፣ ስለሆነም በቀጥታ በ FakeRobotController መስቀለኛ መንገድ ለታተመው /JointState ርዕስ በቀጥታ እንመዘገባለን። በመሠረቱ እኛ ወደ ሰርቪስ ያስተላለፍናቸው ማናቸውም ማዕዘኖች በጥሩ ሁኔታ ይፈጸማሉ ብለን እናስባለን።
የሮዝ ጽሑፉ እንዴት እንደሚሠራ ለተጨማሪ መረጃ የሚከተሉትን ትምህርቶች ማማከር ይችላሉ
wiki.ros.org/rosserial_arduino/Tutorials
ንድፉን ወደ አርዱዲኖ ኡኖ ከሰቀሉ በኋላ የ ROS ጭነትዎን ከሚሠራው ኮምፒተር ጋር በተከታታይ ገመድ ማገናኘት ያስፈልግዎታል።
መላውን ስርዓት ለማምጣት የሚከተሉትን ትዕዛዞች ያስፈጽሙ
roslaunch my_arm_xacro demo.launch rviz_tutorial: = እውነት
sudo chmod -R 777 /dev /ttyUSB0
rosrun rosserial_python serial_node.py _port: =/dev/ttyUSB0 _baud: = 115200
አሁን የሮቦት ክንድን ወደ አቀማመጥ ለማንቀሳቀስ በ RVIZ ውስጥ በይነተገናኝ ጠቋሚዎችን መጠቀም እና ከዚያ በእውነቱ ወደ ቦታው እንዲሄድ እቅድ እና አፈፃፀም ይጫኑ።
አስማት!
አሁን ለፓምፕ ሙከራችን የ Python ኮድ ለመፃፍ ዝግጁ ነን። ደህና ፣ ማለት ይቻላል…
ደረጃ 5 (ከተፈለገ) IKfast ተሰኪን በማመንጨት ላይ
በነባሪ MoveIt በእውነቱ ከ 6 DOF ክንዶች ጋር የማይሰራውን የ KDL kinematics solver መጠቀምን ይጠቁማል። ይህንን መማሪያ በጥብቅ ከተከተሉ ከዚያ በ RVIZ ውስጥ ያለው የእጅ አምሳያው በክንድ ውቅረት ሊደገፍ ወደሚችል ወደ አንዳንድ አቀማመጥ መሄድ እንደማይችል ያስተውላሉ።
የሚመከረው መፍትሔ OpenRave ን በመጠቀም ብጁ የኪኔቲክስ ፈቺን መፍጠር ነው። ያን ያህል ከባድ አይደለም ፣ ግን እሱን መገንባት አለብዎት እና ከምንጩ ጥገኛዎች ወይም የፈለጉትን የ docker መያዣ ይጠቀሙ።
በዚህ መማሪያ ውስጥ የአሰራር ሂደቱ በጣም በጥሩ ሁኔታ ተመዝግቧል። ኡቡንቱ 16.04 ን እና ROS Kinetic ን በሚያሄድ ቪኤም ላይ መሥራቱ ተረጋግጧል።
ፈላጊውን ለማመንጨት የሚከተለውን ትእዛዝ ተጠቀምኩ
openrave.py -የውሂብ ጎታ ተገላቢጦሽ -ሮቦት = arm.xml --iktype = translation3d --iktests = 1000
እና ከዚያ ሮጠ
rosrun moveit_kinematics create_ikfast_moveit_plugin.py test_robot arm my_arm_xacro ikfast0x1000004a. Translation3D.0_1_2_f3.cpp
MoveIt IKfast ተሰኪን ለማመንጨት።
ጠቅላላው ሂደት ትንሽ ጊዜ የሚወስድ ነው ፣ ግን ትምህርቱን በጥብቅ ከተከተሉ በጣም ከባድ አይደለም። ስለዚህ ክፍል ጥያቄዎች ካሉዎት እባክዎን በአስተያየቶቹ ወይም በጠቅላይ ሚኒስትሩ ውስጥ ያነጋግሩኝ።
ደረጃ 6 ራምፕ ሙከራ
አሁን እኛ ROS MoveIt Python ኤፒአይ በመጠቀም የምንፈጽመውን የከፍታ ሙከራ ለመሞከር ዝግጁ ነን።
የ Python ኮድ ከዚህ ደረጃ ጋር ተያይ andል እንዲሁም በ github ማከማቻ ላይም ይገኛል። መወጣጫ ከሌለዎት ወይም ሌላ ሙከራ ለመሞከር ከፈለጉ በኮዱ ውስጥ ያለውን የሮቦት አቀማመጥ መለወጥ ያስፈልግዎታል። ለዚያ የመጀመሪያ አፈፃፀም
rostopic echo/rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic/feedback
RVIZ ን እና MoveIt ን ሲያሄዱ ተርሚናል ውስጥ። ከዚያ ሮቦትን በይነተገናኝ ጠቋሚዎች ወደሚፈለገው ቦታ ያንቀሳቅሱት። የአቀማመጥ እና የአቀማመጥ እሴቶች በተርሚናል ውስጥ ይታያሉ። እነሱን ወደ Python ኮድ ብቻ ይቅዱዋቸው።
የመንገዱን የሙከራ ሩጫ ለማስኬድ
rosrun my_arm_xacro pick/pick_2.py
ከ RVIZ እና ከሮዝሪያል መስቀለኛ መንገድ ጋር ቀድሞውኑ ይሠራል።
ለዕቃ መመርመሪያ ስቴሪዮ ካሜራ የምጠቀምበት እና ለቀላል ዕቃዎች የመምረጫ እና የማስቀመጫ ቧንቧ መስመር የምፈጽምበትን የጽሑፉን ሦስተኛ ክፍል ይከታተሉ!
የሚመከር:
ሮቦቲክ ክንድ ከዚዮ ሞጁሎች ጋር ክፍል 3 4 ደረጃዎች
ሮቦቲክ ክንድ ከዚዮ ሞጁሎች ጋር ክፍል 3 - ይህ የጦማር ልጥፍ የዚዮ ሮቦቲክስ ተከታታይ አካል ነው። መግቢያ በቀድሞው ብሎጋችን ዚዮ ሞጁሎችን በመጠቀም ሮቦቲክ ክንድ እንዴት እንደሚቆጣጠር ክፍል 1 እና 2 አጋዥ ስልጠናን ለጥፈናል። ክፍል 1 በአብዛኛው ያተኮረው የእርስዎን የሮቦት ክንድ ጥፍር በራስ -ሰር በመቆጣጠር ላይ ነው
ROS MoveIt ሮቦቲክ ክንድ 4 ደረጃዎች
ROS MoveIt Robotic Arm: ይህ ሮቦትን ክንድ በ ROS (ሮቦቲክ ኦፕሬቲንግ ሲስተም) እና በ MoveIt ቁጥጥር ስር ስለማድረግ ተከታታይ መጣጥፎች ይሆናሉ። ወደ ሮቦቶች ውስጥ ከገቡ ROS የተሻሉ ሮቦቶችን በፍጥነት ለመገንባት የሚረዳዎት ትልቅ ማዕቀፍ ነው። እንደገና እንዲጠቀሙበት ያስችልዎታል
አስደናቂ የእንጨት ሮቦት ክንድ እንዴት እንደሚመደብ (ክፍል 3: ሮቦት ክንድ) - በማይክሮ ላይ የተመሠረተ: ቢት: 8 ደረጃዎች
አንድ አስደናቂ የእንጨት ሮቦት ክንድ እንዴት እንደሚመደብ (ክፍል 3 ROBOT ARM) - በማይክሮ ላይ የተመሠረተ - ቢቲን - የሚቀጥለው የመጫን ሂደት መሰናክል ሁነታን በማስወገድ ላይ የተመሠረተ ነው። በቀደመው ክፍል ውስጥ የመጫን ሂደቱ በመስመር መከታተያ ሞድ ውስጥ ካለው የመጫን ሂደት ጋር ተመሳሳይ ነው። ከዚያ የመጨረሻውን የ “A” ቅጽ እንይ
አስደናቂ የእንጨት ሮቦት ክንድ እንዴት እንደሚመደብ (ክፍል 2 - መሰናክሎችን ለማስወገድ ሮቦት) - በማይክሮ ላይ የተመሠረተ - ቢት - 3 ደረጃዎች
አስደናቂ የእንጨት ሮቦት ክንድ እንዴት እንደሚመደብ (ክፍል 2-መሰናክሎችን ለማስወገድ ሮቦት)-በማይክሮ ላይ የተመሠረተ-ቢት-ከዚህ በፊት አርምቢትን በመስመር መከታተያ ሁኔታ ውስጥ አስተዋወቅን። በመቀጠል ፣ እንቅፋት ሁነታን በማስወገድ አርምቢትን እንዴት እንደሚጭኑ እናስተዋውቃለን
አስደናቂ የእንጨት ሮቦት ክንድ እንዴት እንደሚሰበሰብ (ክፍል 1 ሮቦት ለመስመር መከታተያ)-በማይክሮ ላይ የተመሠረተ-ቢት-9 ደረጃዎች
አስደናቂ የእንጨት ሮቦት ክንድ እንዴት እንደሚሰበሰብ (ክፍል 1 ሮቦት ለመስመር መከታተያ)-በማይክሮ ላይ የተመሠረተ-ቢት-ይህ የእንጨት ሰው ሦስት ቅርጾች አሉት ፣ በጣም የተለየ እና አስደናቂ ነው። ከዚያ አንድ በአንድ እንግባ