Closed yepw closed 2 years ago
To provide more information, the firmware version of our Jaco arm is 6.2.10.0
.
Also, I got the same error in ROS noetic with the noetic-devel
branch.
Please let me know if I could provide more information to help you fix the issue.
Hi @yepw,
After looking into it, it seems to be an issue only with the Ethernet connection. Did you remove the gripper on your arm? There is a verification in the firmware's code that validates the message length (data must contain torque value for 6 or 7 joints + unused data for each finger). This verification is not present for the USB commands. This might explain why it works on USB but not Ethernet.
I did not manage to test this yet, and we are currently looking into this issue. I will keep you updated when more progress is made.
In the mean time, feel free to post any interesting test or behaviour you might experience.
Best, Felix
Thanks, @felixmaisonneuve
The error might be relevant to the gripper because I am using a Robotiq 1DoF gripper.
I wonder how to pass the verification. I tried rostopic pub -r 100 /j2n6s300_driver/in/joint_torque kinova_msgs/JointTorque "{joint1: 0.0, joint2: 0.0, joint3: 0.0, joint4: 0.0, joint5: 0.0, joint6: 0.0, joint7: 0.0, finger1: 0.0, finger2: 0.0, finger3: 0.0}"
.
This didn't work because the kinova_msgs/JointTorque
message type only contains joint torques. The error I got:
ERROR: No field name [finger3]
Args are: [joint1 joint2 joint3 joint4 joint5 joint6 joint7]
There is no way for you to bypass this, the probleme is in the base firmware (If the issue is what I think it is). If you want, I encourage you to contact support@kinova.ca and we can send you the test firmware so you can try it on your setup. If you do, please mention you want to test firmware and mention my name so whoever get your email will be able link it to me.
That is probably the fastest way for you to get results.
Best, Felix
Thanks, @felixmaisonneuve. I sent an email to support@kinova.ca a few days ago and haven't heard back. I did mention your name and test firmware in the email. My email address is yeping@cs.wisc.edu No sure whether the email was linked to you or not. Please let me know if you need me to send another email.
@felixmaisonneuve Thank you. The custom build firmware you sent to me addresses the problem!
Description
j2s7s300_driver crashes in torque control. It happens only with Ethernet connection. I tried to use gdb to backtrace the error:
Version
ROS distribution : melodic Branch and commit you are using : melodic-devel
Steps to reproduce
roslaunch kinova_bringup kinova_robot.launch kinova_robotType:=j2s7s300
rosservice call /j2s7s300_driver/in/set_torque_control_mode "state: 1"
rostopic pub -r 100 /j2s7s300_driver/in/joint_torque kinova_msgs/JointTorque "{joint1: 0.0, joint2: 0.0, joint3: 0.0, joint4: 0.0, joint5: 0.0, joint6: 0.0, joint7: 0.0}
[j2s7s300_driver-2] process has died [pid 6291, exit code -11, cmd /home/uwgraphics/jaco_ws/devel/lib/kinova_driver/kinova_arm_driver j2s7s300 __name:=j2s7s300_driver __log:=/home/uwgraphics/.ros/log/2b49b4ba-e9e9-11ec-b323-e4a471f97180/j2s7s300_driver-2.log].
Expected behavior
I wanted the robot to enter "zero gravity" mode and to move the robot by manually dragging it.
Any other information
The same error occurred when running
rosrun kinova_demo gravity_compensated_mode.py j2s7s300
. However, when runninggravity_compensated_mode.py
, the robot did successfully enter the gravity compensated mode before the driver crashed.My robot_parameters.yaml