Items with no label
3335 Discussions

ZR300 can't get the IMU data

ychen103
Beginner
2,301 Views

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 Replies
MartyG
Honored Contributor III
871 Views

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?

0 Kudos
ychen103
Beginner
871 Views

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...

0 Kudos
MartyG
Honored Contributor III
871 Views

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

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
871 Views

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

0 Kudos
ychen103
Beginner
871 Views

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?

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
871 Views

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

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
871 Views

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?

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
871 Views

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.

0 Kudos
ychen103
Beginner
871 Views

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?

0 Kudos
MartyG
Honored Contributor III
871 Views

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

imu/data_raw (sensor_msgs/Imu)

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
871 Views

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.

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
871 Views

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

0 Kudos
ychen103
Beginner
871 Views

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

0 Kudos
MartyG
Honored Contributor III
794 Views

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).

0 Kudos
Reply