ros-industrial-attic / fermi

Google Summer of Code Project: Cartesian Path Planner MoveIt Plug-in
Apache License 2.0
41 stars 33 forks source link

Code fixes in the RViz enviroment and cartesian planning #13

Closed rkojcev closed 10 years ago

rkojcev commented 10 years ago

Please test the current version of the plugin and if everything works as expected. Some test files can be found in the folder waypoints_data. The results I get by executing Cartesian path with the motoman_sia20d_moveit_config package is the following: test_risto.yaml = 71.05% test_risto_2.yaml = 100% test_risto_3.yaml = 70.48%

gavanderhoorn commented 10 years ago

I'd like to test this, but after adding an InteractiveMarkers display, I can't set its topic to /moveit_cartesian_planner/update: the topic doesn't seem to be there.

I think I followed the readme to the letter, even used the SIA20D MoveIt configuration, but don't see the topic anywhere. Any tips?

rkojcev commented 10 years ago

@gavanderhoorn you also need to manually add the plugin from the RViz enviroment by going to Panels->Add New Panel->MoveIt Cartesian Planner. After that the topic in the InteractiveMarkers display should be visible.

I have made the test by using the following command:

$roslaunch motoman_sia20d_moveit_config moveit_planning_execution.launch
shaun-edwards commented 10 years ago

I'm seeing some odd behavior. The plugin now creates a proper path, but it is only displayed in Rviz if the MotionPlanning visual is active. The robot model (which should show exactly what the robot is doing) does not change. By echoing /joint_states I can tell the simulated robot is actually moving, but the display is not being updated. I added a tf visual and it also does not move either. However, echoing the tf between the base_link and tool0, shows changes on the terminal. It appears the simulate cartesian path button locks up rviz and prevents the display from being updated.

rkojcev commented 10 years ago

@shaun-edwards I have just tiried this and you are right the robot does not move at all if MotionPlanning is not visible for me as well. I think that part should be visible in order to visualize the robot movement in the RViz. Can someone correct me on this one if I am wrong? I had always MotionPlanning visual active during my tests...

Further more, I have also noticed during the tests that the RViz environment dims out a little bit I think the reason for that is that I have set the planning time little bit longer. I am using the MoveIt group execute, which waits till completion. If we use the commandasyncExecute , then the robot will not wait till completion. Also changing the planning time will change the waiting for execution, which I plan to make it s electable by the user.

shaun-edwards commented 10 years ago

The MotionPlanning visual can be misleading. The RobotModel visual displays exactly what the robot is doing (either simulated or real). In most cases the MotionPlanning and RobotModel visuals match. However, when they don't match, there is an issue. In this case, we are locking up the entire Rviz environment. We should not be doing this. I'm not sure if the solution is the call the async execute or otherwise, but this should be addressed.

rkojcev commented 10 years ago

@shaun-edwards thanks a lot for your feedback. Another thing that I have noticed is that in the most of the default moveit configurations we have only the MotionPlanning visual loaded in the RViz environment, therefore making me believe that the RobotState could be neglectable and actually the MotionPlanning visual is that one that is important for visualizing the Robot movements. The only case where I saw RobotState loaded into the default scene was in the motoman package.

I will check where the issue might be. Thanks for the feedback.

rkojcev commented 10 years ago

Merging this pull request and opening another one with the updates in the code for the locking issue in the RViz environment.