Hello, everyone:I am using MoveIt!(ROS Hydro Python API, Ubuntu 12.04) with the dynamixel_motor package to control my 4-dof robot arm.As you can see, when it try to reach the puck, the movement is not smooth.So I would like to increase the number of trajectory points come out from move_group interface.(I use set_pose_target function and then go function)
Would you tell me how to increase the number of trajectory points?Are there any parameter for that?Or I must use compute_cartesian_path function instead?Your advices would be appreciated.
How many trajectory points were produced for those particular trajectories?. By default, the output of MoveIt! is pretty dense (5-10 points per second). Also, you could check that waypoints have sane velocity and acceleration values, but I think the problem doesn't lie here.
Without additional information, my guess would be that the problem lies in the controller side. How do you execute trajectories?, does your controller take into account waypoint velocities and accelerations or does it set them to zero?, does it sample/interpolate the command trajectory at the (likely higher) control rate?.
Hi Adolfo:Thank you for your advice.How many trajectory points were produced for those particular trajectories?. By default, the output of MoveIt! is pretty dense (5-10 points per second). Also, you could check that waypoints have sane velocity and acceleration values, but I think the problem doesn't lie here.
I have checked output of MoveIt! when my robot try to reach the puck.There were 14 waypoints in 4.16 sec.The movement distance of the end effector of my robot was only 3cm.All waypoints include velocity and acceleration values.The max_velocity and max_acceleration defined in joint_limit.yaml file were both 1.571.So I don't understand why the movement speed is so slow.Are there any parameters to increase the speed?
Without additional information, my guess would be that the problem lies in the controller side. How do you execute trajectories?, does your controller take into account waypoint velocities and accelerations or does it set them to zero?, does it sample/interpolate the command trajectory at the (likely higher) control rate?.
I just use dynamixel_controllers package to control my robot.I tried to read the code and as far as I read, the controller doesn't read velocities and accelerations.
It just set position. Also the dynamixel_parms.yaml file says it is a joint_position_controllers.That is why I thought my robot could move more smoothly if I increase the number of trajectory points.Would you please give me your ideas?
Sincerely yours,Wataru Yasuda
I would either study the code of the controller to understand what it does, and how you can better leverage it; or contact users/developpers of the controller.