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

Matei Ciocarlie's profile - activity

2014-01-26 15:37:07 -0500 received badge  Good Answer (source)
2013-11-24 22:09:03 -0500 received badge  Necromancer (source)
2013-05-14 10:02:45 -0500 commented question GraspIt plugin dbase_grasp_planner computing grasp in database throws error about get_mark_next_dbase_task_of_type

The "get_mark..." function does need to be in the database, and it should be in the latest version... Which version of the database did you download? Then, generating grasps is indeed not documented - I will try to add a short tutorial on the wiki.

2013-04-17 13:36:17 -0500 commented answer adding objects to household database

Yup - that is the right place!

2013-03-22 06:39:27 -0500 commented answer waiting for a service to be advertised !

package: household_objects_database. Launch file: objects_database_local_server.launch

2013-03-21 13:22:01 -0500 answered a question waiting for a service to be advertised !

You will also need to launch household_objects_database/launch/objects_database_local_server.launch with a properly populated .yaml file with the right connection parameters for your local PostgreSQL server.

2013-03-21 13:18:04 -0500 answered a question unable to communicate with service

Unfortunately, we are no longer supporting remote access to a database server hosted at Willow Garage. Instructions for installing the household_objects_databaselocally are provided here: http://www.ros.org/wiki/household_objects_database

2013-03-21 13:17:24 -0500 answered a question Accessing the household_object_database remotely from willowgarage - server down?

Unfortunately, we are no longer supporting remote access to a database server hosted at Willow Garage. Instructions for installing the household_objects_databaselocally are provided here: http://www.ros.org/wiki/household_objects_database

2013-03-21 13:14:47 -0500 commented answer Using the household_objects_database with diamondback

Unfortunately, we are no longer supporting remote access to a database server hosted at Willow Garage. You'll have to install a PostgreSQL server, install the database on it, and use it locally.

2013-01-15 15:11:35 -0500 answered a question Can't use Rviz plugin ObjectSegmentation object_segmentation_gui (interactive object segmentation)

The Interactive Object Segmentation plugin is highly experimental, research code. Unfortunately, we are not able to actively support this version.

The version here might be more promising:

http://ros.org/wiki/bosch_object_segmentation_gui

But you'd have to contact the authors for more details on its current status.

2013-01-08 16:22:27 -0500 answered a question Which grasp planner to use, manipulation pipeline, non PR2 robot

The probabilistic planner is actually not a stand-alone planner - what it does is aggregate suggestions from other planners in a smart way. So if you have no planners for your gripper yet, it would not be the right place to start.

What does your hand look like? If it's at all gripper-like (or has a finger configuration that can be made to resemble a gripper), an adaptation of the PR2 Cluster Planner is definitely doable.

Installing the database on your system and hand-saving a few grasps in it should also be a few hours or maybe a day's worth of work.

Also note that the grasping pipeline relies on a lot of underlying software, in particular in terms of perception and arm navigation for operation. Are you also bringing up those components on your robot?

2012-11-30 16:56:50 -0500 answered a question Where could we find tutorials about using the graspit_simulator?

There is now some additional documentation on the graspit_simulator Wiki page:

http://www.ros.org/wiki/graspit_simulator

It is not much, but might get you started. As for GraspIt! itself, the user manual linked in the answer above is the best source.

The next step would be to fully document the process by which GraspIt! is used in ROS to generate grasps for the household_objects_database. Unfortunately, I am not sure when I can finish that. All the functionality is in the stack though, and the code is generally commented, so you might be able to get that running.

2012-11-30 16:16:42 -0500 commented answer No connection to WG household_object_database

I encourage everybody to set up their local server, it is really not that complicated and the tutorial in the household_objects_database package provides step-by-step instructions.

2012-11-30 16:16:24 -0500 commented answer No connection to WG household_object_database

Unfortunately, we are likely to discontinue support for this, as it proved to be a bit of a headache to keep the ROS wrapper up on this side...

2012-10-19 04:27:41 -0500 received badge  Editor (source)
2012-10-19 04:24:19 -0500 answered a question Is there a pre-built Graspit package for Fuerte?

The graspit_simulator stack is not currently released under Fuerte.

The plan is to complete the release and update the documentation in early November 2012.

Note that you can still check it out from source code and compile manually under Fuerte:

sudo apt-get install ros-fuerte-object-manipulation

svn co https://code.ros.org/svn/wg-ros-pkg/stacks/graspit_simulator/trunk graspit_simulator

You might need to apt-get by hand the system dependencies in graspit_simulator/rosdep.yaml (Qt, Coin, etc.)

2012-04-13 10:38:24 -0500 commented answer How to add objects to a local household database ?

As a note, insert_model will try to copy the geometry file to a location specified in the database itself, by the MODEL_ROOT entry in the "variables" table. Change that to point to somewhere in your filesystem before trying insert_model.

2012-04-06 16:24:21 -0500 commented answer Tele-Operation of an Arm's End-Effector

Also, not sure how well move_arm is set up to handle being interrupted and asked to re-plan all the time. All in all, I would say it's worth a try.

2012-04-06 16:23:52 -0500 commented answer Tele-Operation of an Arm's End-Effector

Could work. You could get sudden jerky movement in the redundancy. It will just flat out refuse to move if IK can not find a solution (whereas a Cartesian controller would get you close). You would need to send goals slow enough to give it time to plan.

2012-04-06 03:26:16 -0500 received badge  Nice Answer (source)
2012-04-05 10:46:52 -0500 answered a question Tele-Operation of an Arm's End-Effector

For that you'll need two things: some form of controller that operates in Cartesian end-effector space (like a J-transpose or J-inverse controller), and then a simple interactive_marker application that will just send the location of the interactive marker to the controller as a set point.

We have both implemented for the PR2, and the pr2_marker_control package in the pr2_object_manipulation stack is a good starting point. For a generic robot, I expect the Cartesian controller to be the most significant hurdle; the interactive_marker based app should be relatively straightforward.

Alternatively, you could just compute inverse kinematics on the location of the interactive marker and then feed the result directly to your regular joint-space controller. You run the risk of sudden movements in the redundant space of the arm (if your arm is redundant), or inability to get close to locations where IK can not find solutions. We do not have anything generic like that already implemented, but if your IK is fast enough, then it should be a relatively straightforward implementation, at least for a proof of concept.

2012-04-03 13:16:10 -0500 received badge  Nice Answer (source)
2012-04-03 06:30:50 -0500 answered a question What uses the Grasp Message?

A Grasp can be passed on to the PickupAction, serviced by the object_manipulator. You can see an example of calling that action here:

http://www.ros.org/wiki/pr2_tabletop_manipulation_apps/Tutorials/Writing%20a%20Simple%20Pick%20and%20Place%20Application

Note that, unlike the example, you will be populating the desired_grasps field of the PickupGoal with your computed grasp.

Another example can be found in the pr2_interactive_manipulation package, in the file that Adam mentioned above.

2012-03-01 10:06:57 -0500 answered a question Problem with the reference frame of grasps in the household_objects_database

The pose of the grasps in the database should be saved in the reference frame of the object - that is, relative to the origin of the 3D model (the mesh) of the object.

At run-time however, the manipulation pipeline does not know if the reference frame of the object is actually available in TF. It seems like it is in your system, but htat is not generally the case. Therefore, when you query the objects database node and ask for grasps for the object, it will also look where the object is in relation to a TF frame (this information is contained in the GraspableObject you are passing to the GetGrasps callback). It will then give you back the grasps transformed to the same reference frame that the object is in.

For example: let's say that object recognition gives you the object at location T1 w.r.t. the "base_link" frame. Let's say that in the database you have a grasp stored at location G1 relative to the object. When you get the grasps from the database, the objects_database_node will give you back a grasp expressed in the "base_link" frame, and its pose will be T1 * G1.

There are a few ways in which you can get the desired behavior. Since there seems to be some node in your system publishing an "object_frame" to TF, you could simply ask for grasps for a GraspableObject with a DatabaseModel with an identity pose relative to the "object_frame".

2012-01-03 02:58:57 -0500 received badge  Necromancer (source)
2011-08-18 05:40:46 -0500 commented answer The Pick and Place Autonomous Demo, grasping error
2011-08-18 05:40:39 -0500 commented answer The Pick and Place Autonomous Demo, grasping error
A better (though still not ideal) solution is to patch Ogre to eliminate that assertion. We have put a patch that does that in our electric release. If you are on diamondback, you can download the diamondback version of the source code for the ogre package, then apply the patch and recompile.
2011-08-18 05:38:20 -0500 commented answer The Pick and Place Autonomous Demo, grasping error
The rviz crash is caused by a bug in Ogre. Certain combinations of marker materials will cause that in an unpredictable fashion; unfortunately there is not much we can do about it... What marker topics do you have enabled? Disabling some of those will hopefully eliminate the crash.
2011-08-17 20:32:45 -0500 received badge  Nice Answer (source)
2011-08-17 20:28:14 -0500 received badge  Nice Answer (source)
2011-08-14 10:35:42 -0500 received badge  Enlightened (source)
2011-08-14 10:35:42 -0500 received badge  Good Answer (source)
2011-08-03 12:15:04 -0500 answered a question household_objects database

Nutan,

I have never used pg_restore from the command line, so can offer no advice there. I always use the pgadmin GUI, it works great for me, you can get it via sudo apt-get install pgadmin3

2011-08-01 12:27:00 -0500 commented answer Using the household_objects_database with diamondback
To get rid of this, you should be able to also add the "fingertip_object_collision" boolean field to the "grasp" table and set its default to FALSE.
2011-08-01 12:26:16 -0500 commented answer Using the household_objects_database with diamondback
This is caused by a mismatch between the code and the database schema, sorry about this... It seems to be complaining about the "fingertip_object_collision" field, which only appears in the prerelease_2 version of the backup file. Is that the one you downloaded?
2011-07-26 09:06:15 -0500 commented answer PR2 object manipulation hand posture fail: `Hand posture controller timed out`
Unfortunately, in simulation, holding grasped objects is not very stable. The simulator keeps taking small corrective improvements until eventually the object slips out, especially if it's cylinder... Maybe something like a cube with the faces parallel with the gripper pads will be held longer?
2011-07-26 08:06:26 -0500 received badge  Nice Answer (source)
2011-07-25 13:25:54 -0500 answered a question PR2 object manipulation hand posture fail: `Hand posture controller timed out`

That error is caused by the simulated gripper not "settling" on the grasped object - essentially, in simulation, the gripper joint keeps making small movements to account for simulation error, and therefore the controller never considers that is has stalled.

You can change what the controller considers "stall" velocity by editing pr2_controller_configuration_gazebo/pr2_default_controllers.launch and putting in the following parameters:

<param name="r_gripper_controller/gripper_action_node/stall_velocity_threshold" value="0.01" type="double"/>

<param name="l_gripper_controller/gripper_action_node/stall_velocity_threshold" value="0.01" type="double"/>

2011-07-22 10:00:50 -0500 commented question how to make pr2 grasping more robust
I can replicate the correct behavior where I am indeed getting grasps back. I know that there are a few objects in the database that do not have grasps, but they are rarely used. The object recognition node only uses a subset of the models, and those with no grasps should not be in there.
2011-07-22 09:42:43 -0500 commented answer household_database visualization
Also, the fact that the returned shape type is always 0 is a bug, which has been fixed for upcoming releases. The type should be 3, for MESH.
2011-07-19 13:51:08 -0500 answered a question A clear path to a simulated pr2 grasping demo?

The first step will be to download and install the database locally on your computer. The tutorial is here:

http://www.ros.org/wiki/household_objects_database

There should also be an option to use the database remotely on a Willow Garage server, but unfortunately that is not working for diamondback at the moment...

After that, you would edit the pr2_tabletop_manipulation.launch file to match your local installation of the database, such as server address, user name, password, etc.

2011-07-18 14:29:26 -0500 commented question how to make pr2 grasping more robust
No grasps in the service response is strange... What arguments are you passing in? In particular, what object id?
2011-07-18 14:29:26 -0500 received badge  Commentator