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

piyushk's profile - activity

2020-03-26 17:54:39 -0500 received badge  Nice Answer (source)
2019-10-23 23:29:51 -0500 received badge  Famous Question (source)
2019-05-20 02:36:29 -0500 marked best answer rqt based UI and different screen resolutions

I've created a UI using rqt, and store the UI as a perspective. My problem is that individual components in the UI don't render at the same location if a different screen resolution is used. The UI was created in 1920 x 1080, and is being viewed on a different machine with 2560 x 1440. Any thoughts to keep the layout completely fixed will be appreciated. Since a number of people are using the UI, it's hard to control the resolution at which it will be viewed.

I'm using ROS Kinetic and Ubuntu 16.04, should it matter.

2019-03-07 01:35:43 -0500 received badge  Notable Question (source)
2019-03-07 01:35:43 -0500 received badge  Famous Question (source)
2018-11-02 13:11:43 -0500 received badge  Good Answer (source)
2017-07-24 15:56:07 -0500 commented answer rqt based UI and different screen resolutions

Thanks for the quick response @Dirk Thomas. I've added an issue/steps to reproduce on this github thread: https://githu

2017-07-24 15:54:15 -0500 received badge  Popular Question (source)
2017-07-24 14:53:15 -0500 commented answer rqt based UI and different screen resolutions

The main window is not maximized at launch. It just spawns with a different size at different resolutions, which means t

2017-07-24 08:26:07 -0500 asked a question rqt based UI and different screen resolutions

rqt based UI and different screen resolutions I've created a UI using rqt, and store the UI as a perspective. My problem

2017-02-14 04:09:02 -0500 received badge  Nice Answer (source)
2017-02-13 10:47:35 -0500 received badge  Nice Answer (source)
2017-02-01 04:14:48 -0500 received badge  Popular Question (source)
2017-02-01 04:14:48 -0500 received badge  Notable Question (source)
2016-12-14 04:37:28 -0500 received badge  Nice Answer (source)
2016-12-02 08:58:13 -0500 commented question Can't initialize effort_controllers/JointPositionController with non-global robot_description parameter

I've filed an issue report here: https://github.com/ros-controls/ros_c...

2016-12-02 08:57:43 -0500 commented question Can't initialize effort_controllers/JointPositionController with non-global robot_description parameter

@gvdhoorn: Good suggestion. I'm using it already to ensure that gazebo_ros_control creates the controllers in the correct interface. But the NodeHandle is not passed to urdf::Model, so it doesn't solve the problem.

2016-11-30 16:35:43 -0500 asked a question Can't initialize effort_controllers/JointPositionController with non-global robot_description parameter

Here's an outline of my problem:

  1. I have multiple robots in Gazebo with different URDF descriptions. Each robot is pushed into a namespace (/robot1/...), and each frame id is pre-pended with a prefix (robot1_....). Consequently, I have no robot_description param in the global namespace.
  2. libgazebo_ros_control (running inside Gazebo) initializes ControllerManager. Gazebo runs in the global namespace.
  3. effort_controllers/JointPositionController (running inside Gazebo) calls urdf::Model::initParam which does not respect the controller's constructed namespace, and executes a searchParam in Gazebo's global namespace, which fails.

I can't figure out how to tell the controller to read the robot_description from robot1/robot_description.

Furthermore, It's unclear to me why the controller is trying to read the URDF independently in the first place. Why doesn't it get it from the controller manager?

2016-10-27 04:17:38 -0500 received badge  Notable Question (source)
2016-09-12 05:32:39 -0500 received badge  Nice Answer (source)
2016-05-08 14:42:53 -0500 marked best answer Rosjava + Actionlib

Does rosjava + ROS Hydro support actionlib? I am having trouble finding examples.

Thanks!

Piyush

2016-02-17 12:47:10 -0500 marked best answer Releasing ROS packages under LGPL/BSD

I am writing a ROS wrapper for a library released under LGPL. I had a few questions regarding releasing the ROS Wrapper:

  1. The library gets downloaded as a ROS Package. I assume that this package should be marked as LGPL?
  2. Since no modifications were made to the library, the ROS Wrapper (inside the same stack) can be licensed under BSD?
  3. The overarching stack with 3-4 packages can still be released under the BSD?
  4. Given the ROS paradigm, if a stack does not need to be modified locally by the end user, does it matter if it is released under a BSD or LGPL license?

Similar questions seem to have been discussed for GPL vs BSD in this thread: http://answers.ros.org/question/12313/using-gpl-licensed-packages-in-a-commercial/

2015-11-16 01:37:55 -0500 marked best answer Why is the ROS wiki dump smaller than a year ago?

I was moving my ROS mirror to a different machine, and ran the update-wiki script the first time around before cron picks it up.

Now I am sure that back in November 2011, we were at 11GB (and increasing fast), but now we seem to be around 3GB. Specifically, the code api tarball (docs) has gone from 10GB to 1.67GB.

How did this happen?

2015-11-16 01:35:27 -0500 received badge  Famous Question (source)
2015-10-14 16:17:25 -0500 marked best answer unable to set initial pose in gazebo spawn_urdf_model (groovy)

I've just updated from Fuerte to Groovy, and seem to have lost the ability to spawn an object at a given pose. Steps that reproduce this reproduce this problem (after updating to groovy):

roslaunch gazebo_worlds empty_world.launch
rosrun xacro xacro.py `rospack find gazebo_worlds`/objects/table.urdf.xacro > /tmp/table.urdf
rosrun gazebo spawn_model -urdf -file /tmp/table.urdf -x 2 -y 2 -z 2 -model table_model

The table will spawn at (0,0,0). Can someone confirm if this is a bug?

Also should the Gazebo ROS wrapper questions (like this one) be asked at answers.gazebosim.org?

Thanks!!

Edit#1

Thread continued at answers.gazebosim

2015-08-11 09:35:08 -0500 received badge  Guru (source)
2015-08-11 09:35:08 -0500 received badge  Great Answer (source)
2015-06-22 07:55:57 -0500 marked best answer tf wait for transform failure

I believe this question is related to http://answers.ros.org/question/12358/tfwaitfortransform-does-not-wait-for-transform/, though I am not sure if a bug report was filed with the previous one.

I cannot get TransformListener::waitForTransform to wait for the given duration - Unless I supply an excessive long timeout (10000 seconds), the waitForTransform call returns immediately. It also never seems to succeed.

A bag file to reproduce this error is available here (47 MB). To run the bag file, don't use --clock as /clock was recorded explicitly:

rosparam set /use_sim_time true && rosbag play tf.bag

This bag file was recorded for a multi robot setup in simulation, and a number of different nodes are publishing tf information. The view frames output (is correct), and available here. This output can be reproduced by running:

rosrun tf view_frames

On the other hand, while running tf_echo the waitForTransform call in tf_echo always fails, and the first lookupTransform fails (as waitForTransform does not wait sufficiently long). All subsequent lookupTransform calls produce the correct output:

rosrun tf tf_echo /segbot1/base_footprint /segbot1/ens1/map

Example Output:

Failure at 458.729000000
Exception thrown:Frame id /segbot1/base_footprint does not exist! Frames (1): 
The current list of frames is:

At time 459.605
- Translation: [-5.000, -5.000, 0.001]
- Rotation: in Quaternion [0.000, 0.000, -0.000, 1.000]
            in RPY [0.000, 0.000, -0.000]
At time 460.600
- Translation: [-5.000, -5.000, 0.001]
- Rotation: in Quaternion [0.000, 0.000, -0.000, 1.000]
            in RPY [0.000, 0.000, -0.000]

I made a local copy of tf_echo, and increased the wait duration to about 100 seconds. I have an average gazebo speedup between 2.5 to 3.5 seconds, so I should see the waitForTransform call blocking for about 30 seconds before looking up the transform. This does not happen, and the call returns immediately (unsuccessful).

If anyone has any insights into this, then let me know. Otherwise I'll proceed with filing this as a bug. Currently the waitForTransform call for this transform fails repeatedly in a loop in the navigation stack.

UPDATE #1

I have created a simple downloadable package to test tf_echo here.

Usage:

rosrun tf_test tf_echo /segbot1/base_footprint /segbot1/ens1/map _duration:=1.0
rosrun tf_test tf_echo /segbot1/base_footprint /segbot1/ens1/map _duration:=10.0
rosrun tf_test tf_echo /segbot1/base_footprint /segbot1/ens1/map _duration:=100.0

Output:

using duration: 100
waitForTransform Success: 0
Failure at 458.520000000
Exception thrown:Frame id /segbot1/ens1/map does not exist! Frames (5): Frame /segbot1/base_footprint exists with parent /segbot1/odom.
Frame /segbot1/odom exists with parent NO_PARENT.
Frame /segbot2/base_footprint exists with parent /segbot2/odom.
Frame /segbot2/odom exists with parent NO_PARENT.

The current list of frames is:
Frame /segbot1/base_footprint exists with parent /segbot1/odom.
Frame /segbot1/odom exists with parent NO_PARENT.
Frame /segbot2/base_footprint exists with parent /segbot2/odom.
Frame /segbot2/odom exists with parent NO_PARENT.

At time 459.401
- Translation: [-5.000, -5.000, 0.001 ...
(more)
2015-06-22 07:55:57 -0500 received badge  Nice Answer (source)
2015-06-22 07:55:52 -0500 received badge  Good Question (source)
2015-06-22 00:52:36 -0500 marked best answer is the changelog used anywhere inside bloom?

Based on the instructions on the release page here, I've run the following commands:

catkin_generate_changelog
catkin_tag_changelog
catkin_prepare_release
bloom-release foo --track hydro --rosdistro hydro

After performing the release, I noticed that the updates to the changelog had not been committed to my upstream repo by any script. I assume I can commit then now to the development branch, and that the changelog itself is not used by bloom?

Thanks!!

2015-05-05 10:28:41 -0500 marked best answer tf namespace resolution

In my tf tree, I accidentally forgot the root forward slash in a single link inside the tree. For example, in the tree in the view_frames output here, the following link:

/map -> /ens1/map

was accidentally being transmitted by a python node as:

map -> ens1/map

Now, view_frames clearly ignored this error and formed up everything as a single tree (a full tree was formed - as shown in image above). Similarly tf_echo successfully produced the following transformation:

rosrun tf tf_echo /segbot1/base_footprint /segbot1/ens1/map

Output:

At time 459.605
- Translation: [-5.000, -5.000, 0.001]
- Rotation: in Quaternion [0.000, 0.000, -0.000, 1.000]
            in RPY [0.000, 0.000, -0.000]
At time 460.600
- Translation: [-5.000, -5.000, 0.001]
- Rotation: in Quaternion [0.000, 0.000, -0.000, 1.000]
            in RPY [0.000, 0.000, -0.000]

However the navigation stack kept complaining (correctly?) about there being 2 separate trees:

Waiting on transform from /segbot1/base_footprint to /segbot1/ens1/map to become available before running costmap, tf error: Could not find a connection between '/segbot1/ens1/map' and '/segbot1/base_footprint' because they are not part of the same tree.Tf has two or more unconnected trees.

After (quite) a bit of debugging, I found that the tf information was being interpreted as 2 different trees by the move_base node (i.e. Costmap2DRos) in the navigation stack, but as a single tree by view_frames and tf_echo. Although the error has been fixed:

  1. Did this happen because because the move_base node was launched in the /segbot1 namespace and/or /segbot1/tf_prefix was set. The TransformListener applied standard name resolution rules and resolved the tf link as /segbot1/map -> /segbot1/ens1/map
  2. If 1 did indeed happen, does it make sense for the TransformListener to do this sort of name resolution, as essentially nodes in different namespace see different trees.
2015-04-20 23:19:42 -0500 received badge  Famous Question (source)
2015-02-24 02:10:25 -0500 received badge  Necromancer (source)
2015-01-15 16:44:02 -0500 answered a question Turtlebot 2 and ros-hydro-cmvision problem.

I'm surprised this bug went unnoticed for this long. It looks like cmvision doesn't even bother checking the format of the image message, and just assumes it is RGB. I believe the Kinect publishes in BGR.

The offending lines: https://github.com/utexas-bwi/cmvisio... https://github.com/utexas-bwi/cmvisio...

The issue has been file here: https://github.com/utexas-bwi/cmvisio...

Since both color_gui and blob_finder suffer from the same bug, as long as you you use the same camera (aka image format) with both those nodes, it shouldn't matter if color_gui is displaying the colors incorrectly. Not pretty, but it should work until the issue is resolved.

2014-08-27 05:00:17 -0500 received badge  Nice Answer (source)
2014-06-24 08:35:51 -0500 received badge  Popular Question (source)
2014-06-24 08:35:50 -0500 received badge  Popular Question (source)
2014-06-02 23:51:15 -0500 commented answer Segway Driver

Additionally. If the checksum mismtach error only shows once, don't worry about it. That's typical. If it shows up more than once, then you probably have a problem.

2014-05-29 05:56:11 -0500 answered a question Segbot Documenation

Apologies for the lack of documentation. I need to work on that pretty soon to hand over the project to someone else, but I'm not sure if updated documentation will be sufficient for people outside our lab. I will update my answer when I've added this documentation.

  1. It does not matter how the map was generated.
  2. segbot_gui is not used in navigation. None of the launch files in segbot_navigation use it.
  3. You've got the right command. You'll also need to supply a map file, as the default one won't work for you.

Good Luck!

2014-05-18 07:03:16 -0500 received badge  Guru (source)
2014-05-18 07:03:16 -0500 received badge  Great Answer (source)
2014-04-20 13:39:57 -0500 marked best answer should catkin_make_isolated generate some initial setup.* files without packages in src?

I am trying to write an automated script to setup a catkin isolated workspace chained with a rosbuild workspace (to be used by freshmen students here). Since there are no packages to begin with, no setup files are generated by catkin_make_isolated.

Any thoughts on how this can be achieved?

2014-04-20 13:37:52 -0500 marked best answer Do plain cmake packages need to handle pkg-config file generation?

@joq and I are working on improving the current libsegwayrmp release from @William.

It seems like the current release does not generate a pkg-config file. Consequently, any dependency on this package fails. On the other hand, the libfreenect release works fine, as pkg-config file generation was already handled upstream. This worked out of the box while building the package with catkin_make_isolated.

Should I setup libsegwayrmp to do something similar? Or is there an alternative I am not aware about?

Thanks!!

Edit #1

Based on @William's answer, here's a second question. Can a rosbuild package depend on a plain-cmake package? If yes, then can it use find_package or only pkg-config is supported? This is the error I get trying to build segway_rmpX (currently dry) with the current libsegwayrmp wet release.

Failed to invoke /opt/ros/groovy/bin/rospack cflags-only-I;--deps-only segway_rmpX
Package libsegwayrmp was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsegwayrmp.pc'
to the PKG_CONFIG_PATH environment variable
2014-04-20 13:23:46 -0500 marked best answer catkin system packages not specifying version number of ROS depe

Edit - I just upgraded to the release repository (1/29/2013)

Reference: http://packages.ros.org/ros/ubuntu/dists/precise/main/binary-amd64/Packages

Catkin system packages don't seem to be specifying the version number of their dependencies. For example, ros-groovy-pluginlib does not specify the version number for ros-groovy-class-loader. In contrast, all the rosbuild stacks seem fine.

When I did a full system update right now, almost everything got updated (including ros-groovy-pluginlib) because of a large number of rosbuild system packages. However the new version of ros-groovy-class-loader was not pulled in. Consequently, all of my code that uses pluginlib was broken until I upgraded ros-groovy-class-loader manually.

Thoughts?

Edit#2

I believe apt-get upgrade should work correctly. On the other hand calling apt-get install ros-groovy-desktop-full will not upgrade the dependencies correctly.

2014-04-20 13:23:36 -0500 marked best answer workspaces broken with latest update (1/28/2013)?

I am using a rosbuild workspace overlayed on top of a catkin workspace according to this tutorial. I only source the rosbuild workspace setup.bash in my ~/.bashrc.

The release repository was updated today, and I upgraded my packages. It seems like my existing workspaces broke until I reinitialized them. I didn't think to capture the output before re-initializing.

Can someone confirm that this problem exists? Or did I just experience a weird hiccup?

Edit#1

Never mind, updates on a second machine worked correctly. This was a machine specific issue.