Items with no label
3338 Discussões

ZR300 can't get the IMU data

ychen103
Principiante
3.799 Visualizações

I have a problem,when i install the librealsense and the uvc drivers, I can get the image data,but there are not IMU data. I test the ZR300-live-test, some errors arose .

my platform is the NVIDIA TX2, the librealsense had installed successfully, and ZR300 run correctly in the UP Board , please tell me how can I solve this problem , thanks !

nvidia@tegra-ubuntu:~/catkin_ws/src/librealsense/build/unit-tests$ ./ZR300-live-test

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ZR300-live-test is a Catch v1.2.1 host application.

Run with -? for options

-------------------------------------------------------------------------------

Start-Stop stream sequence

-------------------------------------------------------------------------------

/home/nvidia/librealsense/unit-tests/unit-tests-live.cpp:45

...............................................................................

/home/nvidia/librealsense/unit-tests/unit-tests-common.h:63: FAILED:

REQUIRE( rs_get_error_message(err) == rs_get_error_message(nullptr) )

with expansion:

"UVCIOC_CTRL_QUERY:UVC_GET_CUR error 5, Input/output error"

==

{null string}

-------------------------------------------------------------------------------

no extrinsic transformation between a stream and itself

-------------------------------------------------------------------------------

/home/nvidia/librealsense/unit-tests/unit-tests-live.cpp:84

...............................................................................

/home/nvidia/librealsense/unit-tests/unit-tests-common.h:63: FAILED:

REQUIRE( rs_get_error_message(err) == rs_get_error_message(nullptr) )

with expansion:

"UVCIOC_CTRL_QUERY:UVC_SET_CUR error 5, Input/output error"

==

{null string}

-------------------------------------------------------------------------------

extrinsic transformation between two streams is a rigid transform

-------------------------------------------------------------------------------

/home/nvidia/librealsense/unit-tests/unit-tests-live.cpp:111

...............................................................................

/home/nvidia/librealsense/unit-tests/unit-tests-live.cpp:111: FAILED:

{Unknown expression after the reported line}

due to a fatal error condition:

SIGSEGV - Segmentation violation signal

===============================================================================

test cases: 4 | 1 passed | 3 failed

assertions: 100 | 97 passed | 3 failed

0 Kudos
20 Respostas
MartyG
Colaborador honorário III
2.363 Visualizações

Others have had the same problem with the ZR300 and IMU data on Nvidia Jetson TX2. Unfortunately they did not manage to find a solution on that discussion.

https://github.com/IntelRealSense/librealsense/issues/539 ZR300 on Nvidia Jetson TX2 not reporting IMU data · Issue # 539 · IntelRealSense/librealsense · GitHub

There have also been discussions about how users have had trouble getting correctly calibrated data from the IMU. Your problem is that you cannot receive IMU data at all?

ychen103
Principiante
2.363 Visualizações

Hi MartyG

thanks your replay, I also view the issue, but it can't give some useful infomation about this problem, as you said ,I cannot receive IMU data at all. it's so terrible...

MartyG
Colaborador honorário III
2.363 Visualizações

Have you tried launching the camera in RGBD mode for depth data instead of the default mode?

roslaunch realsense_camera r200_nodelet_rgbd.launch camera_type:=ZR300

ychen103
Principiante
2.363 Visualizações

i try your ways ,but error is arose:

nvidia@tegra-ubuntu:~/catkin_ws$ roslaunch realsense_camera r200_nodelet_rgbd.launch camera_type:=ZR300

... logging to /home/nvidia/.ros/log/c257c376-60c0-11e8-ab69-4b1c95a3f2c3/roslaunch-tegra-ubuntu-4129.log

Checking log directory for disk usage. This may take awhile.

Press Ctrl-C to interrupt

Done checking log file disk usage. Usage is <1GB.

Traceback (most recent call last):

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 306, in main

p.start()

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start

self._start_infrastructure()

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure

self._load_config()

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config

roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default

loader.load(f, config, verbose=verbose)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 748, in load

self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 720, in _load_launch

self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 654, in _recurse_load

default_machine, is_core, verbose)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 684, in _recurse_load

val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call

return f(*args, **kwds)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 588, in _include_tag

inc_filename = self.resolve_args(tag.attributes['file'].value, context)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 183, in resolve_args

return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 370, in resolve_args

resolved = _resolve_args(resolved, context, resolve_anon, commands)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 383, in _resolve_args

resolved = commands[command](resolved, a, args, context)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 151, in _find

source_path_to_packages=source_path_to_packages)

File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/substitution_args.py", line 197, in _find_executable

full_path = _get_executable_path(rp.get_path(args[0]), path)

File "/usr/lib/python2.7/dist-packages/rospkg/rospack.py", line 203, in get_path

raise ResourceNotFound(name, ros_paths=self._ros_paths)

ResourceNotFound: rgbd_launch

ROS path [0]=/opt/ros/kinetic/share/ros

ROS path [1]=/home/nvidia/catkin_ws/src

ROS path [2]=/opt/ros/kinetic/share

I have tried the zr300_nodelet_defalut.launch ,and run rostopic echo /camera/imu_raw ,but nothing be displayed

MartyG
Colaborador honorário III
2.363 Visualizações

Apologies for the slow progress in helping with this case. There is not much reference information to go on regarding cases where the IMU data is not being received at all.

I found an alternative RGBD launch instruction dedicated to the ZR300 that you could try:

$ roslaunch realsense_camera zr300_nodelet_rgdb.launch

ychen103
Principiante
2.363 Visualizações

MartyG,I really appeciate your reply ,I want to know what way IMU data be sent to board,Is the uvc? could it be a uvc driver problem?

ychen103
Principiante
2.363 Visualizações

I have tried the zr300_nodelet_default.launch, and can recieve the image ,but run: rostopic echo /camera/imu_raw,it's nothing displyed

MartyG
Colaborador honorário III
2.363 Visualizações

You could try the ROS instruction to enable the IMU. I think it's supposed to be enabled by default but you could try it anyway.

enable_imu (bool, default: true)

There is also an instruction for getting the IMU information.

get_imu_info

ychen103
Principiante
2.363 Visualizações

Unfortunately, there's still no progress,when i run the zr300_nodelet_dafault.launch ,some infomation as follow:

PARAMETERS

* /camera/driver/base_frame_id: camera_link

* /camera/driver/camera_type: ZR300

* /camera/driver/color_fps: 30

* /camera/driver/color_frame_id: camera_rgb_frame

* /camera/driver/color_optical_frame_id: camera_rgb_optica...

* /camera/driver/depth_frame_id: camera_depth_frame

* /camera/driver/depth_optical_frame_id: camera_depth_opti...

* /camera/driver/fisheye_external_trigger: 1

* /camera/driver/fisheye_fps: 30

* /camera/driver/fisheye_frame_id: camera_fisheye_frame

* /camera/driver/fisheye_optical_frame_id: camera_fisheye_op...

* /camera/driver/fisheye_strobe: 1

* /camera/driver/imu_frame_id: camera_imu_frame

* /camera/driver/imu_optical_frame_id: camera_imu_optica...

* /camera/driver/ir2_frame_id: camera_ir2_frame

* /camera/driver/ir2_optical_frame_id: camera_ir2_optica...

* /camera/driver/ir_frame_id: camera_ir_frame

* /camera/driver/ir_optical_frame_id: camera_ir_optical...

* /camera/driver/mode: manual

* /camera/driver/serial_no:

* /camera/driver/usb_port_id:

* /rosdistro: kinetic

* /rosversion: 1.12.13

NODES

/camera/

driver (nodelet/nodelet)

nodelet_manager (nodelet/nodelet)

auto-starting new master

process[master]: started with pid [5961]

ROS_MASTER_URI= http://localhost:11311

setting /run_id to 29edd6d2-60c7-11e8-993f-41dfc098765c

process[rosout-1]: started with pid [5974]

started core service [/rosout]

process[camera/nodelet_manager-2]: started with pid [5991]

process[camera/driver-3]: started with pid [5992]

[ INFO] [1527326916.424277658]: Initializing nodelet with 4 worker threads.

Intel RealSense F200_camera ; 2.60.0.0

Intel RealSense LR200_camera ; 2.0.71.18

Intel RealSense R200_camera ; 1.0.72.06

Intel RealSense SR300_camera ; 3.10.10.0

Intel RealSense ZR300_adapter ; 1.29.0.0

Intel RealSense ZR300_camera ; 2.0.71.28

Intel RealSense ZR300_motion_module ; 1.25.0.0

Intel RealSense F200_camera ; 2.60.0.0

Intel RealSense LR200_camera ; 2.0.71.18

Intel RealSense R200_camera ; 1.0.72.06

Intel RealSense SR300_camera ; 3.10.10.0

Intel RealSense ZR300_adapter ; 1.29.0.0

Intel RealSense ZR300_camera ; 2.0.71.28

Intel RealSense ZR300_motion_module ; 1.25.0.0

Intel RealSense F200_camera ; 2.60.0.0

Intel RealSense LR200_camera ; 2.0.71.18

Intel RealSense R200_camera ; 1.0.72.06

Intel RealSense SR300_camera ; 3.10.10.0

Intel RealSense ZR300_adapter ; 1.29.0.0

Intel RealSense ZR300_camera ; 2.0.71.28

Intel RealSense ZR300_motion_module ; 1.25.0.0

[ INFO] [1527326916.661693114]: /camera/driver - Detected the following camera:

- Serial No: 3481800987, USB Port ID: 2-1-3-2, Name: Intel RealSense ZR300, Camera FW: 2.0.71.28, Adapter FW: 1.29.0.0, Motion Module FW: 1.25.0.0

[ INFO] [1527326916.662060832]: /camera/driver - Connecting to camera with Serial No: 3481800987, USB Port ID: 2-1-3-2

[ INFO] [1527326917.754607627]: /camera/driver - Setting static camera options

[ INFO] [1527326917.787369680]: /camera/driver - Setting camera option fisheye_strobe = 1

[ INFO] [1527326917.792937795]: /camera/driver - Setting camera option fisheye_external_trigger = 1

[ INFO] [1527326917.793624493]: /camera/driver - Enabling Depth in manual mode

[ INFO] [1527326917.794717565]: /camera/driver - Enabling Color in manual mode

[ INFO] [1527326917.795932783]: /camera/driver - Enabling Fisheye in manual mode

[ INFO] [1527326917.796574521]: /camera/driver - Enabling IMU

[ INFO] [1527326917.796750236]: /camera/driver - Starting camera

[ WARN] [1527326918.225682005]: /camera/driver - Using Hardcoded extrinsic for IMU.

[ INFO] [1527326918.225916664]: /camera/driver - Publishing camera transforms (/tf_static)

[ INFO] [1527326918.226407327]: /camera/driver - Setting dynamic camera options (r200_dc_preset=5)

[ INFO] [1527326920.852418336]: /camera/driver - Initializing Depth Control Preset to 5

[ INFO] [1527326923.627805031]: /camera/driver - Setting dynamic camera options

MartyG
Colaborador honorário III
2.363 Visualizações

The highlighted line, and the one below it (Using Hardcoded extrinsic for IMU) suggests that the IMU is initializing correctly. It's just a matter of where the IMU data is being sent to, I think.

I remembered there have been cases where users have not been able to get data because a black cap was covering the fisheye lens of the ZR300 that needs to be removed. Can you check if you have a black cap over your lens please?

ychen103
Principiante
2.363 Visualizações

I am sure that black hat doesn't block the fisheye lens

MartyG
Colaborador honorário III
2.363 Visualizações

Apparently it does, and people were able to get fisheye data once they had removed it. I think it's just a piece of protective packaging that is supposed to be taken off when you unbox the camera after buying it, like how tv screens come with a layer of protective plastic film over them sometimes.

ychen103
Principiante
2.363 Visualizações

I'm sorry that I can't uderstand you meaning, I saied that black hat does not block the lens. as mentioned as above, how can I get the IMU data?

MartyG
Colaborador honorário III
2.363 Visualizações

I see, my apologies. The next thing I would try is to get IMU data with this instruction

imu/data_raw (sensor_msgs/Imu)

ychen103
Principiante
2.363 Visualizações

I have tried it , run rostopic echo /camera/imu_raw ,but nothing be displayed, I run the instruction:rviz and Add->By topic/camera/imu/data_raw/imu also,but the rviz not display the imu data,if I Add->By topic/camera/color/image_raw or /camera/dfisheye/image_raw,rviz can get the image data

MartyG
Colaborador honorário III
2.363 Visualizações

May I confirm that you are using a full RealSense ZR300 camera please, and not the Intel Euclid (a chocolate bar-sized computer that has a ZR300 inside).

Edit: never mind, it must be a full ZR300 USB camera if you are using it with an Nvidia TX2 board.

ychen103
Principiante
2.363 Visualizações

yes ,i'm using a full realsense zr300 camera,

MartyG
Colaborador honorário III
2.363 Visualizações

And you were able to get the IMU data when using the camera with the Up Board, yes?

ychen103
Principiante
2.363 Visualizações

yes, i can get the IMU data with the Upboard and computer

MartyG
Colaborador honorário III
2.286 Visualizações

At this point it is difficult to suggest something new to try. Like me, I am sure you have been round and round through the same documents many times when web-searching. I really understand how frustrated you must be.

I assume you are using the same software setup on the TX2 as you were on the Up Board (same Ubuntu OS version, same ROS version, etc).

Responder