рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдЖрд░рдУрдПрд╕ рд░реЛрдмреЛрдЯрд┐рдХ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ, рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдФрд░ рдорд╛рдирдЪрд┐рддреНрд░рдг рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рдЫреБрдЖ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╣рдордиреЗ рдПрд╕рдПрд▓рдПрдПрдо рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛:
рд▓реЗрдЦ рдореЗрдВ gmapping рдФрд░
рд▓реЗрдЦ рдореЗрдВ hector_slamред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрд░рдУрдПрд╕ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛ рдФрд░ рдЖрд░рдУрдПрд╕ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд▓рд╛рдЧреВ рдХрдИ рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдкреНрд░рджрд╛рди рдХрд░реВрдВрдЧрд╛ред рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ рдореЗрдВ рд╡рд┐рдЬрд╝реБрдЕрд▓ рдУрдбреЛрдореЗрдЯреНрд░реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдХреИрдорд░реЗ рд╕реЗ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реЛрдмреЛрдЯ рдХреА рдЧрддрд┐, рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рддреНрд╡рд░рдг рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рдпрд╛ рддреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЖрд░рдЬреАрдмреА рдХреИрдорд░рд╛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЛрдиреЛрдХреНрд░реЛрдо рдУрдбреЛрдореЗрдЯреНрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░), рдпрд╛ рдПрдХ рд╕реНрдЯреАрд░рд┐рдпреЛ рдХреИрдорд░рд╛ (рд╕реНрдЯреАрд░рд┐рдпреЛ рдУрдбреЛрдореЗрдЯреНрд░реА) рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЖрд░рдЬреАрдбреА рдХреИрдорд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Microsoft Kinect рдЬреИрд╕реЗ RGBD рдХреИрдорд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рд╕реНрдЯреАрд░рд┐рдпреЛ рдХреИрдорд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдо 3 рдбреА рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо рдРрд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдХрд┐рд╕реЗ рд╣реИ, рдХреГрдкрдпрд╛ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗред
rtabmap
rtabmap рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ ROS SLAM рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИред рдЗрд╕ рдкреИрдХреЗрдЬ рдореЗрдВ, SLAM рдХреЗ рд▓рд┐рдП рдФрдЬрд╛рд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ
рдУрдбреЛрдореЗрдЯреНрд░реА рд╡реНрдпреВрдЕрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣реИред Rtabmap рдореЗрдВ, рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ: рдУрдбреЛрдореЗрдЯреНрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЖрд░рдЬреАрдмреА рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЧрд╣рд░рд╛рдИ рдбреЗрдЯрд╛ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рджреГрд╢реНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рджреЛ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдорд┐рд▓рд╛рди рджреГрд╢реНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдорд┐рд▓рд╛рди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, RANSAC рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рдЧрд╛рддрд╛рд░ рдлреНрд░реЗрдо рдХреЗ рдмреАрдЪ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
рдЖрд░рдУрдПрд╕ рдЗрдВрдбрд┐рдЧреЛ рдФрд░ рдХрд╛рдЗрдиреЗрдЯрд┐рдХ рдкрд░ рдЖрд░рдЯреИрдореНрдк рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдПрдкреНрдЯ-рдЧреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:
sudo apt-get install ros-<version>-rtabmap ros-<version>-rtabmap-ros
рдЖрдк рд╕реНрд░реЛрдд рд╕реЗ rtabmap рдФрд░ rtabmap_ros рднреА рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
source /opt/ros/<version>/setup.bash cd ~ git clone https://github.com/introlab/rtabmap.git rtabmap cd rtabmap/build cmake .. make cd ~/catkin_ws git clone https://github.com/introlab/rtabmap_ros.git src/rtabmap_ros catkin_make -j1
рдУрдбреЛрдореЗрдЯреНрд░реА рд╡реНрдпреВрдЕрд░ рдЪрд▓рд╛рдПрдБ:
rtabmap-odometryViewer
рдЗрд╕ рддрд░рд╣ рдПрдХ рд╡рд┐рдВрдбреЛ рдЦреБрд▓рддреА рд╣реИ:

рдХреИрдорд░рд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╣рд┐рд▓рд╛рдПрдВ:

рдЖрдЗрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреИрдЧ-рдСрдл-рд╡рд░реНрдб рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ SURF рд╣реИ):
rtabmap-odometryViewer -bow
SIFT рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ (0 = SURF, 1 = SIFT) рдХреЗ рд╕рд╛рде рдмреИрдЧ-рдСрдлрд╝-рд╡рд░реНрдбреНрд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
rtabmap-odometryViewer -bow 1

FAST + BRIEF рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ:
rtabmap-odometryViewer -bin

-Icp рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк ICP рд╡рд┐рдзрд┐ (Iterative Closest Point) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдУрдбреЛрдореЗрдЯреНрд░реА рднреА рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк hz рдкреИрд░рд╛рдореАрдЯрд░ (рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдкреВрд░реНрдгрд╛рдВрдХ рдлрд╝реНрд░реЗрдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЖрд╡реГрддреНрддрд┐ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
rtabmap-odometryViewer -hz 2
рдЖрдк рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдЖрдВрддрд░рд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рдЗрдирд▓реЗрдпрд░реНрд╕ рдХреЗ рдмреАрдЪ рдЕрдзрд┐рдХрддрдо рджреВрд░реА, рдореИрдЪ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛, рдЖрд░рдПрдПрдирдПрд╕рдПрд╕реА / рдЖрдИрд╕реАрдкреА рд╡рд┐рдзрд┐ рдореЗрдВ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЖрд░рдЯреИрдмрдореИрдк рдХреЗ рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд▓реНрджреА, рдмрд┐рдирд╛ рджреЗрд░реА рдХреЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рджреГрд╢реНрдп рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреИрдорд░реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред Rtabmap рдкреИрдХреЗрдЬ рд╕реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╛рдЗрдирд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, riziz рдореЗрдВ рдУрдбреЛрдореЗрдЯреНрд░реА рдбреЗрдЯрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛ред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ ROS рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
Fovis_ros рдкреИрдХреЗрдЬ
Fovis_ros рдкреИрдХреЗрдЬ рдХреЗрд╡рд▓ ROS рд╣рд╛рдЗрдбреНрд░реЛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдЗрдВрдбрд┐рдЧреЛ рд╢рд╛рдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреИрдЯрд╡реЙрдХ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рдВрдХрд▓рди рдХрд░рддреЗ рд╕рдордп fovis_ros рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
Fovis_ros рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ libfovis рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдФрд░ рдЦреБрдж fovis_ros рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЙрдиреНрд╣реЗрдВ рдЧрд┐рддреБрдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
cd ~/catkin_ws/src git clone https://github.com/srv/libfovis.git cd libfovis git checkout hydro cd .. git clone https://github.com/srv/fovis.git cd fovis git checkout hydro cd ~/catkin_ws catkin_make source devel/setup.bash
рдпрд╣рд╛рдВ рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╢рд╛рдЦрд╛ рд╣рд╛рдЗрдбреНрд░реЛ рджреНрд╡рд╛рд░рд╛ рдЪреБрдиреА рдЧрдИ рд╣реИ, рдЕрдиреНрдпрдерд╛ рд╕рдВрдХрд▓рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ (рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╢рд╛рдЦрд╛ рдЗрдВрдбрд┐рдЧреЛ рд╣реИ)ред
рдЕрдм fovis_ros рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд╛рдВрдЪрд░ рдмрдирд╛рдПрдВ:
cd ~/catkin_ws/src git clone https://github.com/vovaekb/fovis_demo.git d ~/catkin_ws catkin_make source devel/setup.bash
рд░рди fovis_demo.launch:
roslaunch fovis_demo fovis_demo.launch
Rviz рд╡рд┐рдВрдбреЛ рдЦреБрд▓реЗрдЧреА:

рдХреИрдорд░рд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╣рд┐рд▓рд╛рдПрдВ рдФрд░ рдПрдХ рдЕрджреНрдпрддрди рд╕реНрдерд┐рддрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

fovis_ros рджреЛ рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ: / kinect_odometer / odometry (odometry) рдФрд░ / kinect_odometer / pose (рд╕реНрдерд┐рддрд┐)ред
рдЕрдм рд╣рдо рдореЗрд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд▓реЙрдиреНрдЪ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓реЗрдВ "рд▓рд░реНрдирд┐рдВрдЧ рдЖрд░рдУрдПрд╕ рдлреЙрд░ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ - рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг" рдЕрдзреНрдпрд╛рдп 5 рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдирд╛рдордХ рдкреБрд╕реНрддрдХ рд╕реЗ рд▓реА рдЧрдИ рд╣реИрдВред
рдЪрд▓рд┐рдП рдореБрдЦреНрдп рдлрд╛рдЗрд▓ fovis_demo.launch рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рд▓рд╛рдЗрди рдореЗрдВ
<arg name="mode" default="no_registered"/>
рд╣рдо рдореЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ no_registered рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо no_registered рдЧрд╣рд░рд╛рдИ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдЧрд╣рд░рд╛рдИ рдХрд╛ рдирдХреНрд╢рд╛ рдкрдВрдЬреАрдХреГрдд рдирд╣реАрдВ рд╣реИ рдФрд░ RGB рдХреИрдорд░реЗ рд╕реЗ рдЪрд┐рддреНрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдЧрд╣рд░рд╛рдИ рджрд░реНрдЬ рдХреА рдЧрдИ рдереА, рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдзреАрд░реЗ-рдзреАрд░реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдУрдбреЛрдореАрдЯрд░ рддрд╛рдЬрд╝рд╛ рджрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
rostopic hz /kinect_odometer/odometry
рд╣рдореЗрдВ рдПрдХ рд╕рдорд╛рди рдирд┐рд╖реНрдХрд░реНрд╖ рдорд┐рд▓рддрд╛ рд╣реИ:
average rate: 8.759 min: 0.084s max: 0.156s std dev: 0.02417s window: 9 average rate: 7.938 min: 0.084s max: 0.180s std dev: 0.02724s window: 16 average rate: 7.493 min: 0.084s max: 0.217s std dev: 0.03286s window: 23 average rate: 8.111 min: 0.068s max: 0.217s std dev: 0.03645s window: 33
рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрдВрдЬреАрдХрд░рдг рдХреЗ рд╕рд╛рде fovis_demo рдЪрд▓рд╛рдПрдВ: = sw_registered рдкреИрд░рд╛рдореАрдЯрд░:
roslaunch fovis_demo fovis_demo.launch mode:=sw_registered
рд╣рдо рдУрдбреЛрдореАрдЯрд░ рдЕрджреНрдпрддрди рджрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ:
average rate: 0.963 min: 1.022s max: 1.056s std dev: 0.01676s window: 3 average rate: 0.968 min: 1.020s max: 1.056s std dev: 0.01635s window: 4 average rate: 1.212 min: 0.509s max: 1.056s std dev: 0.25435s window: 6
рдЕрдЧрд▓рд╛, рд╣рдо rviz рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
<arg name="rviz_config" default="$(find fovis_demo)/config/rviz_$(arg mode).rviz"/>
рдореИрдВ рдпрд╣рд╛рдВ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ rviz рд╡рд┐рдВрдбреЛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдкреНрд░рджрд░реНрд╢рди, рд╡реИрд╢реНрд╡рд┐рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреИрд╕реЗ рдлрд┐рдХреНрд╕реНрдб рдлрд╝реНрд░реЗрдо рдЗрддреНрдпрд╛рджрд┐ред
рдирд┐рдореНрди рдкреИрд░рд╛рдореАрдЯрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ rviz рдкреИрд░рд╛рдореАрдЯрд░ рдФрд░ Kinect рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рд▓реЙрдиреНрдЪ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реИ:
<include file="$(find fovis_demo)/launch/openni_kinect_$(arg mode).launch"/>
рдореЛрдб рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдорд╛рд░реЗ рдкреИрдХреЗрдЬ рд╕реЗ рдлрд╝реЙрд╡рд┐рдЬрд╝ рдХреЗ рд▓рд┐рдП рд▓реЙрдиреНрдЪрд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ:
<include file="$(find fovis_demo)/launch/fovis_$(arg mode).launch"/>
рдЪреВрдБрдХрд┐ рд╣рдо рдХреИрдорд░реЗ рдХреА рдЧрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд░реЛрдмреЛрдЯ рдХреА рдЧрддрд┐ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдХреИрдорд░рд╛ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рд░реЛрдмреЛрдЯ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдСрдлрд╕реЗрдЯ рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдореЗрд╢рди рдХреЛ рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо tf рдкреИрдХреЗрдЬ рд╕реЗ static_transform_publisher рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдмреЗрд╕_рд▓рд┐рдВрдХ тЖТ рдХреИрдорд░рд╛_рд▓рд┐рдВрдХ рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрдереИрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
<node pkg="tf" type="static_transform_publisher" name="base_to_camera_tf" args="0 0 -0.05 0 0 0 base_link camera_link 100"/>
рдЕрдВрдд рдореЗрдВ, rviz рдЪрд▓рд╛рдПрдВ:
<group if="$(arg rviz)"> <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rviz_config)"/> </group>
рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╢реЗрд╖ рд▓рд╛рдВрдЪрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реЛ рддреЛ рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЬрдм fovis_ros рдХреЛ рдкреИрд░рд╛рдореАрдЯрд░ рдореЛрдб = sw_registered рдХреЗ рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо RGB рдХреИрдорд░рд╛ рд╕реЗ рдлреНрд░реЗрдо рдХреЛ рдереНрд░реЙрдЯрд▓рд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдХрдо рдЕрджреНрдпрддрди рдЖрд╡реГрддреНрддрд┐ (2.5 рд╣рд░реНрдЯреНрдЬ) рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╖рдп рд╕реЗ рджреВрд╕рд░реЗ рд╡рд┐рд╖рдп рдкрд░ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ (рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ )ред
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдлрд╝реЙрд╡рд┐рдЬрд╝ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░
рдПрдХ рд▓реЗрдЦ рд╣реИред
рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА fovis_ros рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреИрдорд░рд╛ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рджреМрд░рд╛рди рдЫреЛрдЯреЗ рд╡рд┐рд▓рдВрдм рдХреЗ рд╕рд╛рде rtabmap рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рджреГрд╢реНрдп рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХреИрдорд░реЗ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдХрд╛рдлреА рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рджреГрд╢реНрдп рдУрдбреЛрдореЗрдЯреНрд░реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреА рдпрд╣ рд╕рдореАрдХреНрд╖рд╛ рдЖрдкрдХреЗ рдХрд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдФрд░ рдЖрдкрдХреЛ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЖрдкрдХреЛ рдЬрд▓реНрдж рд╣реА рджреЗрдЦреВрдВрдЧрд╛!
рдкреБрдирд╢реНрдЪ: рдореИрдВ рдЖрдкрд╕реЗ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдФрд░ рдЖрд░рдУрдПрд╕ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред