{"id":283319,"date":"2016-12-30T21:25:04","date_gmt":"2016-12-30T18:25:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=283319"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=283319","title":{"rendered":"\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0442\u044b \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u0432 ROS \u0431\u0435\u0437 \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u0438 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c laser_scan_matcher"},"content":{"rendered":"<p>\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c \u0445\u0430\u0431\u0440\u0430\u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438!<br \/>  \u041c\u044b \u0443\u0436\u0435 \u043e\u0434\u043d\u0430\u0436\u0434\u044b \u043a\u043e\u0441\u043d\u0443\u043b\u0438\u0441\u044c \u0442\u0435\u043c\u044b \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 SLAM \u0432 <a href=\"https:\/\/geektimes.ru\/post\/281760\/\">\u0441\u0442\u0430\u0442\u044c\u0435 \u043e Hector SLAM<\/a>. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442 \u043c\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 ROS. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u043c\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u0434\u0430\u0440 <a href=\"https:\/\/www.hokuyo-aut.jp\/02sensor\/07scanner\/urg_04lx_ug01.html\">Hokuyo URG-04LX-UG01<\/a> \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c <a href=\"http:\/\/wiki.ros.org\/gmapping\">gmapping<\/a> \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 <a href=\"http:\/\/wiki.ros.org\/amcl\">amcl<\/a>. \u0412 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 <a href=\"http:\/\/wiki.ros.org\/laser_scan_matcher\">laser_scan_matcher<\/a>. \u041a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442.<a name=\"habracut\"><\/a><\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 laser_scan_matcher<\/h2>\n<p>  \u0418\u0442\u0430\u043a, \u043d\u0430\u0447\u043d\u0435\u043c! \u0414\u043b\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u043e\u0432 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ROS Indigo, \u043d\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e ROS (Jade, Kinetic, Hydro). \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 ROS Kinetic \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0447\u0435\u0440\u0435\u0437 apt-get). <br \/>  \u041f\u0430\u043a\u0435\u0442 laser_scan_matcher \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043b\u0430\u0437\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 Canonical Scan Matcher, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/censi.mit.edu\/software\/csm\/\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u041e \u043f\u0430\u043a\u0435\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/wiki.ros.org\/laser_scan_matcher\">\u0437\u0434\u0435\u0441\u044c<\/a>. \u041f\u0430\u043a\u0435\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0431\u0435\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u0438, \u043e\u043d \u0441\u0430\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u0446\u0435\u043d\u043a\u0443 \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u0438.<br \/>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442:<\/p>\n<pre><code class=\"bash\">sudo apt-get install ros-indigo-laser-scan-matcher <\/code><\/pre>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0434\u0435\u043c\u043e:<\/p>\n<pre><code class=\"bash\">roscore roslaunch laser_scan_matcher demo.launch <\/code><\/pre>\n<p>  \u041c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435 \u0432 rviz:<\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/sIMM73Was74?rel=0&amp;showinfo=1\" frameborder=\"0\" allowfullscreen=\"true\" webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\" style=\"top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d laser_scan_matcher \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043b\u0438\u0434\u0430\u0440\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 bag \u0444\u0430\u0439\u043b.<br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0430\u043a\u0435\u0442 \u0432\u0436\u0438\u0432\u0443\u044e. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f, \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0433\u043e \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c gmapping. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u0430\u043a\u0435\u0442 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c my_gmapping_launch.launch \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 gmapping:<\/p>\n<pre><code class=\"bash\">cd ~\/catkin_ws\/src catkin_create_pkg my_laser_matcher cd src\/my_laser_matcher mkdir launch vim src\/my_gmapping_launch.launch <\/code><\/pre>\n<p>  \u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u0432 \u0444\u0430\u0439\u043b my_gmapping_launch.launch:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 my_gmapping_launch.launch<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;?xml version=&quot;1.0&quot;?&gt;                                                                                                                            &lt;launch&gt;                                                                                                           &lt;node pkg=&quot;tf&quot; type=&quot;static_transform_publisher&quot; name=&quot;base_link_to_laser&quot;                                            args=&quot;0.0 0.0 0.0 0.0 0.0 0.0 \/base_link \/laser 40&quot; \/&gt;                                                                                                                                                               &lt;node pkg=&quot;laser_scan_matcher&quot; type=&quot;laser_scan_matcher_node&quot; name=&quot;laser_scan_matcher_node&quot; output=&quot;screen&quot;&gt;    &lt;param name=&quot;fixed_frame&quot; value = &quot;odom&quot;\/&gt;                                                                     &lt;param name=&quot;use_odom&quot; value=&quot;true&quot;\/&gt;                                                                          &lt;param name=&quot;publish_odom&quot; value = &quot;true&quot;\/&gt;                                                                    &lt;param name=&quot;use_alpha_beta&quot; value=&quot;true&quot;\/&gt;                                                                    &lt;param name=&quot;max_iterations&quot; value=&quot;10&quot;\/&gt;                                                                     &lt;\/node&gt;                                                                                                                                                                                                                       &lt;node pkg=&quot;gmapping&quot; type=&quot;slam_gmapping&quot; name=&quot;slam_gmapping&quot; output=&quot;screen&quot;&gt;                                 &lt;param name=&quot;map_udpate_interval&quot; value=&quot;1.0&quot;\/&gt;                                                                &lt;param name=&quot;delta&quot; value=&quot;0.02&quot;\/&gt;                                                                            &lt;\/node&gt;                                                                                                      &lt;\/launch&gt; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c static_transform_publisher \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 tf \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 base_link &gt; laser, \u0443\u0437\u043b\u044b laser_scan_matcher \u0438 slam_gmapping.<br \/>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u0444\u0430\u0439\u043b\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c <a href=\"https:\/\/github.com\/vovaekb\/my_laser_scan_matcher\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>.<br \/>  \u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0434\u0430\u0440\u0430 Hokuyo \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 ROS<a href=\"http:\/\/wiki.ros.org\/hokuyo_node\">hokuyo_node<\/a>:<\/p>\n<pre><code class=\"bash\">sudo apt-get install ros-indigo-hokuyo-node <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0443\u0437\u0435\u043b getID \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 hokuyo_node \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043b\u0438\u0434\u0430\u0440\u0435:<\/p>\n<pre><code class=\"bash\">rosrun hokuyo_node getID \/dev\/ttyACM0 <\/code><\/pre>\n<p>  \u041c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0430:<\/p>\n<pre><code class=\"bash\">Error: Failed to open port. Permission denied. [ERROR] 1263843357.793873000: Exception thrown while opening Hokuyo. Failed to open port: \/dev\/ttyACM0. Permission denied (errno = 13). You probably don't have premission to open the port for reading and writing. (in hokuyo::laser::open) You may find further details at http:\/\/www.ros.org\/wiki\/hokuyo_node\/Troubleshooting <\/code><\/pre>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0434\u043b\u044f \u043f\u043e\u0440\u0442\u0430 \/dev\/ttyACM0:<\/p>\n<pre><code class=\"bash\">sudo chmod a+rw \/dev\/ttyACM0 <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c getID \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 hokuyo_node \u0435\u0449\u0435 \u0440\u0430\u0437 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434:<\/p>\n<pre><code class=\"bash\">Device at \/dev\/ttyACM0 has ID H0906078 <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0443\u0437\u0435\u043b hokuyo_node:<\/p>\n<pre><code class=\"bash\">rosrun hokuyo_node hokuyo_node <\/code><\/pre>\n<p>  \u0418 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043d\u0430\u0448 \u043b\u0430\u0443\u043d\u0447 \u0444\u0430\u0439\u043b my_gmapping_launch.launch: <\/p>\n<pre><code class=\"bash\">roslaunch my_laser_matcher my_gmapping_launch.launch rosrun rviz rviz <\/code><\/pre>\n<p>  \u0412\u044b\u0432\u0435\u0434\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u043e\u043f\u0438\u043a\u043e\u0432:<\/p>\n<pre><code class=\"bash\">rostopic list <\/code><\/pre>\n<p>  \u0421\u0440\u0435\u0434\u0438 \u0442\u043e\u043f\u0438\u043a\u043e\u0432 \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435:<\/p>\n<pre><code class=\"bash\">\/initialpose \/move_base_simple\/goal \/odom \/pose2D ... \/imu\/data <\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u044e \u0438 \u043f\u043e\u0437\u0438\u0446\u0438\u044e \u0440\u043e\u0431\u043e\u0442\u0430 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f laser_scan_matcher.<br \/>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432 rviz \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u0442\u0438\u043f\u0430 LaserScan \u0441 \u0442\u043e\u043f\u0438\u043a\u043e\u043c \/scan \u0442\u0430\u043a, \u043a\u0430\u043a \u044d\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 <a href=\"https:\/\/geektimes.ru\/post\/281760\/\">\u0441\u0442\u0430\u0442\u044c\u0435<\/a>. \u0422\u0430\u043a\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u044b Map \u0438 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 TF. \u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c \u0441\u0435\u043a\u0446\u0438\u044e TF \u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0435 Frames, \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u043c\u0435\u0442\u0438\u043c \u043f\u0443\u043d\u043a\u0442\u044b: odom, map, base_link. \u041d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u0438, \u043a\u0430\u0440\u0442\u044b \u0438 \u0440\u043e\u0431\u043e\u0442\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \/map \u0434\u043b\u044f \u043f\u043e\u043b\u044f Fixed frame \u0432 \u043b\u0435\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 Displays \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 Global options.<br \/>  \u0412 rviz \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c3e\/636\/1d9\/c3e6361d94a140699161cd5c9e6a43de.png\" alt=\"image\"\/><br \/>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0440\u043e\u0431\u043e\u0442\u0430 \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u044b \u043c\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u0443 map_saver \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 map_server \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u044b:<\/p>\n<pre><code class=\"bash\">rosrun map_server map_saver <\/code><\/pre>\n<h3>\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441 amcl<\/h3>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 amcl. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b my_localize.launch \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 my_localize.launch<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"xml\">&lt;launch&gt;    &lt;param name=&quot;\/use_sim_time&quot; value=&quot;false&quot;\/&gt;     &lt;node pkg=&quot;tf&quot; type=&quot;static_transform_publisher&quot; name=&quot;base_link_to_laser&quot;      args=&quot;0.0 0.0 0.0 0.0 0.0 0.0 \/base_link \/laser 40&quot; \/&gt;    &lt;node name=&quot;hokuyo&quot; pkg=&quot;hokuyo_node&quot; type=&quot;hokuyo_node&quot; respawn=&quot;false&quot; output=&quot;screen&quot;&gt;     &lt;param name=&quot;calibrate_time&quot; type=&quot;bool&quot; value=&quot;false&quot;\/&gt;      &lt;param name=&quot;port&quot; type=&quot;string&quot; value=&quot;\/dev\/ttyACM0&quot;\/&gt;      &lt;param name=&quot;intensity&quot; type=&quot;bool&quot; value=&quot;false&quot;\/&gt;   &lt;\/node&gt;    &lt;node pkg=&quot;laser_scan_matcher&quot; type=&quot;laser_scan_matcher_node&quot;      name=&quot;laser_scan_matcher_node&quot; output=&quot;screen&quot;&gt;     &lt;param name=&quot;fixed_frame&quot; value = &quot;odom&quot;\/&gt;     &lt;param name=&quot;use_alpha_beta&quot; value=&quot;true&quot;\/&gt;     &lt;param name=&quot;max_iterations&quot; value=&quot;10&quot;\/&gt;   &lt;\/node&gt;   &lt;node name=&quot;map_server&quot; pkg=&quot;map_server&quot; type=&quot;map_server&quot; args=&quot;\/home\/vladimir\/catkin_ws\/map.yaml&quot;\/&gt;    &lt;node pkg=&quot;amcl&quot; type=&quot;amcl&quot; name=&quot;amcl&quot; output=&quot;screen&quot; &gt;   &lt;!-- Publish scans from best pose at a max of 10 Hz --&gt;   &lt;param name=&quot;odom_model_type&quot; value=&quot;diff&quot;\/&gt;   &lt;param name=&quot;odom_alpha5&quot; value=&quot;0.1&quot;\/&gt;   &lt;param name=&quot;transform_tolerance&quot; value=&quot;0.2&quot; \/&gt;   &lt;param name=&quot;gui_publish_rate&quot; value=&quot;10.0&quot;\/&gt;   &lt;param name=&quot;laser_max_beams&quot; value=&quot;30&quot;\/&gt;   &lt;param name=&quot;min_particles&quot; value=&quot;500&quot;\/&gt;   &lt;param name=&quot;max_particles&quot; value=&quot;5000&quot;\/&gt;   &lt;param name=&quot;kld_err&quot; value=&quot;0.05&quot;\/&gt;   &lt;param name=&quot;kld_z&quot; value=&quot;0.99&quot;\/&gt;   &lt;param name=&quot;odom_alpha1&quot; value=&quot;0.2&quot;\/&gt;   &lt;param name=&quot;odom_alpha2&quot; value=&quot;0.2&quot;\/&gt;   &lt;!-- translation std dev, m --&gt;   &lt;param name=&quot;odom_alpha3&quot; value=&quot;0.8&quot;\/&gt;   &lt;param name=&quot;odom_alpha4&quot; value=&quot;0.2&quot;\/&gt;   &lt;param name=&quot;laser_z_hit&quot; value=&quot;0.5&quot;\/&gt;   &lt;param name=&quot;laser_z_short&quot; value=&quot;0.05&quot;\/&gt;   &lt;param name=&quot;laser_z_max&quot; value=&quot;0.05&quot;\/&gt;   &lt;param name=&quot;laser_z_rand&quot; value=&quot;0.5&quot;\/&gt;   &lt;param name=&quot;laser_sigma_hit&quot; value=&quot;0.2&quot;\/&gt;   &lt;param name=&quot;laser_lambda_short&quot; value=&quot;0.1&quot;\/&gt;   &lt;param name=&quot;laser_lambda_short&quot; value=&quot;0.1&quot;\/&gt;   &lt;param name=&quot;laser_model_type&quot; value=&quot;likelihood_field&quot;\/&gt;   &lt;!-- &lt;param name=&quot;laser_model_type&quot; value=&quot;beam&quot;\/&gt; --&gt;   &lt;param name=&quot;laser_likelihood_max_dist&quot; value=&quot;2.0&quot;\/&gt;   &lt;param name=&quot;update_min_d&quot; value=&quot;0.2&quot;\/&gt;   &lt;param name=&quot;update_min_a&quot; value=&quot;0.5&quot;\/&gt;   &lt;param name=&quot;odom_frame_id&quot; value=&quot;odom&quot;\/&gt;    &lt;param name=&quot;base_frame_id&quot; type=&quot;str&quot; value=&quot;base_link&quot; \/&gt;   &lt;param name=&quot;global_frame_id&quot; type=&quot;str&quot; value=&quot;map&quot; \/&gt;    &lt;param name=&quot;resample_interval&quot; value=&quot;1&quot;\/&gt;   &lt;param name=&quot;transform_tolerance&quot; value=&quot;0.1&quot;\/&gt;   &lt;param name=&quot;recovery_alpha_slow&quot; value=&quot;0.0&quot;\/&gt;   &lt;param name=&quot;recovery_alpha_fast&quot; value=&quot;0.0&quot;\/&gt;   &lt;param name=&quot;use_map_topic&quot; value=&quot;true&quot; \/&gt;   &lt;param name=&quot;first_map_only&quot; value=&quot;true&quot; \/&gt; &lt;\/node&gt;  &lt;\/launch&gt; <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043b\u0430\u0443\u043d\u0447\u0435\u0440\u0443 \u0434\u043b\u044f gmapping \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \/laser \u2192 \/base_link \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0437\u043b\u0430 static_transform_publisher, \u0443\u0437\u043b\u044b hokuyo_node \u0438 laser_scan_matcher. \u0417\u0430\u0442\u0435\u043c \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c map_server \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430\u0448\u0435\u0439 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u044b, \u0433\u0434\u0435 \u0432 args \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c \u043f\u0443\u0442\u044c \u0434\u043e \u043a\u0430\u0440\u0442\u044b \u0432 \u0444\u0430\u0439\u043b\u0435 yaml. \u041d\u0430\u043a\u043e\u043d\u0435\u0446 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0443\u0437\u0435\u043b amcl \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438. \u041e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 amcl \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 <a href=\"http:\/\/wiki.ros.org\/amcl\">\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430<\/a>.<br \/>  \u041a\u043e\u0434 \u043b\u0430\u0443\u043d\u0447 \u0444\u0430\u0439\u043b\u0430 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0438\u0437 <a href=\"https:\/\/github.com\/vovaekb\/my_laser_scan_matcher\">github \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f<\/a>.<br \/>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043d\u0430\u0448 \u043b\u0430\u0443\u043d\u0447 \u0444\u0430\u0439\u043b:<\/p>\n<pre><code class=\"bash\">roslaunch my_laser_matcher my_localize.launch <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u0432 rviz. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 map \u0434\u043b\u044f Fixed frame \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 Global options. \u0412\u044b\u0432\u0435\u0434\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0442\u043e\u043f\u0438\u043a\u043e\u0432:<\/p>\n<pre><code class=\"bash\">rostopic list <\/code><\/pre>\n<p>  \u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u0442\u043e\u043f\u0438\u043a\u0438:<\/p>\n<pre><code class=\"bash\">... \/amcl\/parameter_descriptions \/amcl\/parameter_updates \/amcl_pose ... \/map \/map_metadata \/map_updates ... \/particlecloud <\/code><\/pre>\n<p>  \u0422\u043e\u043f\u0438\u043a amcl_pose \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0440\u043e\u0431\u043e\u0442\u0430, \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0435\u043c\u043e\u0439 amcl.<br \/>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0442\u043e\u043f\u0438\u043a\u0435:<\/p>\n<pre><code class=\"bash\">rostopic echo \/amcl_pose <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0440\u043e\u0431\u043e\u0442\u0430:<\/p>\n<pre><code class=\"bash\">header:    seq: 15   stamp:      secs: 1482430591     nsecs:  39625000   frame_id: map pose:    pose:      position:        x: 0.781399671581       y: 0.273353260585       z: 0.0     orientation:        x: 0.0       y: 0.0       z: -0.636073020536       w: 0.771628869694   covariance: [0.2187289446708912, -0.010178711317316846, 0.0, 0.0, 0.0, 0.0, -0.010178711317316819, 0.23720047371620548, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.07106236846890918] --- <\/code><\/pre>\n<p>  \u0412 rviz \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/0fe\/06b\/0ac\/0fe06b0ac76c4c1c983baaf2651f2ab0.png\" alt=\"image\"\/><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u043c \u0442\u043e\u0447\u043a\u0438 \u0441\u043a\u0430\u043d\u0430 \u0441 \u043b\u0438\u0434\u0430\u0440\u0430 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441\u043e \u0441\u0442\u0435\u043d\u0430\u043c\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435. \u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0430 \u043c\u043e\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9b4\/f54\/6bf\/9b4f546bf1dc466282e4bbb44980621c.jpg\" alt=\"image\"\/><\/p>\n<p>  \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430. \u041f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u043e\u0431\u043e\u0442\u0430 \u0438 \u0442\u043e\u0447\u043a\u0430 \u043e\u0431\u0437\u043e\u0440\u0430 \u043a\u0430\u0440\u0442\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u043e\u043a\u043d\u0435 rviz. \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u0440\u043e\u0431\u043e\u0442\u0430 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u0440\u043e\u0431\u043e\u0442\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u043c amcl \u043d\u0435 \u0442\u043e\u0447\u043d\u043e. \u041d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0443 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u043e\u0431\u043e\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 2D Pose Estimate. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u043c\u0435\u043c \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 rviz \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 2D Pose Estimate, \u043a\u043b\u0438\u043a\u043d\u0435\u043c \u043d\u0430 \u043f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0442\u043e\u0447\u043a\u0443 \u0446\u0435\u043d\u0442\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435 \u0432 rviz (\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 base_link) \u0438 \u0431\u0443\u0434\u0435\u043c \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0437\u0430\u0436\u0430\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0443 \u043c\u044b\u0448\u043a\u0438. \u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0437\u0435\u043b\u0435\u043d\u0430\u044f \u0441\u0442\u0440\u0435\u043b\u043a\u0430, \u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u0438\u0437 \u0446\u0435\u043d\u0442\u0440\u0430 \u0440\u043e\u0431\u043e\u0442\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4e2\/d18\/698\/4e2d186981f740d491523ec6e421ea4d.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u043e\u0442\u044f\u043d\u0435\u043c \u0441\u0442\u0440\u0435\u043b\u043a\u0443 \u0438\u0437\u043c\u0435\u043d\u044f\u044f \u0435\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438 \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0442\u043e\u0447\u043a\u0438 \u0441\u043a\u0430\u043d\u0430 \u0441 \u043b\u0438\u0434\u0430\u0440\u0430 \u0441 \u0447\u0435\u0440\u043d\u044b\u043c\u0438 \u043a\u0440\u0430\u044f\u043c\u0438 (\u0441\u0442\u0435\u043d\u044b) \u043d\u0430 \u043a\u0430\u0440\u0442\u0435. \u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u043d\u0430\u0438\u043b\u0443\u0447\u0448\u0435\u0435 \u0441\u043e\u0432\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0443\u0441\u0442\u0438\u043c \u043a\u043d\u043e\u043f\u043a\u0443 \u043c\u044b\u0448\u043a\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ccb\/1e3\/b33\/ccb1e3b334074f61888b57016d0836b8.png\" alt=\"image\"\/><\/p>\n<p>  \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0442\u0430\u043a\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435, \u0433\u0434\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d my_localize.launch:<\/p>\n<pre><code class=\"bash\">[ INFO] [1482431993.717411186]: Setting pose (1482431993.717383): -0.413 -0.071 0.057 <\/code><\/pre>\n<p>  \u041d\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u043c \u0432\u0438\u0434\u0435\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438:<\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 75.0019%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/MHNLIv6kgpA?rel=0&amp;showinfo=1\" frameborder=\"0\" allowfullscreen=\"true\" webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\" style=\"top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  \u0422\u043e\u043f\u0438\u043a \/particlecloud \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u043e\u0431\u043e\u0442\u0430 \u0432 \u0432\u0438\u0434\u0435 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0437\u0438\u0446\u0438\u0439 (Pose) \u0438\u043b\u0438 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0435 \u043e\u0431\u043b\u0430\u043a\u043e \u0447\u0430\u0441\u0442\u0438\u0446. \u0422\u0438\u043f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u2014 geometry_msgs\/PoseArray. <\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043f\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044e \u0442\u043e\u043f\u0438\u043a\u0430 <a href=\"http:\/\/wiki.ros.org\/navigation\/Tutorials\/Using%20rviz%20with%20the%20Navigation%20Stack\">\/particlecloud<\/a>:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/a45\/839\/9be\/a458399be7a34b40a736d15e1929c60c.png\" alt=\"image\"\/><\/p>\n<p>  \u0412 rviz \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0441\u044f \u043e\u0431\u043b\u0430\u043a\u043e \u0447\u0430\u0441\u0442\u0438\u0446 \u0432 \u0432\u0438\u0434\u0435 \u0433\u0443\u0441\u0442\u043e\u0433\u043e \u0441\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u043a\u0440\u0430\u0441\u043d\u044b\u0445 \u0441\u0442\u0440\u0435\u043b\u043e\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9e9\/992\/f0a\/9e9992f0acda4a6f8bba1b1a582004f6.png\" alt=\"image\"\/><\/p>\n<p>  \u0427\u0435\u043c \u0433\u0443\u0449\u0435 \u0441\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u0447\u0430\u0441\u0442\u0438\u0446, \u0442\u0435\u043c \u0432\u044b\u0448\u0435 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0440\u043e\u0431\u043e\u0442\u0430 \u0432 \u044d\u0442\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438.<br \/>  \u041e\u0431 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435 2D Pose estimate, \u043e\u0431\u043b\u0430\u043a\u0435 \u0447\u0430\u0441\u0442\u0438\u0446 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u043e\u043d\u044f\u0442\u0438\u0439 \u0432 amcl \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/wiki.ros.org\/navigation\/Tutorials\/Using%20rviz%20with%20the%20Navigation%20Stack\">\u0432 \u0442\u0443\u0442\u043e\u0440\u0438\u0430\u043b\u0435<\/a> \u043d\u0430 \u043f\u043e\u0440\u0442\u0430\u043b\u0435 ros.org.<\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u0435! \u0412\u0441\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b (gmapping \u0438 amcl) \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 Navigation stack \u0432 ROS, \u043e \u043d\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0432 \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 laser_scan_matcher, \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442 gmapping \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 amcl. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0434 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0435\u0439 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435 \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0440\u0443\u0447\u043d\u043e\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438. \u0416\u0435\u043b\u0430\u044e \u0432\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u0438 \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u0438 \u0434\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447! <\/p>\n<p>  PS: \u0412\u0441\u0435\u0445 \u0441 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u043c 2017 \u0433\u043e\u0434\u043e\u043c!<br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/geektimes.ru\/post\/283556\/\"> https:\/\/geektimes.ru\/post\/283556\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0414\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c \u0445\u0430\u0431\u0440\u0430\u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438!<br \/>  \u041c\u044b \u0443\u0436\u0435 \u043e\u0434\u043d\u0430\u0436\u0434\u044b \u043a\u043e\u0441\u043d\u0443\u043b\u0438\u0441\u044c \u0442\u0435\u043c\u044b \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 SLAM \u0432 <a href=\"https:\/\/geektimes.ru\/post\/281760\/\">\u0441\u0442\u0430\u0442\u044c\u0435 \u043e Hector SLAM<\/a>. \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442 \u043c\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 ROS. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u043c\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0431\u0435\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043e\u0434\u043e\u043c\u0435\u0442\u0440\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u0434\u0430\u0440 <a href=\"https:\/\/www.hokuyo-aut.jp\/02sensor\/07scanner\/urg_04lx_ug01.html\">Hokuyo URG-04LX-UG01<\/a> \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c <a href=\"http:\/\/wiki.ros.org\/gmapping\">gmapping<\/a> \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 <a href=\"http:\/\/wiki.ros.org\/amcl\">amcl<\/a>. \u0412 \u044d\u0442\u043e\u043c \u043d\u0430\u043c \u043f\u043e\u043c\u043e\u0436\u0435\u0442 <a href=\"http:\/\/wiki.ros.org\/laser_scan_matcher\">laser_scan_matcher<\/a>. \u041a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0434 \u043a\u0430\u0442.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-283319","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/283319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=283319"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/283319\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=283319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=283319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=283319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}