Ask Your Question
1

moving custom robot arm to pose goal

asked 2012-08-06 05:37:51 -0500

mrtc gravatar image

updated 2012-08-06 06:44:40 -0500

I'm following the tutorial at for moving the PR2 arm to a pose goal (link) but I'm having trouble to transitioning this to a custom non-pr2 robot in simulation.

As I understand it the motion plan request must call an action server. From here I'm sort of lost. Can I use the warehouse planner to initialize the robot, and then run a new node to request a new post?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2012-08-09 21:57:34 -0500

Adolfo Rodriguez T gravatar image

Your test case is failing when move_arm triggers a planning scene sync via the setPlanningSceneDiff service. Maybe inspecting the relevant source code will provide you with more clues. Here's the relevant source files involved, all belonging to the planning_environment package:

collision_models_interface.cpp contains the CollisionModelsInterface::syncPlanningSceneCallback(...), which is woken up on a sync request. Here's where "Setting planning scene state to NULL" comes from. If you follow the method's logic, you'll pass through CollisionModels::setPlanningScene(...), in collision_models.cpp, which is where "Incomplete robot state in setPlanningScene" comes from, and end up at setRobotStateAndComputeTransforms(...), in model_utils.cpp where the actual problem seems to lie. There's one code path towards the end that returns false, and does not log the failure reason. That's where I believe you should look into.

edit flag offensive delete link more

Comments

Very helpful! I copied the planning_environment package into my workspace and had it output the data causing false to be returned. The string::bool iterator loop is indicating "floating_rot_w" is false, whatever that means. I see it shows up in planning_models so I'll start digging in there.

mrtc gravatar imagemrtc ( 2012-08-15 20:51:21 -0500 )edit

After doing much back tracing, all I found was that it could not find several of the paramaters when this line is called from any of my programs: get_planning_scene_client.call(planning_scene_req, planning_scene_res). Even just requesting state validity causes the visualizer to crash.

mrtc gravatar imagemrtc ( 2012-08-30 13:08:29 -0500 )edit

exactly the same problem with you mrtc. if you find a solution, plz post here. and i'll try to solve this too.

yangyangcv gravatar imageyangyangcv ( 2012-08-31 14:50:59 -0500 )edit
0

answered 2012-08-06 06:40:31 -0500

dornhege gravatar image

You'll need to setup the arm navigation environment for your robot. The simplest form is to start with the wizard:

http://www.ros.org/wiki/arm_navigation/Tutorials/tools/Planning%20Description%20Configuration%20Wizard

edit flag offensive delete link more

Comments

This has been set up previously. Are the launch files generated here all that's required to start requesting poses? Or are there other nodes I must start?

mrtc gravatar imagemrtc ( 2012-08-06 06:48:04 -0500 )edit

In that case you should have a move_<groupname> action running. You can check the topics list, if there is something like this.

dornhege gravatar imagedornhege ( 2012-08-06 06:54:27 -0500 )edit

Ah yes, running that move_manipulator launchfile (naming the group manipulator) that was generated gives me these topics: /move_manipulator_markers, /move_manipulator_markers_array . The move_ ones appear to only be publishing though. Does anything else need to be running?

mrtc gravatar imagemrtc ( 2012-08-06 07:13:19 -0500 )edit

UPDATE: Running planning_components_visualiser and move_manipulator allows me to run a modified version of the code here: http://www.ros.org/wiki/move_arm/Tutorials/MoveArmPoseGoal, but upon sending I just receive ABORTED back, and the rviz interaction stops working. Any thoughts?

mrtc gravatar imagemrtc ( 2012-08-06 08:48:43 -0500 )edit
1

Check the log output for the failure reason. Common failure reasons are invalid start/goal states, no IK found, or simply that the planner failed. I would suggest you to start with the tutorial that moves the arm to a joint space goal, and once you get that working move on to a task space goal.

Adolfo Rodriguez T gravatar imageAdolfo Rodriguez T ( 2012-08-06 23:27:43 -0500 )edit

For checking log output, the more relevant messages have info severity or higher, so you should already be able to see them. Still, it helps to set the log level of parts of your move_arm node to debug (eg. ros.collision_space_contactonly if you are running into collision).

Adolfo Rodriguez T gravatar imageAdolfo Rodriguez T ( 2012-08-06 23:33:44 -0500 )edit

"Incomplete robot state in setPlanningScene" warning comes up when I request either a joint goal, or a pose goal, and then the error "Setting planning scene state to NULL" comes after. I'll drill down though and see what other messages are coming up.

mrtc gravatar imagemrtc ( 2012-08-07 08:40:33 -0500 )edit

Check what part of the robot state is not being published. Does your /joint_states topic publish all robot joints?, is your multi-dof joint at the base of the robot well defined?.

Adolfo Rodriguez T gravatar imageAdolfo Rodriguez T ( 2012-08-07 21:12:48 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2012-08-06 05:37:51 -0500

Seen: 793 times

Last updated: Aug 09 '12