Horus cannot connect: Wrong Camera ID -Ubuntu Linux

1,204 views
Skip to first unread message

warp.fac...@gmail.com

unread,
Sep 24, 2016, 4:53:14 AM9/24/16
to CowTech Ciclop 3D Scanner
24-9-2016
I have a Cowtech Scanner.
Logitech C270 standard webcam as supplied with COWTECH scanner
Running latest Horus software,
Correct HORUS firmware is loaded into the Arduino UNO
Ubuntu 16.04LTS.
When attempting to launch HORUS, I always get the 'wrong camera ID' error.
Also tried on other Linux computers.

Hardware works in WinXP but scans are terrible. But this is another issue. I really want it to work from my Ubuntu laptop.
Just out of interest, a low resolution generic old webcamera (320x240 resolution) did connect! I didn't bother going through the whole set-up procedure though as this camera is rubbish.

Note that the Cowtech hardware does actually work. For example I can grab a frame from the webcam using both fswebcam and Cheese applications.
The system video devices are /dev/video0 and /dev/video1. Both cameras are functional but neither work in HORUS.

The Arduino UNO board functions correctly. I can use a terminal program (CUTECOM) to manually send the G-Codes to operate the stepper motors and lasers.
I have written a short python script which can successfully turn on the lasers, capture a frame and advance the turntable so there is no reason for this stuff not to work.

So the hardware is definitely all working....it seems there is a problem with HORUS.

1) How can I make HORUS accept my camera?
2) Does anyone know roughly where in the source code this bug is likely to be so I might take a look and try to fix it? - I couldn't see it but I admit to being a bit miffed at the time so might not have spotted it.

Before I start redesigning the whole thing properly, has anyone got a solution to the Wrong Camera ID business?

Chris

Jason Smith

unread,
Sep 26, 2016, 2:08:57 AM9/26/16
to warp.fac...@gmail.com, CowTech Ciclop 3D Scanner
Chris, 

Your level of expertise with the software side greatly exceeds ours. I assume you have read through the CT scan guide and the troubleshooting section? The camera not recognizing horus is one of the most common issues. If you have already explored all of those leads I recommend that you post on the BQ Ciclop forum: https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/ciclop-3d-scanner

I would say it is defintely an issue with Horus, and it is BQ's program. If you were able to redesign the whole thing properly, it would be much appreciated :)  Horus is incredibly buggy and has serious connection problems that can make it a nightmare to get going on some systems and there doesn't seem to be a whole lot of rhyme or reason to what systems connect up easily and what don't. 

Jason

--
You received this message because you are subscribed to the Google Groups "CowTech Ciclop 3D Scanner" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cowtech-ciclop-3d-scanner+unsub...@googlegroups.com.
To post to this group, send email to cowtech-ciclop-3d-scanner@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cowtech-ciclop-3d-scanner/b2944897-38e1-450d-bcb4-c16499c8726f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
----------------------------------------------
Founder, CowTech Engineering

Jean-Francois F.

unread,
Sep 27, 2016, 5:04:08 AM9/27/16
to CowTech Ciclop 3D Scanner, warp.fac...@gmail.com
From what you said, you could exploit the camera using python. But did you use the same libraries as Horus does? Horus is depending on some libs to work, and I think the problems come from these last.

warp.fac...@gmail.com

unread,
Sep 29, 2016, 8:57:34 AM9/29/16
to CowTech Ciclop 3D Scanner, warp.fac...@gmail.com


On Tuesday, 27 September 2016 10:04:08 UTC+1, Jean-Francois F. wrote:
From what you said, you could exploit the camera using python. But did you use the same libraries as Horus does? Horus is depending on some libs to work, and I think the problems come from these last.


Yes, that is the whole point. My Python program doesn't use the same libraries as Horus. And it is quite likely that my approach is completely different too.

So yes, I think there are still some bugs in HORUS.

For what it's worth, I have been able to get everything working in Linux Mint (17, 64-bit). The most difficult bit is persuading the hardware to connect. The usual USB-plug-pull-and-shuffle usually (eventually) allows a connection. You sometimes have to tinker with the HORUS preferences by switching between video devices and baud rates too. But it did eventually work. Once working you can then normally continue with a functional scanner. However this trick wouldn't work on my Ubuntu Mate 16.04LTS machine!

The other problems getting past the calibration stages were solved by deliberately resetting absolutely everything to the default values. Then ensure the pattern is set to 6,11 squares. My platform offset was 39mm and I used 12.7mm for the pattern size. Do NOT mess wit the camera extrinsics calibration. I think this caused me more problems. I used a table out of direct light...looks like it is best to avoid light that can cast a shadow.

I also reassembled the lasers to get the best possible vertical lines along with opening up the camera and setting the focus ring correctly for the centre-line of the turntable. Ensuring the turntable gear is well fixed to the stepper motor helps calibration, as does ensuring it doesn't wobble back and forth. Use a set-square to hold the calibration pattern vertical. Basically attend to even the smallest details. Lastly I even used a slightly better quality power supply just in case it was causing electrical interference to the USB data (but it probably was perfectly OK).

Another point which might have helped...
I pasted a piece of blank white paper to the rear of the calibration target. This helps prevent light from shining through the target the wrong way and allowing the squares to be detected from the back side so to speak. I know that at least on one occasion the pattern was picked up from the back of the target.

I  may still rewrite the software but I think the original developers would be best placed to do so as it is really close to being a fantastic application. I guess there are only one pr two lines which are messing up the camera and hardware detection. If someone can suggest where I should start looking I'll give it a go but I can't guarantee I'll have enough time.

So far my scanner works (acceptably) on WinXP and functionally OK apart from slow connection on Linux Mint. So at the moment it is 'good enough' for me.

Chris

Jean-Francois F.

unread,
Sep 30, 2016, 3:42:46 AM9/30/16
to CowTech Ciclop 3D Scanner, warp.fac...@gmail.com
I don't think it is necessary to rewrite anything. HORUS is opensource and I had a look into the code. It is quite clear and simple to understand (thanks Jesus), and well documented. I'm not an expert in python but I had no troubles exploring the code with technical doc support. I really expect to contribute, but I do not have actually the time because of 3 lovely kids, and a troublesome situation. But I think I'll have a deep look in a couple of months.

Jason Smith

unread,
Oct 2, 2016, 7:36:14 PM10/2/16
to Jean-Francois F., CowTech Ciclop 3D Scanner, Chris Leaver
If someone who was capable could fix the constant issue of Horus refusing to recognize the camera and Arduino that would be immensely helpful. I am sure BQ is aware of this issue though, and if it was easily fixable I imagine they would have solved it already. 

--
You received this message because you are subscribed to the Google Groups "CowTech Ciclop 3D Scanner" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cowtech-ciclop-3d-scanner+unsub...@googlegroups.com.
To post to this group, send email to cowtech-ciclop-3d-scanner@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

fde...@gmail.com

unread,
Oct 11, 2016, 7:03:38 PM10/11/16
to CowTech Ciclop 3D Scanner, xbra...@gmail.com, warp.fac...@gmail.com, ja...@cowtechengineering.com
Le lundi 3 octobre 2016 01:36:14 UTC+2, Jason Smith a écrit :
If someone who was capable could fix the constant issue of Horus refusing to recognize the camera and Arduino that would be immensely helpful. I am sure BQ is aware of this issue though, and if it was easily fixable I imagine they would have solved it already. 

On Fri, Sep 30, 2016 at 1:42 AM, Jean-Francois F. <xbra...@gmail.com> wrote:
I don't think it is necessary to rewrite anything. HORUS is opensource and I had a look into the code. It is quite clear and simple to understand (thanks Jesus), and well documented. I'm not an expert in python but I had no troubles exploring the code with technical doc support. I really expect to contribute, but I do not have actually the time because of 3 lovely kids, and a troublesome situation. But I think I'll have a deep look in a couple of months.

Hi,
I'm quite good at Python but horrible at math, I tried to make it work on Linux... here is my status:

- Failed making Horus work as is should (I had some very very slow version working at some time btw, like 30 min to make a scan)
  - It has issues with API (I made it compatible with unmodified opencv)
  - It has issues with timings (or is it just me) so sometimes it was scanning the two lasers at once
  - The code is quite well organised, but does a messy work with synchronous/asynchronous which leads to unresponsive UI and slow capture frame rate

- Tried to hack some python code
  - Ended with something that scanned quite well
  - Wanted to integrate calibration as a single step operation
  - Now blocked on some maths, it sounds like I "almost" can calibrate the scanner but the point cloud has some issue

Now it's an application not very useable by non developers but I can provide instructions & sample set if someone consider helping me.
My only goal is to make Ciclop working on Linux without the current OpenCV hassle, Horus or not...

currently the code is not super clean, sorry for that, I've been hacking it a lot trying to get good results, black box development is not by cup of tea ;)

So if someone has any knowledge about laser calibration & math behind, I would be happy to get some help on this and then make it proper for anybody to use (even a simple web UI if needed).

It's really "DIY", so let's make it work on the most well known home-made operating system ;)

fde...@gmail.com

unread,
Oct 11, 2016, 7:06:57 PM10/11/16
to CowTech Ciclop 3D Scanner, xbra...@gmail.com, warp.fac...@gmail.com, ja...@cowtechengineering.com, fde...@gmail.com
I forgot the link in case someone is super motivated ;)



(even if whole calibration should be reviewed, I really did some blind copy & paste since I don't have the background for those math...)

One trick I tried is to replace OpenCV capture with v4l2capture as I used, but it's hanging out on init of the camera... Horus catches exceptions and it's quite difficult to debug so I gave up.

One advantage of this calibration code is that it's much faster, it does all the three mandatory steps in one go.
Reply all
Reply to author
Forward
0 new messages