KumarRobotics / flir_gige

A ros driver for flir ax5 gige thermal camera
28 stars 19 forks source link

Problem with "Running the node" / Error on catkin_make #3

Closed ninametzger closed 8 years ago

ninametzger commented 8 years ago

Hello,

I try to run your driver on ROS and do have some problems (I'm new to Ubuntu and also have no experience with ROS). I use the thermal camera FLIR A65, Ubuntu 14.04 and ROS Jade Turtle.

Cloning your repository to directory ./catkin_ws/src worked. Installing Pleora eBUS SDK worked as well. My problem is, that I don't know, how to source set_puregev_gen in directory ~/catkin_ws/src/flir_gige/install. I also don't know how to find out what IP-Address to type in <ip_address:=xxx.xxx.xxx.xxx> and what you mean with the bit option. What do I have to do, to source that file, find the IP-Address and to continue running the node?

At this point (I have finished the README except for Running the node) I get an Error, if I do the catkin_make command in directory ./catkin_ws to build flir_gige. What does that mean? Do I have to do that build? And how can I solve that problem?

I would really appreciate if you'd help me. Many thanks in advance!

versatran01 commented 8 years ago
  1. set_puregev_gen This file usually comes with the installation of eBus SDK, it is required for the SDK to set some environment variable to find files related to GenICam interface. Thus you source it by doing source set_puregev_gen in your current terminal and it will set those environment variables for this session.
  2. IP The ip_address is the ip of the gige camera, in my case it is 192.168.1.11, thus I need to configure the corresponding eth interface to be on the same network. The ip address of a new camera is usually set to default, you can try the one that I had first. If it doesn't work, you can use there windows software to find it out.
  3. bit This option is renamed to raw, I forgot to update the readme. Setting raw to true will return 14-bit data and otherwise 8-bit.
ninametzger commented 8 years ago

Thank you, that helped me very much.

But if I type the IP-Address $ roslaunch flir_gige node.launch <ip_address:=192.168.44.137> now, I get this error bash: Syntaxfehler beim unerwarteten Wort »newline« what means something like "Syntax-error at unexpected word »newline«". How do I solve this error?

And do I have to do the catkin_make command? If I execute the command in ./catkin_ws, I get that error:

-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 1 packages in topological order:
-- ~~  - flir_gige
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'flir_gige'
-- ==> add_subdirectory(flir_gige)
CMake Error at flir_gige/cmake/FindEbus.cmake:58 (message):
  Failed to find ebus - Could not find ebus include directory, set
  Ebus_INCLUDE_DIR to path to ebus include directory,e.g.
  /opt/pleora/ebus_sdk/Ubuntu-12.04-x86_64/include.
Call Stack (most recent call first):
  flir_gige/cmake/FindEbus.cmake:87 (Ebus_REPORT_NOT_FOUND)
  flir_gige/CMakeLists.txt:11 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/nina/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/nina/catkin_ws/build/CMakeFiles/CMakeError.log".
make: *** [cmake_check_build_system] Fehler 1
Invoking "make cmake_check_build_system" failed

Thank you, I really appreciate your help!

versatran01 commented 8 years ago

The syntax you used for the launch file is wrong. It should be

roslaunch flir_gige node.launch ip_address:=192.168.44.137

I added the <> to indicate that it's an optional argument.

The error you are getting indicates that the flir_gige could not find eBus SDK. Did you install it correctly? Is there a pleora folder under /opt?

ninametzger commented 8 years ago

Ok, thank you.

Yes, I've installed the sBus SDK. There is a pleora folder in /opt..

versatran01 commented 8 years ago

So does it work?

ninametzger commented 8 years ago

I've reinstalled Ubuntu, ROS and the eBus SDK on my virtual machine and still got the error. After changing the default-Version it finally found the eBus directory..

Now I do have that error:

-- ebus include dir found: /opt/pleora/ebus_sdk/Ubuntu-14.04-x86_64/include
CMake Error at /opt/ros/jade/share/catkin/cmake/catkinConfig.cmake:75 (find_package):
  Could not find a package configuration file provided by "camera_base" with
  any of the following names:

    camera_baseConfig.cmake
    camera_base-config.cmake

  Add the installation prefix of "camera_base" to CMAKE_PREFIX_PATH or set
  "camera_base_DIR" to a directory containing one of the above files.  If
  "camera_base" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  flir_gige/CMakeLists.txt:16 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/nina/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/nina/catkin_ws/build/CMakeFiles/CMakeError.log".
Makefile:292: recipe for target 'cmake_check_build_system' failed
make: *** [cmake_check_build_system] Error 1
Invoking "make cmake_check_build_system" failed

It seems like there is no .cmake file for camera_base or something..

versatran01 commented 8 years ago

You need another package which is at github.com/KumarRobotics/camera_base

ninametzger commented 8 years ago

Okay. This works so far, thank you!

If I do the roslaunch command, there now appears the next error...

$ roslaunch flir_gige node.launch ip_address:=192.168.178.21
[node.launch] is neither a launch file in package [flir_gige] nor is [flir_gige] a launch file name
The traceback for the exception was written to the log file

But if I go into ~/catkin_ws/src/flir_gige there is a launch file..

~/catkin_ws/src/flir_gige/launch$ ls
node.launch  nodelet.launch  thermal_proc.launch

Is there something missing? Do I need to adapt a path or something?

versatran01 commented 8 years ago

This is now going into the realm of debugging ros. You need to source the setup.bash for this catkin workspace. http://wiki.ros.org/catkin/Tutorials/create_a_workspace

ninametzger commented 8 years ago

It works! Thank you very much for your help.

nicaima commented 7 years ago

Hello, When I install the eBUS SDK in Ubuntu14.04 64bit LTS,the ebUniversalProForEthernet-x86_64.ko cannot be build seccesful,the error is :/opt/pleora/ebus_sdk/Ubuntu-14.04-x86_64/module/ebUniversalProForEthernet/OS_KMLNetwork.c:96:2: error: too many arguments to function ‘sock_sendmsg’ lReturn = sock_sendmsg( lSocket, &lMessage, lTotalSize ); ^ Thank a lot! error1

viniciusvidal2 commented 6 years ago

Hello everyone,

Correct installation here, package compiles with catkin_make command under workspace, ebus installation placed under /opt/pleora, so everything should be fine, and using a FLIR AX5 Series camera.

Problem is, ubuntu 16.04 can not find any ip or recognize any camera in the ethernet port, while it is working on windows in the same computer. Error report:

[ERROR] [1510154832.042355062]: /thermal: 192.168.1.11 not found. Available IP Address(es):

As you can see, no available IPs, even if I manually set an IP for the ethernet connection port, no IPs are listed. Tried a bunch of tricks in here, but none seem to work.

Any ideas would be appreciated.

versatran01 commented 6 years ago

What is the ip address of your camera? It has to be in the subnet of your host computer. For example, if your computer's eth1 ip is 192.168.1.1, then you should set the camera's ip to 192.168.1.x

viniciusvidal2 commented 6 years ago

The camera has no ip address related to it, and it is connected to HWaddr 48:4d:7e:fc:32:96 as I can see from Windows "FLIR GEV DEMO 1.9" interface and ifconfig in Ubuntu. Windows attributes the IP 168.254.128.172, but none in Ubuntu.

The computer is connected to the internet through wifi using wlp3s0 on IP 192.168.0.193 though.

Output for ifconfig in Ubuntu:

enp4s0 Link encap:Ethernet HWaddr 48:4d:7e:fc:32:96
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:30 errors:0 dropped:0 overruns:0 frame:0 TX packets:2116 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:8626 (8.6 KB) TX bytes:334368 (334.3 KB) Interrupt:19

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:11804 errors:0 dropped:0 overruns:0 frame:0 TX packets:11804 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1637995 (1.6 MB) TX bytes:1637995 (1.6 MB)

wlp3s0 Link encap:Ethernet HWaddr d4:6a:6a:f9:aa:f9
inet addr:192.168.0.193 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::ccfc:1243:3779:2701/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:48054 errors:0 dropped:0 overruns:0 frame:0 TX packets:19859 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:20453137 (20.4 MB) TX bytes:3579433 (3.5 MB)

versatran01 commented 6 years ago

What do you mean by the camera has no ip address? Is it not a GigE camera?

viniciusvidal2 commented 6 years ago

After trying it in a different computer, turns out it might be a bug in Ubuntu 16.04. The camera was promptly detected on my laptop running Ubuntu 14.04 and all the process went fine.

My solution on Ubuntu 16.04 was, after that, to force an static IP and all the regarding address to the ethernet port, and then the node could recognize there was a device there.

I added this piece of text to the file to /etc/network/interfaces, in terminal:

sudo nano /etc/network/interfaces

Paste the following in the end of file:

auto enp4s0 iface enp4s0 inet static address 169.254.4.60 netmask 255.255.0.0 gateway 169.254.255.255 dns-nameservers 8.8.4.4 8.8.8.8

Where enp4s0 may vary in another computer. After that, restart connections with:

sudo /etc/init.d/networking restart

Then an IP should be given to the camera, at least as a tip when running:

_roslaunch flirgige node.launch

Thank you versatran01 for your attention and support