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

georgebrindeiro's profile - activity

2023-01-12 15:40:07 -0500 marked best answer Where is the source code of the default rviz plugins?

I am trying to find some code examples for rviz plugins to be able to port an old plugin that broke after some changes in Groovy. I was able to find the headers in my Hydro installation at /opt/ros/hydro/include/rviz/default_plugin, but no idea where the sources are. Can anyone help me?

2020-04-07 10:36:12 -0500 received badge  Nice Question (source)
2019-09-19 16:18:21 -0500 received badge  Nice Answer (source)
2019-09-19 16:18:14 -0500 marked best answer camera_calibration: checkerboard target not found

Hello everyone!

I am having a really hard time calibrating my Videre Design stereo cameras within ROS. My driver node is publishing the appropriate CameraInfo and Image messages, but the calibration tool is never able to find the checkerboard pattern.

I have tried better illumination and even printed targets of different sizes. What could I be doing wrong? Is there any chance my driver node is not behaving as expected?

I tried to use the videre_stereo_cam package initially, but I was never able to get it to work. So I simply wrote a wrapper node for the SVS (Small Vision System, by SRI International) libraries we used prior to ROS and, as far my judgement goes, it is working perfectly fine.

Thanks for your attention!

EDIT: Turns out the problem was with the definition of the size parameter of camera_calibrator. OpenCV expects the number of inner corners, not the number of squares. That was quite misleading and I was only able to figure that out after reading this.

I suggest the documentation and/or tutorials are more explicit about that. OpenCV documentation is quite clear about how cvFindChessboardCorners works), but the user of camera_calibration won't know that function is used until they open the source code.

2019-07-05 12:18:38 -0500 received badge  Nice Answer (source)
2018-04-10 12:01:04 -0500 marked best answer How are signals handled by roslaunch?

I have built a ROS node with signal handling because some files needed to be closed whenever the program was interrupted. Signal handling works fine when I run the node, but if I use roslaunch the node seems not to receive the appropriate signal.

How does the roslaunch server deal with Unix signals? My opinion is that it should be able to "forward" them to all processes running under the server, but that might just be a feature request.

2017-03-12 18:14:04 -0500 commented answer How to extract data from *.bag?

I used it and it was sweet

2016-09-08 06:42:46 -0500 received badge  Necromancer (source)
2016-08-14 07:00:26 -0500 received badge  Nice Answer (source)
2015-11-19 19:55:34 -0500 marked best answer Relative tf between two cameras looking at the same AR marker

Hi everyone!

I was thinking about using tf lookup to obtain the relative transform between two cameras looking at the same AR marker (as seen in ar_pose). Looking at tf/FAQ, though, I stumbled upon this comment:

The frames are published incorrectly. tf expects the frames to form a tree. This means that each frame can only have one parent. If you publish for example both the transforms: from "A (parent) to B (child)" and from "C (parent) to B (child)". This means that B has two parents: A and C. tf cannot deal with this.

Is there a standard alternative to obtain the transform between A and C?

EDIT: What I am looking for is a way to daisy chain transforms between Kinects in order to place multiple clouds in a single reference frame. See the "tf graph" below, for instance:

tf graph

Nodes represent frames and arrows represent transforms. Suppose I want all my point clouds in marker M3's frame (visible only to camera C2). I would have to figure out the transform from C1 and C3 to C2, taking advantage of the common markers visible to them (i.e. M2 and M4).

What I got from tf/FAQ is that I cannot look up these transforms natively, so I wanted to know if there is a standard way to do it. Otherwise, I will just have to request the relevant transforms (e.g. C2->M4 and C3->M4), invert them as appropriate (e.g. M4->C2) and compose them into a single transform through multiplication (e.g. C3->M4->C2).

2015-11-02 01:50:16 -0500 marked best answer re_comm build error in roboearth installation (ROS Fuerte + Ubuntu 12.04)

Hi everyone,

I am trying to install RoboEarth within ROS Fuerte in Ubuntu 12.04. I looked over all answers concerning roboearth installation errors but found nothing like this. My installation fails when building the last package, namely re_comm. Can anyone help me? This is the relevant output:

[rosmake-0] Finished <<< re_ontology [PASS] [ 350.35 seconds ]                  
[rosmake-0] Starting >>> re_comm [ make ]                                       
[ rosmake ] Last 40 lines_comm: 403.8 sec ]        [ 1 Active 102/103 Complete ]
{-------------------------------------------------------------------------------
                    CommunicationVisApplet.visualizeCommunication("", "Export of model for Cop ID "+req.object_id+" failed.", null, null);
                    ^
  /home/asimo/ros/stacks/roboearth/re_comm/src/roboearth/wp1/UnizarRoboEarthInterface.java:437: cannot find symbol
  symbol  : variable CommunicationVisApplet
  location: class roboearth.wp1.UnizarRoboEarthInterface.RetrieveCopModelCallback
                    CommunicationVisApplet.visualizeCommunication("Requesting model for object '"+req.object_name+"' from RoboEarth...", "", null, "roboearth.png");
                    ^
  /home/asimo/ros/stacks/roboearth/re_comm/src/roboearth/wp1/UnizarRoboEarthInterface.java:460: cannot find symbol
  symbol  : variable CommunicationVisApplet
  location: class roboearth.wp1.UnizarRoboEarthInterface.RetrieveCopModelCallback
                        CommunicationVisApplet.visualizeCommunication("", "Object model download finished.\n\n"+targetFolderFile.getName(), null, null);
                        ^
  /home/asimo/ros/stacks/roboearth/re_comm/src/roboearth/wp1/UnizarRoboEarthInterface.java:513: cannot find symbol
  symbol  : variable CommunicationVisApplet
  location: class roboearth.wp1.UnizarRoboEarthInterface.RetrieveCopModelCallback
                            CommunicationVisApplet.visualizeCommunication("Sending model for object '"+req.object_name+"' to the vision system...\n\n"+xmlFileName, "", null, "cop.png");
                            ^
  /home/asimo/ros/stacks/roboearth/re_comm/src/roboearth/wp1/UnizarRoboEarthInterface.java:523: cannot find symbol
  symbol  : variable CommunicationVisApplet
  location: class roboearth.wp1.UnizarRoboEarthInterface.RetrieveCopModelCallback
                            CommunicationVisApplet.visualizeCommunication("", "Object model "+xmlFileName+" received.", null, null);
                            ^
  /home/asimo/ros/stacks/roboearth/re_comm/src/roboearth/wp1/UnizarRoboEarthInterface.java:536: cannot find symbol
  symbol  : variable CommunicationVisApplet
  location: class roboearth.wp1.UnizarRoboEarthInterface.RetrieveCopModelCallback
                        CommunicationVisApplet.visualizeCommunication("", "No model for "+req.object_name+" found.", null, null);
                        ^
  /home/asimo/ros/stacks/roboearth/re_comm/src/roboearth/wp1/UnizarRoboEarthInterface.java:548: cannot find symbol
  symbol  : variable CommunicationVisApplet
  location: class roboearth.wp1.UnizarRoboEarthInterface.RetrieveCopModelCallback
                CommunicationVisApplet.visualizeCommunication("", "No model for "+req.object_name+" found.", null, null);
                ^
  42 errors
  make[3]: *** [../bin/roboearth/wp5/CopRoboEarthInterface.class] Error 1
  make[3]: Leaving directory `/home/asimo/ros/stacks/roboearth/re_comm/build'
  make[2]: *** [CMakeFiles/_java_compile_1_68.dir/all] Error 2
  make[2]: Leaving directory `/home/asimo/ros/stacks/roboearth/re_comm/build'
  make[1]: *** [all] Error 2
  make[1]: Leaving directory `/home/asimo/ros/stacks/roboearth/re_comm/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package re_comm written to:
[ rosmake ]    /home/asimo/.ros/rosmake/rosmake_output-20130108-200745/re_comm/build_output.log
[rosmake-0] Finished <<< re_comm [FAIL] [ 403.89 seconds ]                      
[ rosmake ] Halting due to failure in package re_comm. 
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:                                                            
[ rosmake ] Built 103 packages with 1 failures.                                 
[ rosmake ] Summary output to directory                                         
[ rosmake ] /home/asimo/.ros/rosmake/rosmake_output-20130108-200745

Thanks in advance!

2015-08-31 21:16:20 -0500 received badge  Guru (source)
2015-08-31 21:10:33 -0500 received badge  Famous Question (source)
2015-04-23 07:11:44 -0500 received badge  Famous Question (source)
2015-03-11 02:05:23 -0500 received badge  Guru (source)
2015-03-11 02:05:23 -0500 received badge  Great Answer (source)
2015-02-04 07:42:34 -0500 marked best answer Issues installing openni packages in ROS Groovy/Hydro

Hi everyone,

As per the last update of ROS Hydro, I have compatibility issues with OpenNI packages. It seems to me that not all packages released in the standard distribution are using OpenNI as a system dependency, so I keep getting conflicts in apt-get.

I just uninstalled ROS Hydro and Groovy, as well as OpenNI. When reinstalling ROS Hydro, I see the package "openni-dev" is being installed along with everything else. When I try to install "ros-hydro-openni-*", however, I get the following error:

georgebrindeiro@r2d2:~$ sudo apt-get install ros-hydro-openni-*
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'ros-hydro-openni-launch' for regex 'ros-hydro-openni-*'
Note, selecting 'ros-hydro-openni-camera' for regex 'ros-hydro-openni-*'
Note, selecting 'ros-hydro-openni-tracker' for regex 'ros-hydro-openni-*'
Note, selecting 'ros-hydro-openni2-camera' for regex 'ros-hydro-openni-*'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ros-hydro-openni-camera : Depends: libopenni0 but it is not going to be installed
                           Depends: libopenni-dev but it is not going to be installed
                           Depends: libopenni-sensor-primesense-dev but it is not going to be installed
 ros-hydro-openni-tracker : Depends: libopenni0 but it is not going to be installed
                            Depends: libopenni-dev but it is not going to be installed
                            Depends: libopenni-nite-dev but it is not going to be installed
                            Depends: libopenni-sensor-primesense-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

libopenni* and openni-dev seem to be mutually exclusive. If I try to remove openni-dev, however, apt-get requires me to remove PCL and loads of packages. I am assuming the problem is with the openni packages... How do we solve this?

EDIT: This is also happening with ROS Groovy

2014-11-04 05:47:47 -0500 marked best answer Capturing Kinect Audio

Is it possible to access the audio stream from Kinect's microphone array within ROS? I found a brief reference in the deprecated kinect stack but nothing else. A quick Google search indicates that functionality is not available in the OpenNI API at the moment, although the drivers are there.

Does anyone have any pointers that could help me with that?

2014-08-01 21:13:10 -0500 received badge  Nice Question (source)
2014-07-14 02:31:24 -0500 received badge  Famous Question (source)
2014-07-07 16:01:34 -0500 received badge  Famous Question (source)
2014-06-30 15:10:53 -0500 received badge  Famous Question (source)
2014-06-24 13:12:34 -0500 received badge  Notable Question (source)
2014-06-04 14:33:08 -0500 received badge  Notable Question (source)
2014-05-29 16:32:51 -0500 commented answer ROS Hydro and Boost 1.48

Seems like a hell of compiling everything in the universe from source is ahead of me :) and all of that just because I need the latest pcl and it needs newer boost libs than 1.46... I wish I could just fix these package dependencies manually. Thanks for the help!

2014-05-29 13:02:18 -0500 commented answer ROS Hydro and Boost 1.48

BTW, rosdep also fails to install libogre-dev because it relies on the defaults for libboost-date-time-dev and libboost-thread-dev as well

2014-05-29 13:01:47 -0500 commented answer ROS Hydro and Boost 1.48

I tried a source install of ROS Desktop after removing everything ROS-related and installing libboost1.48-all-dev. The problem is that even doing a source install leads to this issue, since rosdep considers libboost-all-dev as a dependency. Would you have any suggestions on what to try next?

2014-05-29 10:31:54 -0500 answered a question rviz error: "Discarding message from [/move_base] due to empty frame_id"

Apparently eband_local_planner is having trouble finding a plan, but is still publishing messages to /move_base. The problem is that these messages have an empty frame_id, as the warning states, so rviz can't make any sense of it. I have never used that planner, so I can't help you solve your problem, but that's all rviz is saying as far as I am aware.

2014-05-29 10:29:17 -0500 edited question rviz error: "Discarding message from [/move_base] due to empty frame_id"

Yesterday, I could navigate my turtlebot with eband_local_planner. but today, I can't move it. So, rviz says following warning.

[ WARN] [1401378967.283247030]: MessageFilter [target=map ]: Discarding message from [/move_base] due to empty frame_id.  This message will only print once.
[ WARN] [1401378967.283417501]: Invalid argument passed to canTransform argument source_frame in tf2 frame_ids cannot be empty
[ WARN] [1401378998.796621804]: Invalid argument passed to canTransform argument source_frame in tf2 frame_ids cannot be empty
[ WARN] [1401379032.819038628]: Invalid argument passed to canTransform argument source_frame in tf2 frame_ids cannot be empty

Does anyone have any idea to solve these warning?

After that, Eband_local_planner says that it can't make path as following

[ INFO] [1401378966.134403366]: Global plan set to elastic band for optimization
[ERROR] [1401378967.110080798]: NO PATH!
[ERROR] [1401378967.110401250]: Failed to get a plan from potential when a legal potential was found. This shouldn't happen.
[ERROR] [1401378998.546064278]: NO PATH!
[ERROR] [1401378998.614580138]: Failed to get a plan from potential when a legal potential was found. This shouldn't happen.
[ WARN] [1401378998.734102440]: Clearing costmap to unstuck robot.
2014-05-29 10:03:38 -0500 commented answer ROS Hydro and Boost 1.48

Doesn't the OSRF compile all packages in their build farm, though? Since Boost 1.48 is available in the repositories for Precise Pangolin, I don't see why they'd do that. Thanks for the tip though, I'll try compiling from source!

2014-05-29 10:00:58 -0500 received badge  Popular Question (source)
2014-05-27 16:14:44 -0500 asked a question ROS Hydro and Boost 1.48

According to REP 3, ROS Hydro was meant to support Boost 1.48. Everytime I try to install the libboost-1.48-dev package, however, the package manager tells me it will remove all the ros-hydro packages.

Why does that happen and how can I use both simultaneously, if at all possible? I need to upgrade in order to compile the PCL latest trunk from source. Thanks!

2014-05-22 11:27:46 -0500 commented answer What does sensor_msgs::PointCloud2 mean?

@Athoesen yeah, no problem. if you're having problems with that, though, you should probably start a new thread.

2014-05-22 11:26:31 -0500 commented answer What is the proper way to obtain the fixed-axis covariance matrix from quaternions?

thanks, Chad. your answer was actually the second link in my post. I just wanted to make sure that this method corresponds with all the ROS conventions. as far as I'm concerned, this is the kind of info that should be part of the standards. I would go as far as including conversion functions :)

2014-05-04 13:12:45 -0500 edited question What is the proper way to obtain the fixed-axis covariance matrix from quaternions?

REP 103 defines the standard for rotation representation as quaternions, but the covariance matrix associated to it is given in terms of fixed axis rotations. In my work, I use quaternions directly for attitude estimation and obtain covariances in terms of the quaternion parameters.

How can I convert these covariances to the convention used by ROS, so they can be published appropriately?

PS: I have searched ROS Answers and found a few discussions briefly addressing this topic, but usually referring to external documents or additional packages. I think it would be useful to have a single definitive reference for this here, so that implementations don't depend on the reader's interpretation of what is expected.

2014-04-28 18:40:08 -0500 received badge  Popular Question (source)
2014-04-27 07:13:59 -0500 commented question What is the proper way to obtain the fixed-axis covariance matrix from quaternions?

@tfoote @William, any chance you guys could help me out with this one?

2014-04-27 07:10:51 -0500 commented answer What does sensor_msgs::PointCloud2 mean?

When using ROS, you use sensor_msgs::PointCloud2. When using PCL, you use PCL types. To convert from ROS to PCL cloud type, use the pcl_conversions::toPCL function. To convert back, use pcl_conversions::fromPCL. See http://wiki.ros.org/hydro/Migration#PCL

2014-04-24 13:21:45 -0500 answered a question What does sensor_msgs::PointCloud2 mean?

When it was first being developed, PCL had a very close relationship with ROS. It was only recently that PCL has become completely independent of ROS, after some code refactoring.

ROS has always had its own point cloud data structure (sensor_msgs::PointCloud and then sensor_msgs::PointCloud2), which was initially used at least partially by PCL. So pcl::PCLPointCloud2 exists today mostly for compatibility with ROS.

I am working with PCL in Hydro, so if you let me know where exactly you're having issues (either by asking a new question, which is better, or editing this one) I might be able to give you some pointers.