Hi Radu, > I was checking inr_ < 1, as that was definitely an error :) I tried this among other things and did not help. D. > Patrick Beeson wrote: >> Dejan, >> >> Now that you have the new libmesa drivers installed, try running >> /usr/bin/libMesaSRTester.  Choose Basic test, then 'scan', and it should >> find your device and let you press '2' to choose it and test it.  If it >> doesn't work due to permissions not being set right, you can try running >> it using 'sudo' >> >> If it doesn't find your camera, then I'd suggest manually downloading >> the Beta libmesa .deb from the web and installing that instead of the >> .deb that gets manually installed by my program.  Running >> libMesaSRTester successfully is a prerequisite to having my driver work, >> and will often flash the firmware to get the device in a state to talk >> to the new API. >> >> Also , the install of the libmesa drivers added a udev rule in >> /etc/udev/rules.d/46-mesa.rules.  Unfortunately, Mesa decided to make >> the device have group usb.  You can edit that file to change it to group >> plugdev (then sudo /etc/init.d/udev restart).  Unplug and plug the usb, >> and it should work without having to fiddle with permissions every time. >> >> If all that works, try again.  If you get the same problems with my >> software, read below........... >> >> It looks like for some reason, the sr4k is ignoring the CONF_MAP flag to >> return confidences.  A quick solution you can try is to simply go into >> the header and change SR_IMAGES to 2.  I was going to make this stuff >> into runtime configuration in the future, but of course when I don't >> have an sr3k to work with it makes large development changes problematic. >> >> Perhaps the first change above along with getting a license file (I >> didn't have to do this with the sr4k, but I'm assuming this might be a >> common practice with the sr3k users) might allow this to work?  Please >> try it and let me know if it still is receiving 4 1x1 images. >> >> If so, it might be worth downloading the older 'swissranger' ros node, >> which uses the old libusb driver Mesa which can be found on their >> download site in the drivers archive.  If that works, then I'll have to >> compare the source code between the two nodes -- they are already VERY >> similar. >> >> >> >> >> >> >> Dejan Pangercic wrote: >>> Hi Patrick, >>> I finally got to test the driver with a SR3K device on a 64bit machine >>> running Ubuntu 9.10. >>> I could not get it pass following structure in dev_sr4k.cpp file: >>> " >>>  if ( (cols_ != SR_COLS) || (rows_ != SR_ROWS) || >>>        (inr_ < SR_IMAGES) || (imgEntryArray_ == 0) ) >>>     { >>>       SafeCleanup(); >>>       SR_EXCEPT_ARGS(sr4k::Exception, >>>                      "Invalid data images: %d %dx%d images received >>> from camera!\n Expected %d %dx%d images.", >>>                      inr_, cols_, rows_, SR_IMAGES, SR_COLS, SR_ROWS); >>>       return (-1); >>>     } >>> " >>> >>> After running the "roslaunch launch/sr4k.launch" command it outputs >>> the following exception: >>> " >>> [ INFO] [1270556935.964286581]: [SwissRanger device::open] Number of >>> images available: 2 >>> [ERROR] [1270556935.964498968]: Exception thrown while connecting to the camera: >>> [SR4K::open]: Invalid data images: 2 176x144 images received from camera! >>>  Expected 3 176x144 image >>> " >>> And after running the command again then this one (funnily this >>> behavior then keeps going on this alternative way): >>> " >>> libMesaSR:libMesaSR:camera config file has no licence Information! >>> >>> libMesaSR:libMesaSR:CMesaDevice::Read:usb_bulk_read failed! >>> Request:0xb0 RequestType:0x40 Requested Size: 64 Received >>> Size(Result): -110 >>> >>> libMesaSR:libMesaSR:CMesaDevice::Read: did not get requested bytes: 64<->0 >>> >>> libMesaSR:libMesaSR:CMesaDevice::Read:usb_bulk_read failed! >>> Request:0xb0 RequestType:0x40 Requested Size: 64 Received >>> Size(Result): -110 >>> >>> libMesaSR:libMesaSR:CMesaDevice::Read: did not get requested bytes: 64<->0 >>> >>> libMesaSR:libMesaSR:CMesaDevice::Read:usb_bulk_read failed! >>> Request:0xb0 RequestType:0x40 Requested Size: 64 Received >>> Size(Result): -110 >>> >>> libMesaSR:libMesaSR:CMesaDevice::Read: did not get requested bytes: 64<->0 >>> >>> [ INFO] [1270556651.295522746]: [SwissRanger device::open] Number of >>> images available: 4 >>> [ERROR] [1270556651.295721863]: Exception thrown while connecting to the camera: >>> [SR4K::open]: Invalid data images: 4 1x1 images received from camera! >>>  Expected 3 176x144 images. >>> " >>> It looks like "SR_GetImageList" function is not doing what it is supposed to... >>> >>> >>> Furthermore I had some problems opening the device node at the >>> beginning since on my machine (default ubuntu setting) all the nodes >>> in /dev/bus/usb/ are owned by root user and root group. The remedy for >>> that was to first find the bus and the device number and second to put >>> the node in the plugdev group:   "sudo chown root:plugdev >>> /dev/bus/usb/bus_nr/device_nr". >>> >>> Lastly, at the first run I got the following warning: >>> " >>> Please download manually the file >>> www.mesa-imaging.ch/customer/calibData/camData00019e13.xml and save it >>> to /usr/share/libmesasr/camData00019e13.xml >>> libMesaSR:libMesaSR:can not parse camera config file >>> '/usr/share/libmesasr/camData00019e13.xml'! >>> " >>> Following the hint got me rid of the warning. >>> >>> Hope this report helps a bit, >>> cheers, D. >>> >>> On Wed, Mar 31, 2010 at 5:57 PM, Patrick Beeson wrote: >>>> I have added a new sr4k package to the camera_drivers_experimental >>>> stack.  This extends the swissranger package in the tum repository to >>>> handle the newer Mesa Imaging libraries, and supports both SR3000 and >>>> SR4000 devices. >>>> >>>> I do not have an SR3K device, so I could only test with an SR4K, but the >>>> API is the same for both (an early calls tells the Mesa libraries which >>>> device you want to talk to and differences are handles at the Mesa >>>> library level). >>>> >>>> I have not yet included a standalone viewer, but users can view the >>>> output in rviz.  The current frame id is the node name (defaults to >>>> /sr4k).  The user can view Image and PointCloud types.  There are 3 2D >>>> images, distance, intensity, and confidence. >>>> >>>> Patrick Beeson >>>> >>>> _______________________________________________ >>>> ros-users mailing list >>>> ros-users@code.ros.org >>>> https://code.ros.org/mailman/listinfo/ros-users >>>> >>> >>> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users > > -- > | Radu Bogdan Rusu | http://rbrusu.com/ > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > -- MSc. Dejan Pangercic PhD Student/Researcher Computer Science IX Technische Universität München Telephone: +49 (89) 289-17780 E-Mail: dejan.pangercic@in.tum.de WWW: http://ias.cs.tum.edu/people/pangercic