Talaan ng mga Nilalaman:

ROS MoveIt Robotic Arm: 4 na Hakbang
ROS MoveIt Robotic Arm: 4 na Hakbang

Video: ROS MoveIt Robotic Arm: 4 na Hakbang

Video: ROS MoveIt Robotic Arm: 4 na Hakbang
Video: Робот под ROS на примере TurtleBro 2024, Nobyembre
Anonim
Image
Image

Ito ay magiging isang serye ng mga artikulo tungkol sa paggawa ng isang robotic arm na kinokontrol ng ROS (Robotic Operating System) at MoveIt. Kung ikaw ay nasa robotics ROS ay isang mahusay na balangkas na makakatulong sa iyo na bumuo ng mas mahusay na mga robot nang mas mabilis. Pinapayagan kang muling magamit ang mga pakete para sa iba't ibang mga sistema ng robot (paningin sa computer, kinematics, pagpaplano ng landas, SLAM, atbp) na nilikha ng ibang tao. Magaling ang ROS, ngunit sa kasamaang palad mayroon itong isang matarik na curve sa pag-aaral.

Kaya't ang tutorial na ito ay sunud-sunod na gabay sa paggawa ng iyong unang robotic arm na may pagplano ng paggalaw, na naglalayong mas mataas na antas ng nagsisimula at namamagitan. Ipinapalagay kong wala kang kaalaman sa ROS, ngunit mayroong ilang pangunahing kaalaman sa Linux at Python, mga kasanayan sa pagprograma ng Arduino.

Hakbang 1: Ihanda ang Iyong Kapaligiran

Ang aking kapaligiran para sa pag-unlad ay ang Ubuntu 16.04 LTS na tumatakbo sa isang Virtual Box (Windows 10 host machine). Kung nais mong patakbuhin ang Ubuntu sa VM mabuti, makumpirma kong gumagana ang ROS Kinetic, kahit na may ilang mga quirks (kapansin-pansin ang pagpabilis ng 3D at suporta sa USB). Kung mayroon kang regular na pag-install ng Ubuntu, mas gagana ito.

Tandaan: Maaari mong mai-install ang ROS sa Raspberry Pi, ngunit sa kasamaang palad hindi ito sapat na malakas upang patakbuhin ang mga simulation sa Rviz, pabayaan ang Gazebo.

1) I-install ang ROS Kinetic. Sundin ang gabay na ito sa kung paano i-install ang ROS Kinetic sa Ubuntu 16.04.

2) I-install ang MoveIt. IlipatIt! ay isang pakete para sa ROS para sa pagmamanipula ng mobile, ibig sabihin, robotic arm.

3) Suriin kung gumagana ang lahat. Takbo

roslaunch panda_moveit_config demo.launch rviz_tutorial: = totoo

kung nais mo, dumaan sa pangunahing tutorial ng ilipat

4) Kakailanganin mong i-install din ang urdf_tutorial package, gagamitin namin ito upang mailarawan ang aming gawain na isinasagawa.

sudo apt-get install ros-kinetic-urdf-tutorial

Hakbang 2: Lumikha ng Urdf File

Lumikha ng Urdf File
Lumikha ng Urdf File
Lumikha ng Urdf File
Lumikha ng Urdf File

Kung sinundan mo ang MoveIt quickstart tutorial dapat kang lumikha ng workspace ng catkin sa iyong direktoryo sa bahay (maaaring magkakaiba ang pangalan ng workspace, ang default mula sa moveit tutorial ay ws_moveit). Pumunta sa ~ ws_moveit / src at i-clone ang aking github repo doon.

github.com/AIWintermuteAI/ros-moveit-arm.git

Kung gumagamit ka ng parehong robotic arm tulad ng ginagawa ko o nais lang sanayin na maaari mong iwanang hindi nagbago ang urdf file, kung hindi man kakailanganin mong baguhin ito upang maiugnay ang modelo ng braso na mayroon ka.

Narito ang isang maikling paliwanag ng urdf file, pagtingin sa aking halimbawa at ang modelo ng robot sa rviz ay makakatulong sa iyo na maunawaan ito nang mas mahusay at mag-apply para sa pagsulat ng iyong sariling urdf file

ang mga link ay ang mga bahagi ng robot, tulad ng isang pulso o isang platform. Mayroon silang mga sumusunod na katangian:

ginamit para sa visual na representasyon sa rviz at gazebo. Gumagamit ng mga meshes na may mataas na kalidad

ginamit para sa pagsusuri ng banggaan habang nagpaplano ng landas. Inirerekumenda na gumamit ng mga meshes na may mababang kalidad, ngunit alang-alang sa tutorial gumagamit ako ng katulad sa para sa visual.

ang mga kasukasuan sa urdf ay mga koneksyon sa pagitan ng mga link na naglalarawan kung paano nakaposisyon ang mga kaugnay sa bawat isa at kung paano sila gumagalaw. Mayroon silang mga sumusunod na katangian:

ang direksyon ng pag-ikot ng magkasanib (kasama ang x, y o z axis)

minimum at maximum na degree ng magkasanib na sa mga radian. Nalalapat lamang sa mga magkasanib na uri ng "rebolusyon" ("tuluy-tuloy" na mga kasukasuan ay walang mga limitasyon, dahil sila, mabuti, patuloy na umiikot)

ang posisyon ng magkasanib na nauugnay sa pinagmulan

naglalarawan kung aling dalawang mga link ang konektado sa magkasanib

Kung gumagamit ka ng parehong robotic arm tulad ng ginagawa ko, kakailanganin mong kopyahin ang 3D meshes ng braso sa urdf_tutorial package folder. Gawin ito sa utos na ito

sudo cp / opt / ros / kinetic / share / urdf_tutorial / meshes /

Kung gumagamit ka ng iyong sariling mga meshe siguraduhin na nakasentro sila sa paligid ng pinagmulan (xyz 000 sa iyong paboritong 3D modeling software) bago mo i-export ang mga ito sa binary (!) Stl format.

Ngayon ay maaari mong ilunsad ang rviz upang mailarawan ang mga resulta sa utos na ito

roslaunch urdf_tutorial display.launch model: = arm.urdf

(ilunsad ito mula sa folder gamit ang urdf file na nilikha mo ngayon lamang)

Suriin ang mga kasukasuan at mga link, tiyaking umiikot at nakaposisyon nang eksakto kung paano sila dapat. Kung okay ang lahat, magpatuloy sa susunod na hakbang.

Hakbang 3: Lumikha ng Pag-configure ng Robot Sa MoveIt Setup Assistant

Lumikha ng Pag-configure ng Robot Sa MoveIt Setup Assistant
Lumikha ng Pag-configure ng Robot Sa MoveIt Setup Assistant

Ngayon kapag handa na ang iyong urdf file oras na upang mai-convert ito sa package ng pagsasaayos ng robot.

Ilunsad ang MoveIt Setup Assistant na may sumusunod na utos

roslaunch moveit_setup_assistant setup_assistant.launch

Mahusay na nailarawan ang proseso sa opisyal na tutorial ng MoveIt, na maaari mong makita dito

Matapos mong likhain ang package ng pagsasaayos, pumunta sa iyong folder ng workspace ng catkin at magpatupad

catkin gumawa

upang maitayo ang pakete. Ngayon ay maaari mo itong ilunsad gamit ang sumusunod na utos

roslaunch my_arm_xacro demo.launch rviz_tutorial: = totoo

kung saan kakailanganin mong palitan ang "my_arm_xacro" sa pangalan ng iyong package.

Hakbang 4: Tapos Na

Tapos na!
Tapos na!
Tapos na!
Tapos na!

Kung matagumpay mong inilunsad ang package makikita mo ang iyong modelo ng robot na may mga interactive marker. Maaari mong makontrol ito sa simulation, gamit ang mga marker at pagkatapos ay pindutin ang "Plano at ipatupad" para sa kinematic solver upang makahanap ng hte tamang landas sa nais na estado.

Iyon ang unang hakbang, lumikha kami ng isang modelo ng aming robotic arm at maaaring anihin ang lakas ng ROS upang makalkula at magpatupad ng paggalaw sa simulation! Susunod na hakbang - gawin ito sa totoong robot, para doon kailangan naming magsulat ng simpleng robot controller…

Inirerekumendang: