ROS рдЗрдВрдбрд┐рдЧреЛ рдореЗрдВ Microsoft Kinect 360 рдХреИрдорд░рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╢реБрдн рджреЛрдкрд╣рд░, рдкреНрд░рд┐рдп рд╣реЗрдмреНрд░реИрдЪрд┐рдЯреЗрд▓реА!

рд╣рд╛рд▓ рдХреЗ рдЕрд╡рд▓реЛрдХрди рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ Ubuntu 14.04 рдХреЗ рддрд╣рдд ROS рдЗрдВрдбрд┐рдЧреЛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП Microsoft Kinect Xbox 360 рдХреИрдорд░рд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдЕрдХреНрд╕рд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдУрдкрдирдиреА_рд▓рдВрдЪ рдЖрд░рдУрдПрд╕ рдкреИрдХреЗрдЬ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп, рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ "рдХреЛрдИ рдбрд┐рд╡рд╛рдЗрд╕ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ" рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ ROS рдЗрдВрдбрд┐рдЧреЛ рд╕реЗ Microsoft Kinect рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдореЗрд░реА рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдХреМрди рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рдХреГрдкрдпрд╛, рдХрдЯ рдХреЗ рдиреАрдЪреЗ!

Microsoft Kinect рдХреИрдорд░рд╛


рдпрд╣ рд╕реЗрдВрд╕рд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЗрдЦ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ ред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, Microsoft Kinect рдПрдХ 3D (RGB-D, рдпрд╛рдиреА рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛ рдФрд░ рдЧрд╣рд░рд╛) рдХреИрдорд░рд╛ рд╣реИ, рдЬреЛ рд╕реНрдЯреНрд░рдХреНрдЪрд░реНрдб рд▓рд╛рдЗрдЯ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХреИрдорд░рд╛ рдХреЗ рджреЗрдЦрдиреЗ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕рддрд╣реЛрдВ рдХрд╛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирдХреНрд╢рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЧрд╣рд░рд╛рдИ рдХреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдХреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рддреНрд░рд┐-рдЖрдпрд╛рдореА "рдХреНрд▓рд╛рдЙрдб" рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдкрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рд╕рдЯреАрдХ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ X, Y рдФрд░ Z рд╣реЛрддреЗ рд╣реИрдВ рдФрд░, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, RGB рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░рдВрдЧред рдЕрдВрдХреЛрдВ рдХреЗ "рдмрд╛рджрд▓реЛрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реЗрд╡рд╛ рд░реЛрдмреЛрдЯрд┐рдХреНрд╕ рдореЗрдВ рднреВ-рдорд╛рдирдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рд╡рд╕реНрддреБ рдорд╛рдиреНрдпрддрд╛ рдФрд░ 3 рдбреА рдореЗрдВ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрдИ рдЕрдиреНрдп рдХрд╛рд░реНрдпред

рдЫрд╡рд┐

ROS Kinect рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╕реЗрдВрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдЕрдВрдХреЛрдВ рдХреЗ "рдХреНрд▓рд╛рдЙрдб" рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ rviz рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЫрд╡рд┐

ROS рдореЗрдВ Kinect рд╕реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ openni_launch рдФрд░ Openni_camera рдкреИрдХреЗрдЬ рд╣реИрдВред

Microsoft Kinect рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрдирд╛


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдУрдкрдирдПрдирдЖрдИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХрдИ рдЖрд░рдЬреАрдмреА-рдбреА рд╕реЗрдВрд╕рд░ (Kinect, ASUS Xtion, PrimeSense) рд╣реИред
OpenNI рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:

sudo apt-get install git build-essential python libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk
sudo apt-get install doxygen graphviz mono-complete

рдЕрдм рд╕реАрдзреЗ рд╕реЛрд░реНрд╕ рд╕реЗ OpenNI 1.5.4 рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ:

git clone https://github.com/OpenNI/OpenNI.git
cd OpenNI
git checkout Unstable-1.5.4.0
cd Platform/Linux/CreateRedist
chmod +x RedistMaker
./RedistMaker

рдЕрдм рдпрд╣рд╛рдБ рд╕реЗ Kinect рд╕реЗрдВрд╕рд░ рдХреЗ рд▓рд┐рдП avin-KinectSensor рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред

unzip avin2-SensorKinect-v0.93-5.1.2.1-0-g15f1975.zip 
cd avin2-SensorKinect-15f1975/Bin

рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдкреНрд░рдХрд╛рд░ (32 рдпрд╛ 64 рдмрд┐рдЯреНрд╕) рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЙрдкрдпреБрдХреНрдд рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред 32 рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:

tar -xjf SensorKinect093-Bin-Linux-x86-v5.1.2.1.tar.bz2
cd Sensor-Bin-Linux-x86-v5.1.2.1

64 рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП, рд╣рдо рдХрд░реЗрдВрдЧреЗ:

tar -xjf SensorKinect093-Bin-Linux-x64-v5.1.2.1.tar.bz2
cd Sensor-Bin-Linux-x64-v5.1.2.1

рдЕрдВрдд рдореЗрдВ, рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВ:

sudo ./install.sh


рдУрдкрдирдиреА_ * рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдЖрдЦрд┐рд░реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд╡рд╣ рд╣реИ рдУрдкрдирдиреА_рд▓рдВрдЪ рдФрд░ рдУрдкрдирдиреА_рдХреИрдорд░рд╛ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ , рдЬреЛ рдЖрдкрдХреЛ рдЖрд░рдУрдПрд╕ рдореЗрдВ рдУрдкрдирдПрдирдЖрдИ-рд╕рдВрдЧрдд рдЧрд╣рд░рд╛рдИ рдХреИрдорд░реЛрдВ рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ:

sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch


рдбреНрд░рд╛рдЗрд╡рд░ рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╕рддреНрдпрд╛рдкрди


рдЕрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ! рд╕реНрдерд╛рдкрдирд╛ рдХреА рд╕рдлрд▓рддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред рд╡рд┐рднрд┐рдиреНрди рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдореЗрдВ рдЪрд▓рд╛рдПрдВ:

roscore
roslaunch openni_launch openni.launch depth_registration:=true
rosrun rviz rviz

рддрд░реНрдХ рдХреЛ рд╕реЗрдЯ рдХрд░рдирд╛ deep_registration: = true рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо OpenNI рдкрдВрдЬреАрдХрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдХреИрдорд░рд╛ (рдЧрд╣рд░рд╛рдИ рдФрд░ рд░рдВрдЧ) рд╕реЗ XYZRGB рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, rviz рдореЗрдВ, рдмрд╛рдПрдВ рдСрдкреНрд╢рдВрд╕ рдХреЙрд▓рдо рдореЗрдВ рдЧреНрд▓реЛрдмрд▓ рдСрдкреНрд╢рди рд╕реЗрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЪрд┐рддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд┐рдХреНрд╕реНрдб рдлреНрд░реЗрдо рдлреАрд▓реНрдб рдХреЗ рд▓рд┐рдП рд╡реИрд▓реНрдпреВ / рдХреИрдорд░рд╛_рд▓рд┐рдВрдХ рд╕реЗрдЯ рдХрд░реЗрдВ:

рдЫрд╡рд┐

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо Kinect рдХреИрдорд░рд╛ рд╕реЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╣реА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдСрд░реНрдбрд┐рдиреЗрдЯ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред
Rviz рдореЗрдВ рд╣рдо рдПрдХ рдирдпрд╛ рдбрд┐рд╕реНрдкреНрд▓реЗ рдмрдирд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛрдбрд╝реЗрдВ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЪрд┐рддреНрд░ рдореЗрдВ рдбрд┐рд╕реНрдкреНрд▓реЗ рдкреЙрдЗрдВрдЯрдХреНрд▓рд╛рдЙрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛

рдЫрд╡рд┐

рдЪрдпрди рдХрд░реЗрдВ : рдирдП рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдп / рдХреИрдорд░рд╛ / рдЧрд╣рд░рд╛рдИ_рдЧреНрд░реЗрд╕реНрдб / рдЕрдВрдХ

рдЫрд╡рд┐

рдЪреБрдиреЗрдВ ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд░рдВрдЧ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП "RGB8" рдорд╛рди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдЕрдм рд╣рдо рдПрдХ рд╕рдорд╛рди рддрд╕реНрд╡реАрд░ рджреЗрдЦреЗрдВрдЧреЗ:

рдЫрд╡рд┐

"RGB8" рдХрд╛ рдорд╛рди рдЖрдкрдХреЛ рдПрдХ рд░рдВрдЧреАрди "рдкреЙрдЗрдВрдЯ рдХреНрд▓рд╛рдЙрдб" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдкрд░ X, Y, Z рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ RGB рд░рдВрдЧ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ Microsoft Kinect Xbox 360 рдХреЗрд╡рд▓ USB 2.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпреВрдПрд╕рдмреА 3.0 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреИрдорд░реЗ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╛рдд рдХреА рдереАред

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЖрд░рдУрдПрд╕ рдкреЛрд░реНрдЯрд▓ рдореЗрдВ рдкреНрд╡рд╛рдЗрдВрдЯ рдХреНрд▓рд╛рдЙрдб рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ RGB-D рдХреИрдорд░рд╛ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╣реИрдВ ред рдпреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдмрд┐рдВрджреБ рдмрд╛рджрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрд╝рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ROS рдореЗрдВ RGBD рдХреИрдорд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛рдПрдБ рджреЗрддрд╛ рд╣реВрдБ!

Source: https://habr.com/ru/post/hi396291/


All Articles