Hi Everyone,
We are attempting to control our iiwa 7 using a 6DOF mouse via ROS and we are having some issues creating a smooth trajectory.
Manipulating a given axis of the 3D mouse will in turn move the end effector in cartesian space.
So for example, press down on the mouse to make the end effector move down in z axis.
However the robot will have a stop/start or jerking motion as it moves along our trajectory, more obvious at higher velocities.
For the moment I have replaced the outputs from the mouse with a constant variable defined in code and there is still an issue, so the mouse isn't at fault.
We currently have this working on a Mitsubishi robot with no problems.
We compute our trajectory as follows:
Take the pseudo-inverse jacobian for the end effector and multiply by the outputs of the mouse
Add the result to the current joint angles of the robot to define the new angles.
The new angles are sent into a trajectory controller (MoveIt!) at 100hz which in turn sends interpolated joint positions to the KUKA at 1000hz to move along a trajectory
I have attached an example of a trajectory. In this case this is the angles of joint 4, when trying to move down in Z. For the first attachment the red is our commands, blue is the actual joint position.
The second attachment shows the entire range of motion for joint 4, when moving down in Z.
The ROS package we use has an option to use a GUI to drag a 3D model of the KUKA to a new position, and then have the real robot do the same movement. This works fine with smooth motion so the ROS package seems fine as well.
ROS package: https://github.com/SalvoVirga/iiwa_stack
Sunrise 1.11
Appreciate any comments!
Thanks