compute_cartesian_path obstacle avoidance?
Hello ROS Community!
I have the following scenario in gazebo: robotic arm + wall + obstacle (see the figure)
Based on (simulated) kinect sensor data i am able to detect the obstacle and determine the main way-points trough which the selected surface of the wall can be covered. (i.e. i have the waypoints that describe the complete coverage path). see the following image:
Before i call the compute_cartesian_path
i always test these waypoints individually and all of them are reachable by the robot.
Once i call the compute_cartesian_path
it fails with small percentages (1-3%).
BUT, IF i remove the obstacle (ie. delete the wood cube object in gazebo) BUT KEEP the waypoints (that corresponded to the situation when the obstacle was present) than the compute_cartesian_path
succesfully calculates the path and the robot can successfully execute the trajectory.
Why the compute_cartesian_path doen't succeed if the obstacle is present?
I call it in the following way:
(plan, fraction) = group.compute_cartesian_path(
self.waypoints, # waypoints to follow
step, # eef_step
0.0, # jump_threshold
True) #avoid_collisions
In the moveit config package i load the following sensor:
sensors:
- sensor_plugin: occupancy_map_monitor/PointCloudOctomapUpdater
point_cloud_topic: /rgbd_camera/depth_registered/points
max_range: 5.0
point_subsample: 1
padding_offset: 0.1
padding_scale: 1.0
max_update_rate: 1.0
filtered_cloud_topic: filtered_cloud
And in RVIZ i am able to see the OctoMap.
Thank you in advance!
Best regards.