{"id":31,"date":"2024-04-04T08:01:23","date_gmt":"2024-04-04T05:01:23","guid":{"rendered":"https:\/\/sisu.ut.ee\/rosak\/kaivitusfaili-kasutamine-ja-muutmine\/"},"modified":"2024-04-04T08:03:58","modified_gmt":"2024-04-04T05:03:58","slug":"kaivitusfaili-kasutamine-ja-muutmine","status":"publish","type":"page","link":"https:\/\/sisu.ut.ee\/rosak\/kaivitusfaili-kasutamine-ja-muutmine\/","title":{"rendered":"5. K\u00e4ivitusfaili kasutamine ja muutmine"},"content":{"rendered":"<blockquote>\n<p>\n\t\t<strong>Enne oma tellija koodi k\u00e4ivitamist peaksime veenduma, et meie tellijal on midagi kuulata. Selleks peame k\u00e4ivitama AR m\u00e4rgiste leidja <span style=\"font-family:Courier New,Courier,monospace\">ar_track_alvar<\/span> kimbust. See otsib kaamerapildist AR m\u00e4rgiseid ja kuulutab tulemusi rubriigis <span style=\"font-family:Courier New,Courier,monospace\">ar_pose_marker<\/span>, mida kuulab meie tellija.<\/strong>\n\t<\/p>\n<\/blockquote>\n<blockquote class=\"os-kollane\">\n<h4>\n\t\tRobot v\u00f5i simulatsioon?<br>\n\t<\/h4>\n<p>\n\t\tSelle harjutuse juhised on m\u00f5eldud kasutamiseks p\u00e4ris robotil. Soovi korral v\u00f5id aga proovida seda l\u00e4bida ka simulatsioonis. Selleks v\u00f5id kasutada k\u00e4sku\n\t<\/p>\n<pre>roslaunch robotont_gazebo world_minimaze_ar.launch<\/pre>\n<p>\n\t\tGazebos pead aga silmas pidama, et ei saa kasutada kaamera rubriiki <span style=\"font-family:Courier New,Courier,monospace\">camera\/color\/image_raw_throttled<\/span>. Selle asemel pead kasutama rubriiki <span style=\"font-family:Courier New,Courier,monospace\">camera\/color\/image_raw<\/span>. J\u00e4ta aga meelde, et hiljem p\u00e4ris roboti peal koodi k\u00e4ivitades on kindlasti vaja rubriigiks uuesti seada <span style=\"font-family:Courier New,Courier,monospace\">camera\/color\/image_raw_throttled<\/span>! Vastasel juhul v\u00f5ib s\u00fcsteem umbe minna.\n\t<\/p>\n<\/blockquote>\n<p>\n\tAR m\u00e4rgiste tuvastamise koodi k\u00e4ivitamiseks saab kasutada k\u00e4sku\n<\/p>\n<pre>roslaunch ar_track_alvar pr2_indiv_no_kinect.launch<\/pre>\n<p>\n\tKui paned k\u00e4ima eelnevalt loodud tellija koodi, siis ilmselt m\u00e4rkad, et endiselt ei tuvastatud \u00fchtegi AR m\u00e4rgist. See on nii sellep\u00e4rast, et k\u00e4ivitusfail <span style=\"font-family:Courier New,Courier,monospace\">pr2_indiv_no_kinect.launch<\/span> otsib m\u00e4rgiste leidmiseks vajalikku kaamerapilti valedest rubriikidest. Selle parandamiseks saame teha uue k\u00e4ivitusfaili, mis kasutab k\u00e4ivitusfaili <span style=\"font-family:Courier New,Courier,monospace\">pr2_indiv_no_kinect.launch<\/span>, kuid annab kaamerapildi rubriigi teiste argumentidega ette.\n<\/p>\n<p>\n\tTee oma eelnevalt loodud kimbu <span style=\"font-family:Courier New,Courier,monospace\">launch<\/span>-kausta uus k\u00e4ivitusfail. (<span style=\"font-family:Courier New,Courier,monospace\">launch<\/span>-kaust tuleb luua teiste kimpudega analoogsesse asukohta \u2013 vt Moodul 3!)\n<\/p>\n<p>\n\tLisa sinna j\u00e4rgmine sisu:\n<\/p>\n<pre>&lt;launch&gt;\r\n  &lt;include file=\"$(find ar_track_alvar)\/launch\/pr2_indiv_no_kinect.launch\"&gt;\r\n    &lt;arg name=\"cam_image_topic\" value=\"camera\/color\/image_raw_throttled\"\/&gt;\r\n    &lt;arg name=\"cam_info_topic\" value=\"camera\/color\/camera_info\"\/&gt;\r\n    &lt;arg name=\"output_frame\" value=\"camera_link\"\/&gt;\r\n    &lt;arg name=\"marker_size\" value=\"10\"\/&gt;\r\n  &lt;\/include&gt;\r\n&lt;\/launch&gt;<\/pre>\n<p>\n\tNatuke selgitust selle kohta, mis siin toimub. K\u00f5igepealt \u00fctleb kood, et kasutame faili <span style=\"font-family:Courier New,Courier,monospace\">pr2_indiv_no_kinect.launch<\/span>. Seej\u00e4rel anname talle ette neli argumenti, mille vaikev\u00e4\u00e4rtused algses failis meile ei sobi. V\u00f5id selle uurimiseks k\u00f5rvale lahti v\u00f5tta ka faili <span style=\"font-family:Courier New,Courier,monospace\">pr2_indiv_no_kinect.launch<\/span>, mis asub kimbus <span style=\"font-family:Courier New,Courier,monospace\">ar_track_alvar<\/span>.\n<\/p>\n<ol>\n<li>\n\t\tArgumendi <span style=\"font-family:Courier New,Courier,monospace\">cam_image_topic<\/span> vaikev\u00e4\u00e4rtuseks on <span style=\"font-family:Courier New,Courier,monospace\">pr2_indiv_no_kinect.launch<\/span> failis seatud <span style=\"font-family:Courier New,Courier,monospace\">\/wide_stereo\/left\/image_color<\/span>. See on rubriik, kust AR m\u00e4rgiste leidja otsib kaamerapilti. Rubriiki nimega <span style=\"font-family:Courier New,Courier,monospace\">\/wide_stereo\/left\/image_color<\/span> meil ei ole, nagu v\u00f5id ka ise veenduda, kui k\u00e4ivitad uues terminaliaknas k\u00e4su <span style=\"font-family:Courier New,Courier,monospace\">rostopic list<\/span>. Selle asemel on meil rubriik <span style=\"font-family:Courier New,Courier,monospace\">\/camera\/color\/image_raw_throttled<\/span>. Kasutame seda.\n\t<\/li>\n<li>\n\t\tArgument <span style=\"font-family:Courier New,Courier,monospace\">cam_info_topic<\/span>: See on rubriik, kust AR m\u00e4rgiste leidja otsib infot kaamera kohta. Sarnaselt eelmise punktiga ei sobi meile ka selle vaikev\u00e4\u00e4rtus <span style=\"font-family:Courier New,Courier,monospace\">\/wide_stereo\/left\/camera_info<\/span>. Soovime kasutada v\u00e4\u00e4rtust <span style=\"font-family:Courier New,Courier,monospace\">\/camera\/color\/camera_info<\/span>.\n\t<\/li>\n<li>\n\t\tArgument <span style=\"font-family:Courier New,Courier,monospace\">output_frame<\/span> t\u00e4histab l\u00fcli, mis vastab kaamera sensori asukohale. Meie robotil aga ei ole l\u00fcli nimega <span style=\"font-family:Courier New,Courier,monospace\">\/torso_lift_link<\/span> (mida kasutatakse vaikev\u00e4\u00e4rtusena), vaid on hoopis <span style=\"font-family:Courier New,Courier,monospace\">\/camera_link<\/span>.\n\t<\/li>\n<li>\n\t\t<span id=\"docs-internal-guid-5eef4198-7fff-64cf-1284-c48bdafe2b04\">AR m\u00e4rgiste leidja k\u00e4ivitamise jaoks oleme n\u00fc\u00fcd vajalikud sammud l\u00e4binud. Siiski on vaja teha veel \u00fcks muudatus, et tuvastatud AR m\u00e4rgised annaks meile korrektset infot. Nimelt peame seadistama, kui suured meie m\u00e4rgised f\u00fc\u00fcsilises maailmas on. Selle info p\u00f5hjal saame hiljem teada, kui kaugel oleme m\u00e4rgistest ja palju muud kasulikku.<\/span> A<span id=\"docs-internal-guid-35ba978d-7fff-a140-51eb-c0c79829f8b1\">rgument <span style=\"font-family:Courier New,Courier,monospace\">marker_size<\/span> n\u00e4itab AR m\u00e4rgise k\u00fcljepikkust sentimeetrites. Vaikev\u00e4\u00e4rtuse (vaikimisi <span style=\"font-family:Courier New,Courier,monospace\">4.4<\/span>) asemel kasutame v\u00e4\u00e4rtust <\/span><span style=\"font-family:Courier New,Courier,monospace\">10<\/span><span>.<\/span>\n\t<\/li>\n<\/ol>\n<p>\n\t<span id=\"docs-internal-guid-cd1b7b45-7fff-d119-c047-5146843475a4\">K\u00e4ivita n\u00fc\u00fcd AR m\u00e4rgiste leidja, kasutades uut k\u00e4ivitusfaili.<\/span>\n<\/p>\n<p>\n\t<span id=\"docs-internal-guid-ec082fa1-7fff-e9c7-c78b-abc429f8c892\">Juhul, kui peatasid vahepeal oma Pythoni koodi, k\u00e4ivita ka see n\u00fc\u00fcd uuesti. N\u00fc\u00fcd peaks terminalis kuvatama tuvastatud AR m\u00e4rgiste ID-sid, juhul, kui kaamerapildis m\u00f5ni leidub. Kui ei leidu, siis v\u00f5id robotit liigutada nii, et m\u00f5ni seinal olev AR m\u00e4rgis j\u00e4\u00e4ks kaamera vaatev\u00e4lja.<\/span>\n<\/p>\n<blockquote class=\"os-kollane\">\n<h4>\n\t\tKaamera kalibreerimine<br>\n\t<\/h4>\n<p>\n\t\tTegelikult on enne <span style=\"font-family:Courier New,Courier,monospace\">ar_track_alvar<\/span> kasutamist vaja kaamera ka kalibreerida. Meie robotitel ja simulaatoritel on k\u00f5ik selleks vajalikud toimingud juba l\u00e4bitud, kuid uue kaamera kasutuselev\u00f5tul pead ka selle sammu l\u00e4bima. See ei ole \u00f5nneks keeruline ja internetis leiduvad selle jaoks juhised.\n\t<\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Enne oma tellija koodi k\u00e4ivitamist peaksime veenduma, et meie tellijal on midagi kuulata. Selleks peame k\u00e4ivitama AR m\u00e4rgiste leidja ar_track_alvar kimbust. See otsib kaamerapildist AR m\u00e4rgiseid ja kuulutab tulemusi rubriigis ar_pose_marker, mida kuulab meie tellija. Robot v\u00f5i simulatsioon? Selle harjutuse &#8230;<\/p>\n","protected":false},"author":98,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-31","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages\/31","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/users\/98"}],"replies":[{"embeddable":true,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/comments?post=31"}],"version-history":[{"count":1,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages\/31\/revisions"}],"predecessor-version":[{"id":370,"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/pages\/31\/revisions\/370"}],"wp:attachment":[{"href":"https:\/\/sisu.ut.ee\/rosak\/wp-json\/wp\/v2\/media?parent=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}