Skip to content

bender_sensors

Matías Pavez edited this page May 8, 2017 · 1 revision

bender_sensors

Package Summary

Contiene algoritmos para el manejo (obtención de datos, publicación y procesamiento básico) de los diversos sensores del Robot y launchfiles relacionados.

El package está configurado para trabajar con hardware específico, pues crea los tópicos/servicios de acuerdo a los datos únicos de cada sensor utilizado.


Table of Contents:

[TOC]


1. Hardware Disponible

1.1 Laser Range Scanners

1.1.1 Hokuyo URG-04LX-UG01

  • Vendor: Hokuyo
  • Model: URG-04LX-UG01
  • Long Detection range: 5.6[m]
  • Wide Angle: 240°
  • Disponible Hardware IDs: { H0903381 }
  • For a detailed description click here

1.1.2 Hokuyo URG-04LX

  • Vendor: Hokuyo
  • Model: URG-04LX
  • Long Detection range: 4[m]
  • Wide Angle: 240°
  • Disponible Hardware IDs: { H0804550 }
  • For a detailed description click here

1.1.3 Hokuyo UTM-30LX

  • Vendor: Hokuyo
  • Model: UTM-30LX
  • Long Detection range: 30[m]
  • Wide Angle: 270°
  • Disponible Hardware IDs: { FILL }
  • For a detailed description click here

1.2 Cameras

1.2.1 Logitech Webcam C270

  • Vendor: Logitech
  • Model: Webcam C270
  • Disponible Hardware IDs: {444EC120, 271BA220, 033F2610, BA1BA220}
  • For a detailed description click here

1.2.2 Thermal Camera

  • Vendor: TODO
  • Model: TODO
  • Disponible Hardware IDs: { TODO }

1.3 Depth+RGB Cameras

1.3.1 Microsoft Kinect

  • Vendor: Microsoft
  • Disponible Hardware IDs: {A00363809752042A, A00365808192051A, B00364626688048B }
  • Vendor informartion: Click Here

2. Default bender hardware

A continuación se presentan los sensores utilizados comunmente. Para saber la posición de cada sensor, ver bender_tf.

2.1 Lasers

2.1.1 Laser Front

2.1.2 Laser Rear

2.1.3 Laser Waist

2.2 Cameras

2.2.1 Camera Right Eye

2.2.2 Camera Forehead

2.3 Depth+RGB Cameras

2.3.1 Kinect Head

2.3.2 Kinect Waist


3. ROS API

3.1 Lasers

Todos los lasers usan el package hokuyo_node.

3.2 Cameras

Las cámaras ocupan el nodo camera_server del package bender_sensors.

TODO: Check package camera_umd/uvc_camera

  • Frame ID: /bender/sensors/<name>_link
  • Published Topics: None
  • Services:

3.3 Depth+RGB Cameras

Para los kinects se ocupa el package openni_launch. Para controlar el led y motor del sensor, se utiliza el nodo kinect_aux


4. Installation

4.1 Related Packages

4.2 Udev Rules

port: /dev/sensors/hokuyo_H0903381 port: /dev/sensors/hokuyo_H0804550 port: /dev/video5, /dev/video6, /dev/video7


5. Nodes

5.1 camera_service

Utilitario para la obtención de imágenes desde una cámara.

TODO: Implementación actual sólo permite el uso de hasta 4 cámaras, ya que opencv sólo soporta lectura para puertos /dev/video[0-7] y por el mapeo usado, cada cámara ocupa dos puertos. Ver forma de entregar a opencv el nombre del puerto deseado y no el número de video. Tal vez con cvCaptureFromFile(string filename)

5.1.1 Services

  • ~image_service (bender_srvs/ImageService)
    • Obtiene una imagen desde la cámara

5.1.2 Parameters

  • ~cam_number (int, default:-1)

    • Número de cámara (/dev/video[0-7])
    • -1: La primera encontrada
  • ~cam_width (int, default:640)

    • Ancho de imagen
  • ~cam_height (int, default:480)

    • Altura de la imagen

5.2 camera_service_client

Utilitario para visualizar los datos recopilados por el nodo camera_service.

5.2.1 Parameters

  • ~cam_name (string, default:"default_camera")
    • Utilizado para el título de la ventana y la llamada al servicio.

5.3 laser_merger

Utilitario para la unión de 2 lecturas sensor_msgs/LaserScan realizadas en el mismo plano, por sensores en 0° y 180°, como si fuera el escaneo de sólo un laser virtual posicionado en el centro y con un barrido de 360°.

5.3.1 Published Topics

5.3.2 Subscribed Topics

5.3.3 Services

5.3.4 Parameters

5.4 kinect_aux

5.4.1 Published Topics

5.4.2 Subscribed Topics

5.4.3 Services

5.4.4 Parameters

6. Usage / Utilities

6.1 Cameras

6.1.1 camera_service.launch

Lanza el nodo camera_service con la configuración dada por los siguientes parámetros:

  • cam_name = "default_camera"
  • cam_number = -1 (número de /dev/video[0-9] al que conectarse)
  • cam_height = 480
  • cam_width = 640
  • cam_fov_h = 60.0

6.1.2 camera_display.launch

Lanza el nodo camera_service_client para la cámara de nombre 'cam_name'

6.1.3 Cámaras defaults

Para simplificar el trabajo, se tienen launchfiles para las cámaras default de bender: camera_forehead.launch y camera_right_eye.launch

6.2 Lasers

6.2.1 TODO

6.2.2 TODO

6.3 kinect

6.3.1 kinect.launch

Lanza nodos necesarios para un kinect: tf's, nodelet manager, etc., creando un arbol de transformadas para el kinect espeficidado y los tópicos especificados en la sección correspondiente.

Launch Parameters: { camera, device_id }

Ejemplo:

  • camera: "kinect_waist"
  • device_id: B00367707227042B

Para los kinects 'kinect_waist' y 'kinect_head' se puede utilizar: kinect_waist.launch & kinect_head.launch, respectivamente.

6.3.2 kinect_tf.launch

Lanza los nodos publicadores de tf's para el kinect especificados por el parámetro 'camera'.

Clone this wiki locally