ROS Kinect Xbox 360
comandos rapidos
freenect-glview roslaunch openni_launch openni.launch rosrun camera_calibration cameracalibrator.py --size 8x6 --square 0.108 image:=/camera/rgb/image camera:=/camera/rgb
Recentemente comprei uma kinect Xbox 360 para usar na construção de um robot semelhante ao chefbot (quando tiver os componentes todos, já só falta o nuc). Quando a kinect chegou é que reparei que faltava uma adaptador para a ligar à porta usb do computador. Agora chegou o adaptador e posso começar a aprender como posso usa-la em projectos de robótica.
A câmara que comprei é uma kinect Xbox 360 model 1414, julgo que seja das primeiras versões da kinect xbox 360.
- A kinect xbox 360 tem cerca de 28cm de comprimento e integra os seguintes dispositivos:
- câmara IR 3D (profundidade)
- câmara RGB
- vários microfones
- motor da posição angular vertical
- acelerometro?
A localização dos dispositivos na kinect é conforme a imagem abaixo.
As especificações básicas da Kinect são:
- Resolução da cãmara RGB: 640 x 480 @30 fps
- Resolução da câmara IR: 320 x 240 @30 fps
- Campo de visão das câmeras (FoV): 43° vertical x 57° horizontal;
- Distância min e max: 40cm (near mode) 450 cm
- Amplitude vertical do motor (tilt motor): ±27°;
- Audio input : 4 microfones – 16-kHz, 24-bit mono (PCM);
- Analog-to-digital converter (ADC): 24-bit;
- Acelerometro: 2G/4G/8G (configurado para 2G);
- Processamento de sinais interno
https://support.xbox.com/en-US/xbox-360/accessories/kinect-sensor-lights-info
A primeira coisa a fazer é aprender como instalar os drivers e usa-la no ROS.
Os pacotes mínimos necessários são os seguintes (substituir kinectic pela distro do ros adequada)
sudo apt-get install ros-kinetic-vision-opencv sudo apt install ros-kinetic-libfreenect sudo apt-get install ros-kinetic-openni-launch sudo apt-get install ros-kinetic-openni-camera sudo apt-get install ros-kinetic-rgbd-launch
Por vezes é necessário mais qualquer coisa. Descrição das instalações que fiz por ordem.
Instalar a Kinect Xbox 360 no Ubuntu Trusty 14.04 e ROS Indigo
Instalar a Kinect Xbox 360 no Debian 9 e ROS Melodic
Instalar a Kinect Xbox 360 no Ubuntu Xenial 16.04 e ROS Kinetic
Posteriormente queremos visualizar os dados recolhidos da kinectic.
Outras informações
https://support.xbox.com/en-US/xbox-360/accessories/kinect-sensor-lights-info
Comandos básicos
lsusb | grep Xbox
freenect-glview
roslaunch openni_launch openni.launch
rosrun camera_calibration cameracalibrator.py –size 8×6 –square 0.108 image:=/camera/rgb/image camera:=/camera/rgb
Teste da instalação da Xbox no ROS
roscore & roslaunch openni_launch openni.launch & [ INFO] [1565030774.317403161]: Number devices connected: 1 [ INFO] [1565030774.317747415]: 1. device on bus 001:08 is a SensorV2 (2ae) from PrimeSense (45e) with serial id 'A00361A02199045A' [ INFO] [1565030774.318949216]: Searching for device with index = 1 [ INFO] [1565030774.368167043]: Opened 'SensorV2' on bus 1:8 with serial number 'A00361A02199045A' [ INFO] [1565030774.423764995]: rgb_frame_id = 'camera_rgb_optical_frame' [ INFO] [1565030774.423952472]: depth_frame_id = 'camera_depth_optical_frame' [ WARN] [1565030774.434594473]: Camera calibration file /home/inaciose/.ros/camera_info/rgb_A00361A02199045A.yaml not found. [ WARN] [1565030774.434681290]: Using default parameters for RGB camera calibration. [ WARN] [1565030774.434745156]: Camera calibration file /home/inaciose/.ros/camera_info/depth_A00361A02199045A.yaml not found. [ WARN] [1565030774.434782358]: Using default parameters for IR camera calibration.
Lista dos tópicos
rostopic list
/camera/depth/camera_info
/camera/depth/disparity
/camera/depth/image
[…]
/camera/ir/camera_info
/camera/ir/image_raw
/camera/ir/image_raw/compressed
[…]
/camera/projector/camera_info
/camera/rgb/camera_info
/camera/rgb/image_color
roslaunch rgbd_launch kinect_frames.launch
NODES
/
camera_base_link (tf2_ros/static_transform_publisher)
camera_base_link1 (tf2_ros/static_transform_publisher)
camera_base_link2 (tf2_ros/static_transform_publisher)
camera_base_link3 (tf2_ros/static_transform_publisher)
ROS_MASTER_URI=http://localhost:11311
process[camera_base_link-1]: started with pid [2200]
process[camera_base_link1-2]: started with pid [2201]
process[camera_base_link2-3]: started with pid [2202]
process[camera_base_link3-4]: started with pid [2203]
rviz
Depth image frame id [camera_depth_optical_frame] doesn’t match color image frame id [camera_rgb_optical_frame]
Outras notas sobre o assunto
[Stream 80] Invalid magic b479
[Stream 80] Lost 1 packets
[Stream 80] Lost 1 total packets in 2338 frames (0.000428 lppf)
[Stream 80] Lost 3 packets
[Stream 80] Lost 4 total packets in 2338 frames (0.001711 lppf)
[Stream 80] Inconsistent flag 85 with 147 packets in buf (162 total), resyncing.
sudo apt-get install ros-indigo-kinect-aux
sudo apt-get install libnss-myhostname
sudo apt-get install mesa-utils glxinfo | grep "OpenGL version"
export LIBGL_ALWAYS_SOFTWARE=1
sudo apt install vlc-plugin-access-extra