Robot drives arm into table on its way to target pose
Greetings,
Apologies for newbie question. Is there a command that moves "straight" to a target set of joint angles, where "straight" means the end effector moves in a roughly straight line?
Background:
I use my Kinova MICO 4DOF arm for art projects. I drive it with shell commands. It currently plays a decent game of chess, using a DGT sensory board. I'm an end user who programs in bash, consumed by art projects that leave little time for mastering robotics.
I've recorded joint angles for all robot arm poses of interest. I can get current joint positions with:
rostopic echo -c /m1n4s200_driver/out/joint_angles
I subtract these from the target-position angles, and drive the arm like this:
rosrun kinova_demo joints_action_client.py -v -r m1n4s200 degree -- $M1 $M2 $M3 $M4
This works fine much of the time. However, all joints seem to move at the same speed independently, toward their individual goals. So the end effector follows a ponderous curvy path. Depending on where the joints are, the robot will often try to drive straight through the table surface (presumably hoping to emerge somewhere else en route to the target angles).
Is there a command that will move the end effector straight, or avoid the table surface? I'm using joint angles, not Cartesian positions.
I'm using kinova-ros, as described here:
https://github.com/Kinovarobotics/kin...
Everything I know comes from this document -- it's a pretty spare tutorial for me.
Thanks, Kevin
PS. My software versions:
% rosversion -d
kinetic
% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial