Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 1441

How to use kdl ik solver for a 3dof rpp robot

$
0
0
Hi, I am working on a RPP robot with and end effector with 1dof. The robot is designed to work in a mirco channel printing station. I run the cpp code given below to move my robot to two points. ` #include #include #include #include #include #include int main(int argc, char **argv) { ros::init(argc, argv, "move_group_interface_tutorial"); ros::NodeHandle node_handle; ros::AsyncSpinner spinner(1); spinner.start(); sleep(2.0); moveit::planning_interface::MoveGroupInterface group("arm"); moveit::planning_interface::PlanningSceneInterface planning_scene_interface; ros::Publisher display_publisher = node_handle.advertise("/move_group/display_planned_path", 1, true); moveit_msgs::DisplayTrajectory display_trajectory; ROS_INFO("Reference frame: %s", group.getPlanningFrame().c_str()); ROS_INFO("Reference frame: %s", group.getEndEffectorLink().c_str()); // PLANNING AND MOVING TO FIRST POINT group.setStartStateToCurrentState (); group.setPositionTarget(-0.147,-0.244,0.278,"finger"); group.move(); //PLANNING AND MOVING TO SECOND POINT group.setStartStateToCurrentState (); group.setPositionTarget(-0.282,0.009,0.278,"finger"); group.move(); ros::waitForShutdown(); sleep(5.0); ros::shutdown(); return 0; } I am using kdl ik solver. But the result obtained (broken into 3 steps) is given below:- STEP 1-The robot move to the first point from the zero-position** with proper obstacle avoidance. Image: point1 correctly reached. https://imgur.com/SDvIvX5 STEP 2-Then the robot comes back to zero-position ***by crashing into the obstacles.*** (I don't want this robot to come to zero-position. Bcs the next point is very close to it.) crashing image: https://imgur.com/3O76uWf zero postion: https://imgur.com/gCQXnTU STEP 3-Then robot moves to the second point prescribed very nicely with proper obstacle avoidance. STEPS 1 and STEP 3 are only desired. I dont want step 2. What is that i should do? I feel i have no more stones left unturned. Kindly help. **How to avoid the robot going to home position in between every two planned points? (While going to the home position, collision is also not checked)** NB: **zero position is not set by me. It is the pose in which the CAD model was created. I have also tried `setApproximateJointValueTarget()`. But results are the same as mentioned above. I am using ros melodic and kinetic (issues exist on both) I am a beginner .**strong text**

Viewing all articles
Browse latest Browse all 1441

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>