March 2018
Intermediate to advanced
1396 pages
42h 14m
English
Planning a random target can be effectively performed in two steps: first of all, we need to create the random target itself and then check its validity. If the validity is confirmed, then we can proceed by requesting the goal as usual; otherwise, we will cancel (although we could retry until we find a valid random target). In order to verify the validity of the target, we need to perform a service call to a service provided by MoveIt! for this specific purpose. As usual, to perform a service call, we need a service client:
ros::ServiceClientvalidity_srv = nh.serviceClient<moveit_msgs::GetStateValidity>("/check_state_vali dity");
Once the service client is set up, we need to create the random target. To do so, ...