Difference between revisions of "RoCKIn2014PhaseII"
Carlosrhrh (talk | contribs) (→Ultrasonic Sensors Belt) |
Carlosrhrh (talk | contribs) (→Ultrasonic Sensors Belt) |
||
Line 9: | Line 9: | ||
There are many different kind of ultrasonic sensors and manufacturers, but in this case we have used the Maxbotics [http://www.maxbotix.com] manufacturer . We use these, in order to recycle the ultrasonic sensors of an old watchful robot ( good rattletrap). | There are many different kind of ultrasonic sensors and manufacturers, but in this case we have used the Maxbotics [http://www.maxbotix.com] manufacturer . We use these, in order to recycle the ultrasonic sensors of an old watchful robot ( good rattletrap). | ||
− | This robot use for his navigation system, three different Maxbotics models, the MB1220, MB 1230 of the XL-Maxsonar-EZ series and the LV-Maxsonar-EZ1 model. | + | This robot use for his navigation system, three different Maxbotics models, the MB1220 [http://www.maxbotix.com/Ultrasonic_Sensors/MB1220.htm], MB 1230 of the XL-Maxsonar-EZ series and the LV-Maxsonar-EZ1 model. |
We will use the model MB1220, because it is the most appropriate for people detection and there are a large quantity of them. | We will use the model MB1220, because it is the most appropriate for people detection and there are a large quantity of them. | ||
+ | |||
+ | ==== First tests and validation sensors.==== | ||
+ | |||
+ | Theses sensors have a diode between his outputs PW (anode) and AN (cathode). | ||
+ | |||
+ | After a several test with and without the diode, we come to a conclusion that the sensor only work properly and in the PDF way, using these without diode. | ||
== Software == | == Software == |
Revision as of 19:05, 5 November 2013
Contents
Hardware
Structure modifications
Ultrasonic Sensors Belt
Ultrasonic sensors selecction
There are many different kind of ultrasonic sensors and manufacturers, but in this case we have used the Maxbotics [1] manufacturer . We use these, in order to recycle the ultrasonic sensors of an old watchful robot ( good rattletrap).
This robot use for his navigation system, three different Maxbotics models, the MB1220 [2], MB 1230 of the XL-Maxsonar-EZ series and the LV-Maxsonar-EZ1 model.
We will use the model MB1220, because it is the most appropriate for people detection and there are a large quantity of them.
First tests and validation sensors.
Theses sensors have a diode between his outputs PW (anode) and AN (cathode).
After a several test with and without the diode, we come to a conclusion that the sensor only work properly and in the PDF way, using these without diode.
Software
FAQ/Problems
Xtion camera in a PC
The typical problem with Xtion pro model:
We launch
$ roslaunch openni_launch openni.launch
we get
[ INFO] [1383245066.923739155]: Number devices connected: 1 [ INFO] [1383245066.923896787]: 1. device on bus 002:05 is a PrimeSense Device (601) from PrimeSense (1d27) with serial id '' [ INFO] [1383245066.925020672]: Searching for device with index = 1 [ INFO] [1383245067.026459550]: No matching device found.... waiting for devices. Reason: openni_wrapper::OpenNIDevice::OpenNIDevice(xn::Context&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&) @ /tmp/buildd/ros-fuerte-openni-camera-1.8.6/debian/ros-fuerte-openni-camera/opt/ros/fuerte/stacks/openni_camera/src/openni_device.cpp @ 61 : creating depth generator failed. Reason: USB interface is not supported!
SOLUTION:
We have to modify global parameters of openni:
$ sudo vi /etc/openni/GlobalDefaults.ini
We go to line and uncomment the UsbInterface parameter:
; USB interface to be used. 0 - FW Default, 1 - ISO endpoints, 2 - BULK endpoints. Default: Arm - 2, other platforms - 1 UsbInterface=2
Reason:
Here and here but I think that the real reason is related to USB port management
From my point of view this is the outline (copy paste from USB port management
ENDPOINT -> The most basic form of USB communication is through something called an endpoint. A USB endpoint can carry data in only one direction, either from the host computer to the device (called an OUT endpoint) or from the device to the host computer (called an IN endpoint). Endpoints can be thought of as unidirectional pipes.
1 ISO-> Isochronous endpoints also transfer large amounts of data, but the data is not always guaranteed to make it through. These endpoints are used in devices that can handle loss of data, and rely more on keeping a constant stream of data flowing. Real-time data collections, such as audio and video devices, almost always use these endpoints.
2 BULK-> Bulk endpoints transfer large amounts of data. These endpoints are usually much larger (they can hold more characters at once) than interrupt endpoints. They are common for devices that need to transfer any data that must get through with no data loss. These transfers are not guaranteed by the USB protocol to always make it through in a specific amount of time. If there is not enough room on the bus to send the whole BULK packet, it is split up across multiple transfers to or from the device. These endpoints are common on printers, storage, and network devices.
0 FW [WARNING, I'm not sure]-> USB interfaces are themselves bundled up into configurations. A USB device can have multiple configurations and might switch between them in order to change the state of the device. For example, some devices that allow firmware to be downloaded to them contain multiple configurations to accomplish this. A single configuration can be enabled only at one point in time. Linux does not handle multiple configuration USB devices very well, but, thankfully, they are rare.
If someone find a better answer I will be happy to know it.
Multiple openni cameras
We have two different cameras Xtion PRo and kinect.This problem is related with the previous configuration, tt makes possible to work with Xtion but now we have problems with kinect.
[ INFO] [1383246210.089689756]: Number devices connected: 1 [ INFO] [1383246210.089891318]: 1. device on bus 001:17 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'A00366A15277050A' [ INFO] [1383246210.091390182]: Searching for device with index = 1 [ INFO] [1383246210.193031599]: No matching device found.... waiting for devices. Reason: openni_wrapper::OpenNIDevice::OpenNIDevice(xn::Context&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&) @ /tmp/buildd/ros-fuerte-openni-camera-1.8.6/debian/ros-fuerte-openni-camera/opt/ros/fuerte/stacks/openni_camera/src/openni_device.cpp @ 61 : creating depth generator failed. Reason: USB interface is not supported!
Solution
; USB interface to be used. 0 - FW Default, 1 - ISO endpoints, 2 - BULK endpoints. Default: Arm - 2, other platforms - 1 UsbInterface=0