ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

bgoldfai's profile - activity

2019-03-15 07:30:51 -0500 received badge  Good Question (source)
2017-04-07 11:51:33 -0500 received badge  Nice Question (source)
2016-12-02 11:27:19 -0500 received badge  Nice Question (source)
2016-09-08 09:50:32 -0500 received badge  Nice Question (source)
2016-08-17 09:38:46 -0500 received badge  Famous Question (source)
2016-04-29 17:43:17 -0500 received badge  Notable Question (source)
2016-04-29 17:43:17 -0500 received badge  Popular Question (source)
2015-12-15 11:04:54 -0500 received badge  Famous Question (source)
2015-12-15 11:04:54 -0500 received badge  Notable Question (source)
2015-12-15 10:50:18 -0500 received badge  Organizer (source)
2015-12-15 10:49:05 -0500 asked a question Hector Gazebo IMU not transforming data

I have a hector_gazebo IMU in my .urdf.xacro robot model. To match the orientation of the IMU on our real robot, I need to roll it by 180 degrees (relative to base_link) so that +z is down, +y is right. I want imu data to be published in the local imu frame (imu_link). With this 180 degree rotation, the data in the imu message does not look to be transformed correctly, and I can't figure out what I'm doing wrong. Am I missing something with how tf works, or am i incorrectly specifying the frameId in the plugin, or is this an error in the plugin?

I instantiate the plugin using the following code:

<plugin name="imu" filename="libhector_gazebo_ros_imu.so">
  <serviceName>/imu/calibrate</serviceName>
  <updateRate>200.0</updateRate>
  <bodyName>imu_link</bodyName>
  <frameId>imu_link</frameId>
  <topicName>imu</topicName>
  <rpyOffset>0 0 0</rpyOffset>
  <xyzOffset>0 0 0</xyzOffset>
  <gaussianNoise>0.00000001</gaussianNoise>
  <accelDrift>0.00000001 0.00000001 0.00000001</accelDrift>
  <accelDriftFrequency>0.00000001 0.00000001 0.00000001</accelDriftFrequency>
  <accelGaussianNoise>0.00000001 0.00000001 0.00000001</accelGaussianNoise>
  <rateDrift>0.0 0.0 0.0</rateDrift>
  <rateDriftFrequency>0.0 0.0 0.0</rateDriftFrequency>
  <rateGaussianNoise>0.0 0.0 0.0</rateGaussianNoise>
  <headingDrift>0.0 0.0 0.0</headingDrift>
  <headingDriftFrequency>0.0 0.0 0.0</headingDriftFrequency>
  <headingGaussianNoise>0.0 0.0 0.0</headingGaussianNoise>
</plugin>

The test I constructed is a simple transform from base_link that rolls 180 degrees. Attached are screenshots showing the two frames (base_link and imu_link) and the imu data when driving in a left circle. In both cases the frame_id of the imu message is imu_link.

z_up-rviz z_up-left_turn

When I roll the 'imu_joint' by 180 degrees, which connects base_link and imu_link, the imu data is not transformed how I expect when performing a left turn. The z angular rate should now be negative and the oscillations in the linear_acceleration look like the data is being transformed into a global frame instead of the local imu frame:

z_down-rviz z_down-left_turn

2015-09-18 18:45:19 -0500 marked best answer camera1394 node and nodelet crash with theora subscriber

I am using camera1394 to connect to a Point Grey Grasshopper Express via a pc express card. Yesterday, I updated Fuerte in Ubuntu 12.04 using apt-get for the first time in month or so. Since the update, whenever I launch a node or nodelet that subscribes to the theora topic published by a camera1394 node or nodelet, the camera1394 instantiation segfaults with the error:

Unable to convert from 'mono8' to bgr8

I can replicate this error message and crash with any these node test cases:

rosrun camera1394 camera1394_node
rosrun camera1394 camera1394_node _video_mode:=640x480_mono8
rosrun camera1394 camera1394_node _video_mode:=format7_mode0

and these nodelet test cases:

rosrun nodelet nodelet standalone camera1394/driver
rosrun nodelet nodelet standalone camera1394/driver _video_mode:=640x480_mono8
rosrun nodelet nodelet standalone camera1394/driver _video_mode:=format7_mode0

Launched along with:

rosrun image_view image_view image:=/camera/image_raw theora

Any camera1394 node or nodelet will segfault. On shut down of the image_view node after a camera1394 crash, this is printed to the terminal:

Inconsistency detected by ld.so: dl-close.c: 759: _dl_close: Assertion 'map->l_init_called' failed!

For any of the camera1394 test cases I can successfully view the images with:

rosrun image_view image_view image:=/camera/image_raw raw
rosrun image_view image_view image:=/camera/image_raw compressed

Below is the output from a couple of my camera1394 node and nodelet tests. To get the final error and segfaults, I launch an image_view node listening to the theora topic in another terminal as above:

$ rosrun camera1394 camera1394_node
[ INFO] [1351606111.221907265]: Found camera with GUID 00b09d0100aa4b0e
[ INFO] [1351606111.222009732]: camera model: Point Grey Research Grasshopper Express GX-FW-10K3M
[ WARN] [1351606111.223339152]: Bayer pattern [ (4)] is invalid.
[ INFO] [1351606111.226170907]: Format7 unit size: (8x2), position: (2x2)
[ INFO] [1351606111.226202934]: Format7 region size: (1024x1024), offset: (0, 0)
[ INFO] [1351606111.235062711]: [00b09d0100aa4b0e] opened: format7_mode0, 15 fps, 400 Mb/s
[ INFO] [1351606111.287319116]: using default calibration URL
[ INFO] [1351606111.287377527]: camera calibration URL: file:///home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml
[ERROR] [1351606111.287454654]: Unable to open camera calibration file     [/home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml]
[ WARN] [1351606111.287488780]: Camera calibration file /home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml not found.
[ WARN] [1351606111.287521040]: Calibrated image size (0x0) matches neither full Format7 size (1024x1024)) nor ROI size (1024x1024)
[ WARN] [1351606111.287547051]: [00b09d0100aa4b0e] calibration does not match video mode (publishing uncalibrated data)
[ERROR] [1351606129.048954894]: Unable to convert from 'mono8' to bgr8
Segmentation fault, stopping camera driver.
[ERROR] [1351606129.049200794]: Segmentation fault, stopping camera.
Segmentation fault (core dumped)

$ rosrun camera1394 camera1394_node _video_mode:=640x480_mono8
[ INFO] [1351607186.602933210]: Found camera with GUID 00b09d0100aa4b0e
[ INFO] [1351607186.603005004]: camera model: Point Grey Research Grasshopper Express GX-FW-10K3M
[ INFO] [1351607186.604831926]: [00b09d0100aa4b0e] opened: 640x480_mono8, 15 fps, 400 Mb/s
[ INFO] [1351607186.694656755]: using default calibration URL
[ INFO] [1351607186.694867465]: camera calibration URL: file:///home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml
[ERROR] [1351607186.695107359]: Unable to open camera calibration file [/home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml]
[ WARN] [1351607186.695243986]: Camera calibration file /home/muri/.ros/camera_info/00b09d0100aa4b0e.yaml not found.
[ WARN] [1351607186.695339885]: [00b09d0100aa4b0e] calibration does not match video mode (publishing uncalibrated data)
[ERROR ...
(more)
2015-02-25 13:22:26 -0500 received badge  Popular Question (source)
2015-02-24 14:34:14 -0500 commented answer How to install dynamic_reconfigure generated header file

Thanks I went through all the parameters in my .cfg file again and found a capitalization error in one. Successfully installs now.

2015-02-24 09:35:41 -0500 asked a question How to install dynamic_reconfigure generated header file

I am trying to add a dynamic_reconfigure server to my node. catkin_make is successful, including the generation of the .h file for my .cfg file, but catkin_make install generates the error:

file INSTALL cannot find "/devel/include/customConfigFile.h"

The customConfigFile.h is generated in my package, but is not ever moved over to devel/. I could not find anything relevant mentioned in the dynamic_reconfigure tutorials. How should I install the generated header file?

I'm running Indigo and Ubuntu 14.04.

2013-03-27 07:42:17 -0500 received badge  Scholar (source)
2013-03-27 07:42:14 -0500 received badge  Supporter (source)
2013-03-11 00:35:37 -0500 received badge  Famous Question (source)
2013-03-05 07:24:09 -0500 received badge  Notable Question (source)
2013-03-05 06:40:28 -0500 commented answer image_transport republish theora core dump on startup

The typo was a formatting error on my part copying to the post. ros-groovy-theora-image-transport is installed and image_transport/theora is listed as a declared transport using rosrun image_transport list_transports

2013-03-04 18:57:14 -0500 received badge  Popular Question (source)
2013-02-27 15:03:55 -0500 edited question image_transport republish theora core dump on startup

I am running Ubuntu 12.04 with Groovy. I am trying to republish a theora stream as decompressed images using:

rosrun image_transport republish theora in:=camera/image raw out:=camera/image_decompressed

The node core dumps on startup with the error:

terminate called after throwing an instance of 'image_transport::TransportLoadException'
  what():  Unable to load plugin for transport 'theora', error string:
Failed to load library /opt/ros/groovy/lib//libtheora_image_transport.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = /opt/ros/groovy/lib//libtheora_image_transport.so: undefined symbol: th_comment_clear)
Aborted (core dumped)

If I run the node republishing compressed or raw streams, the node starts and functions normally.

I see theora as a valid image transport using rosrun image_transport list_transports. I get this same error on 3 different machines all running Groovy, and the error does not happen using Fuerte. Could this be an issue with how image_transport_plugins is compiled?