DFKI-NI / mobipick_labs

Other
4 stars 1 forks source link

Remove unnecessary action preconditions #16

Closed alexander-sung closed 1 year ago

alexander-sung commented 1 year ago

As discussed, I removed the "safety" preconditions from the UP actions. The demo works well with these changes, as expected. Just a

WARNING: Starting the demo from arbitrary arm poses can now result in unwanted behavior.

The move actions are already restricted to their intended arm poses. Since the search actions of the tables_demo involve moving the robot base as well, the arm pose for this action is restricted to a subset as well. There are no foreseeable problems as long as we limit arm poses for actions which move the robot base.

alexander-sung commented 1 year ago

@sebastianstock, could you please check if the pick and place demo is still running properly for you? Since my last tests it now seems possible that items collide during the place action.

alexander-sung commented 1 year ago

Agreed, there are issues not caused by the changes here. I encountered the same, the robot gets stuck after handover because it would need to move sideways to get closer to table3. However, if I manually move the robot closer, the placement now fails. Hard to tell whether it's coming from me placing the robot.

How would you add such tests? It's always a challenge with anything involving Gazebo simulation or even reality.

mintar commented 1 year ago

I could not test until placing the object after the handover-timeout because move-base always gets stuck when driving to table3 for placing the object. But this is not caused by these changes.

Yes, I get the same. But if you're patient, it'll eventually get there... sometimes... (after 4.5 minutes for me). :)

But yeah, the navigation config on Gazebo is still not ideal, I agree.

alexander-sung commented 1 year ago

Ah okay nice, @mintar. 😃 So no crashing of items during the following place action, yes?

mintar commented 1 year ago

Not for me, no.

mintar commented 1 year ago

How would you add such tests? It's always a challenge with anything involving Gazebo simulation or even reality.

This discussion probably doesn't belong here, but anyway... I just found a very nice test using the MoveIt demo mode: https://github.com/ros-planning/moveit_task_constructor/tree/master/demo/test . This would only test part of the demo though; for other parts, you'd need a full Gazebo simulation, and that's always a hassle to get running headless on a server (at least last I tested). Just FYI.

alexander-sung commented 1 year ago

The MoveIt demo tests are nice indeed. Of course, I was referring to such tests on a concrete level. Also keep in mind that for the planning part there is a test script which executes the whole tables demo without simulator. So, the missing tests on the robot, which we are probably talking about, should be part of the mobipick repository in the first place.

Also for your information, in case you're interested: Previous colleagues at Bosch created a sophisticated Python package to facilitate testing on Gazebo level: https://github.com/boschresearch/pcg_gazebo