
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11


github.com/AIWintermuteAI/ros-moveit-arm.git
Katika sehemu ya awali ya nakala hiyo tumeunda faili za URDF na XACRO kwa mkono wetu wa roboti na kuzindua RVIZ kudhibiti mkono wetu wa roboti katika mazingira ya kuiga.
Wakati huu tutaifanya kwa mkono halisi wa roboti! Tutaongeza gripper, andika mtawala wa roboti na (hiari) itengeneze kitatuzi cha Kinfast inverse kinematics.
Geronimo!
Hatua ya 1: Kuongeza Gripper



Kuongeza gripper ilichanganya kidogo mwanzoni, kwa hivyo niliruka sehemu hii katika nakala iliyopita. Ilibadilika kuwa ngumu sana baada ya yote.
Utahitaji kurekebisha faili yako ya URDF ili kuongeza viungo vya viungo na viungo.
Faili ya URDF iliyobadilishwa kwa roboti yangu imeambatanishwa na hatua hii. Kimsingi inafuata mantiki sawa na sehemu ya mkono, niliongeza tu viungo vitatu vipya (claw_base, claw_r na claw_l) na viungo vitatu vipya (joint5 imewekwa sawa, na joint6, joint7 ni viungo vinavyozunguka).
Baada ya kubadilisha faili yako ya URDF utahitaji pia kusasisha kifurushi kilichozalishwa cha MoveIt na faili ya xacro kwa kutumia msaidizi wa usanidi wa MoveIt.
Anzisha msaidizi wa kuanzisha na amri ifuatayo
uzinduzi wa moveit_setup_assistant setup_assistant.launch
Bonyeza kwenye Hariri Usanidi wa MoveIt uliopo na uchague folda na kifurushi chako cha MoveIt.
Ongeza gripper mpya ya kikundi (na viungo na viungo vya gripper) na pia athari ya mwisho. Mipangilio yangu iko kwenye viwambo vya skrini hapa chini. Kumbuka kuwa hauchaguli suluhisho la kinematiki kwa gripper, sio lazima. Tengeneza kifurushi na andika faili tena.
Endesha
kutengeneza paka
amri katika nafasi yako ya kazi ya paka.
Sawa, sasa tuna mkono na mtego!
Hatua ya 2: Kujenga Silaha




Kama nilivyosema kabla ya muundo wa 3D wa mkono umetengenezwa na Juergenlessner, asante kwa kazi ya kushangaza. Maagizo ya kina ya mkutano yanaweza kupatikana ikiwa unafuata kiunga.
Ilinibidi kurekebisha mfumo wa kudhibiti ingawa. Ninatumia Arduino Uno na ngao ya Sensor kudhibiti servos. Kinga ya sensorer husaidia sana kwa kurahisisha wiring na pia inafanya iwe rahisi kutoa nguvu ya nje kwa servos. Ninatumia adapta ya umeme ya 12V 6A iliyotiwa waya kupitia moduli ya kushuka (6V) hadi kwa Sensor Shield.
Ujumbe juu ya servos. Ninatumia servos za MG 996 HR kununuliwa kutoka Taobao, lakini ubora ni mbaya sana. Kwa kweli ni kubisha kwa bei rahisi ya Wachina. Ile ya pamoja ya kiwiko haikutoa torque ya kutosha na hata ilianza kuvuta mara moja chini ya mzigo mzito. Ilinibidi kuchukua nafasi ya servo ya pamoja ya kiwiko na MG 946 HR kutoka kwa mtengenezaji bora zaidi.
Hadithi ndefu - nunua servos zenye ubora. Ikiwa moshi wa uchawi unatoka kwenye servos zako, tumia servos bora. 6V ni voltage salama sana, usiongeze. Haitaongeza torque, lakini inaweza kuharibu servos.
Wiring kwa servos kama ifuatavyo:
msingi 2
bega2 4 lazima 1 3
kiwiko 6
gripper 8
kiganja 11
Jisikie huru kuibadilisha kwa muda mrefu kama unakumbuka pia kubadilisha mchoro wa Arduino.
Baada ya kumaliza na vifaa, wacha tuangalie picha kubwa!
Hatua ya 3: Interface ya MoveIt RobotCommander

Kwa hivyo, sasa ni nini? Kwa nini unahitaji MoveIt na ROS hata hivyo? Je! Huwezi kudhibiti mkono kupitia nambari ya Arduino moja kwa moja?
Ndio unaweza.
Sawa, sasa vipi kuhusu kutumia nambari ya GUI au Python / C ++ kutoa pozi la kwenda? Je! Arduino anaweza kufanya hivyo?
Aina ya. Kwa hiyo utahitaji kuandika kitanjia cha kinematiki cha inverse ambacho kitachukua pozi ya roboti (uratibu na uratibu wa nafasi katika nafasi ya 3D) na kuibadilisha iwe ujumbe wa pembe ya pamoja ya servos.
Licha ya wewe mwenyewe kuifanya, ni kazi ya kuzimu sana. Kwa hivyo, MoveIt na ROS hutoa kiolesura kizuri cha kitatuaji cha IK (inverse kinematics) cha kufanya mwinuko mzito wa trigonometrical kwako.
Jibu fupi: Ndio, unaweza kufanya mkono rahisi wa roboti ambao utafanya mchoro wenye nambari ngumu wa Arduino kwenda kutoka pozi moja hadi nyingine. Lakini ikiwa unataka kuifanya roboti yako iwe na akili zaidi na kuongeza uwezo wa maono ya kompyuta, MoveIt na ROS ndio njia ya kwenda.
Nilifanya mchoro uliorahisishwa sana kuelezea jinsi mfumo wa MoveIt unavyofanya kazi. Kwa upande wetu itakuwa rahisi zaidi, kwani hatuna maoni kutoka kwa servos zetu na tutatumia mada ya / majimbo ya pamoja kutoa mdhibiti wa roboti na pembe za servos. Tunakosa sehemu moja tu ambayo ni mtawala wa roboti.
Tunangojea nini? Wacha tuandike watawala wa roboti, kwa hivyo roboti yetu itakuwa… unajua, inayoweza kudhibitiwa zaidi.
Hatua ya 4: Msimbo wa Arduino kwa Mdhibiti wa Robot



Kwa upande wetu Arduino Uno anayeendesha nodi ya ROS na rosserial atakuwa mtawala wa roboti. Nambari ya mchoro wa Arduino imeambatanishwa na hatua hii na pia inapatikana kwenye GitHub.
Node ya ROS inayoendesha Arduino Uno kimsingi inajiunga na / JointState mada iliyochapishwa kwenye kompyuta inayoendesha MoveIt na kisha inabadilisha pembe za pamoja kutoka kwa safu kutoka kwa radians hadi digrii na kuzipitisha kwa servos kutumia maktaba ya kawaida ya Servo.h.
Suluhisho hili ni la ujanja kidogo na sio jinsi linavyofanyika na roboti za viwandani. Kwa kweli unatakiwa kuchapisha trajectory ya harakati kwenye mada / FollowJointState na kisha upokee maoni juu ya / JointState mada. Lakini katika mkono wetu huduma za kupendeza haziwezi kutoa maoni, kwa hivyo tutajiandikisha moja kwa moja kwa mada / JointState, iliyochapishwa na node ya FakeRobotController. Kimsingi tutazingatia kwamba pembe zozote tulizopitisha kwa servos zinatekelezwa vyema.
Kwa habari zaidi juu ya jinsi rosserial inavyofanya kazi unaweza kushauriana na mafunzo yafuatayo
wiki.ros.org/rosserial_arduino/Tutorials
Baada ya kupakia mchoro kwa Arduino Uno, utahitaji kuiunganisha na kebo ya serial kwa kompyuta inayoendesha usanidi wako wa ROS.
Kuleta mfumo mzima kutekeleza amri zifuatazo
zindua demo yangu_arm_xacro. uzinduzi rviz_tutorial: = kweli
Sudo chmod -R 777 / dev / ttyUSB0
rosrun rosserial_python serial_node.py _port: = / dev / ttyUSB0 _baud: = 115200
Sasa unaweza kutumia alama za maingiliano katika RVIZ kusonga mkono wa roboti kwenye pozi na kisha bonyeza Mpango na Utekeleze ili iweze kuingia kwenye msimamo.
Uchawi!
Sasa tuko tayari kuandika nambari ya Python kwa mtihani wetu wa njia panda. Kweli, karibu…
Hatua ya 5: (Hiari) Inazalisha IKfast Plug-in
Kwa chaguo-msingi MoveIt inapendekeza kutumia KDL kinematics solver, ambayo haifanyi kazi kweli chini ya mikono 6 ya DOF. Ikiwa unafuata mafunzo haya kwa karibu ndipo utagundua kuwa mfano wa mkono katika RVIZ hauwezi kwenda kwenye pozi zingine ambazo zinapaswa kuungwa mkono na usanidi wa mkono.
Suluhisho lililopendekezwa ni kuunda solver ya kinematics ya kawaida kutumia OpenRave. Sio ngumu sana, lakini italazimika kuijenga na ni utegemezi kutoka kwa chanzo au tumia kontena la docker, upendavyo.
Utaratibu umeandikwa vizuri sana katika mafunzo haya. Imethibitishwa kufanya kazi kwa VM inayoendesha Ubuntu 16.04 na ROS Kinetic.
Nilitumia amri ifuatayo kutengeneza suluhisho
openrave.py - hifadhidata inversekinematics --robot = arm.xml --iktype = tafsiri3d - majaribio = 1000
na kisha kukimbia
rosrun moveit_kinematics create_ikfast_moveit_plugin.py test_robot arm my_arm_xacro ikfast0x1000004a. Translation3D.0_1_2_f3.cpp
kutengeneza plug-in ya MoveIt IKfast.
Utaratibu wote unachukua muda kidogo, lakini sio ngumu sana ikiwa unafuata mafunzo kwa karibu. Ikiwa una maswali juu ya sehemu hii, tafadhali wasiliana nami katika maoni au PM.
Hatua ya 6: Mtihani wa Njia panda


Sasa tuko tayari kujaribu jaribio la njia panda, ambayo tutafanya kwa kutumia ROS MoveIt Python API.
Nambari ya chatu imeambatanishwa na hatua hii na pia inapatikana kwenye hifadhi ya github. Ikiwa huna njia panda au unataka kujaribu jaribio lingine utahitaji kubadilisha roboti inaleta nambari. Kwa kutekeleza kwanza
rostopic echo / rviz_moveit_motion_planning_display / robot_interaction_interactive_marker_mada / maoni
kwenye terminal wakati tayari inaendesha RVIZ na MoveIt. Kisha songa robot na alama za mwingiliano kwenye nafasi inayotakiwa. Msimamo na maadili ya mwelekeo yataonyeshwa kwenye kituo. Nakili tu kwa nambari ya Python.
Ili kutekeleza kukimbia kwa njia panda
chagua my_arm_xacro pick / pick_2.py
na RVIZ na node ya rosserial tayari inaendesha.
Endelea kufuatilia sehemu ya tatu ya nakala hiyo, ambapo nitatumia kamera ya stereo kugundua kitu na kutekeleza bomba na kuweka bomba kwa vitu rahisi!
Ilipendekeza:
Mdhibiti wa Deepcool AIO RGB Arduino Mdhibiti: 6 Hatua

Mdhibiti wa Deepcool Castle AIO RGB Arduino: Niligundua kuchelewa sana kuwa ubao wangu wa mama haukuwa na kichwa cha kichwa cha rgb kinachoweza kushughulikiwa kwa hivyo niliboresha kutumia mafunzo kama hayo. Mafunzo haya ni ya mtu aliye na Deepcool Castle AIOs lakini inaweza kutumika kwa vifaa vingine vya rgb pc. KANUSHO: Ninajaribu
Intro kwa Mdhibiti Mdhibiti wa CloudX: Hatua 3

Intro kwa Microcontroller ya CloudX: Mdhibiti mdogo wa CloudX ni vifaa vya kufungua na programu-kompyuta ndogo ambayo hukuruhusu kuunda miradi yako ya maingiliano. CloudX ni bodi ndogo ya chip ambayo inaruhusu watumiaji kuiambia nini cha kufanya kabla ya kuchukua hatua yoyote, inakubali k tofauti
Mdhibiti wa Mchezo bila waya na Arduino na NRF24L01 + (msaada kwa Mdhibiti mmoja au Wawili): Hatua 3

Mdhibiti wa Mchezo bila waya na Arduino na NRF24L01 + (msaada kwa Mdhibiti mmoja au Wawili): Unaweza kupata mradi kamili kutoka kwa wavuti yangu (iko katika Kifini): https://teukka.webnode.com/l/langaton-ohjain-atmega-lla- ja-nrf24l01-radiomoduulilla / Huu ni mkutano mfupi sana kuhusu mradi huo. Nilitaka tu kuishiriki ikiwa mtu angesema
Xbox 360 ROBOTIC ARM [ARDUINO]: AXIOM ARM: 4 Hatua
![Xbox 360 ROBOTIC ARM [ARDUINO]: AXIOM ARM: 4 Hatua Xbox 360 ROBOTIC ARM [ARDUINO]: AXIOM ARM: 4 Hatua](https://i.howwhatproduce.com/images/004/image-10492-21-j.webp)
Xbox 360 ROBOTIC ARM [ARDUINO]: SANAA:
ROS MoveIt Robotic Arm: Hatua 4

ROS MoveIt Robotic Arm: Hii itakuwa mfululizo wa nakala juu ya kutengeneza mkono wa roboti unaodhibitiwa na ROS (Mfumo wa Uendeshaji wa Robotic) na MoveIt. Ikiwa uko kwenye roboti ROS ni mfumo mzuri ambao utakusaidia kujenga roboti bora haraka. Utapata re-uti