Kinovarobotics / kinova-ros

ROS packages for Jaco2 and Mico robotic arms
BSD 3-Clause "New" or "Revised" License
363 stars 318 forks source link

Error with gravity_compensated_mode.py j2n6s300 #435

Open Leong1230 opened 7 months ago

Leong1230 commented 7 months ago

Description

The robot stays stiff either after running gravity_compensated_mode.py and getting "Starting gravity compensation mode" or after executing rosservice call /j2n6s300_driver'/in/start_force_control

Version

ROS distribution : ROS Noetic on Ubuntu 20.04 with my JACO robot (j2n6s300)

Branch and commit you are using : noetic-devel branch

Steps to reproduce

  1. I first run the roslaunch kinova_bringup kinova_robot.launch to make connection with the robot, and everything looks fine:
    
    PARAMETERS
    * /j2n6s300_driver/connection_type: USB
    * /j2n6s300_driver/ethernet/local_broadcast_port: 25025
    * /j2n6s300_driver/ethernet/local_cmd_port: 25000
    * /j2n6s300_driver/ethernet/local_machine_IP: 192.168.100.100
    * /j2n6s300_driver/ethernet/subnet_mask: 255.255.255.0
    * /j2n6s300_driver/jointSpeedLimitParameter1: 10
    * /j2n6s300_driver/jointSpeedLimitParameter2: 20
    * /j2n6s300_driver/robot_name: j2n6s300
    * /j2n6s300_driver/robot_type: j2n6s300
    * /j2n6s300_driver/serial_number: not_set
    * /j2n6s300_driver/status_interval_seconds: 0.1
    * /j2n6s300_driver/torque_parameters/publish_torque_with_gravity_compensation: False
    * /j2n6s300_driver/torque_parameters/use_estimated_COM_parameters: False
    * /j2n6s300_driver/use_jaco_v1_fingers: False
    * /robot_description: <?xml version="1....
    * /rosdistro: noetic
    * /rosversion: 1.16.0

NODES / j2n6s300_driver (kinova_driver/kinova_arm_driver) j2n6s300_state_publisher (robot_state_publisher/robot_state_publisher)

auto-starting new master process[master]: started with pid [116717] ROS_MASTER_URI=http://localhost:11311

setting /run_id to 48712088-c222-11ee-a68b-1f6a56f1e13b process[rosout-1]: started with pid [116728] started core service [/rosout] process[j2n6s300_driver-2]: started with pid [116731] process[j2n6s300_state_publisher-3]: started with pid [116732] [ INFO] [1706916301.890937056]: kinova_robotType is j2n6s300. [ INFO] [1706916301.892297183]: kinova_robotName is j2n6s300. [ INFO] [1706916301.930451114]: Initializing Kinova USB API (header version: 50300, library version: 5.2.0) [ INFO] [1706916307.092342637]: Found 1 device(s), using device at index 0 (model: ???? , serial number: 000000000000 , code version: 393736, code revision: 0) [ INFO] [1706916307.164319807]: Initializing fingers...this will take a few seconds and the fingers should open completely [ INFO] [1706916319.101602544]: The arm is ready to use. j2n6s300_joint_1 j2n6s300_joint_2 j2n6s300_joint_3 j2n6s300_joint_4 j2n6s300_joint_5 j2n6s300_joint_6

2. Then I run the gravity_compensated_mode.py and the robot succeeds to move the candle-like pose, but it stay stiffs after getting "Starting gravity compensation mode" util the processes ends. I can not manually moved the robot but no errors occurred so I did not know what was going wrong.

[ WARN] [1706916825.409749095]: void kinova::KinovaAnglesActionServer::actionCallback(const ArmJointAnglesGoalConstPtr&): LINE 163, Trajectory command failed [ WARN] [1706916828.574147905]: Torques for all joints set to zero [ INFO] [1706916839.863505659]: Setting torque safety factor to 1.000000 [ INFO] [1706916839.873394469]: Switching to torque control [ INFO] [1706916939.886861918]: Switching to position control

rosrun kinova_demo gravity_compensated_mode.py j2n6s300 Moving robot to candle like position, and setting zero torques, press return to start, n to skip Setting torques to zero, press return torque before setting zero Torque - 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 torque after setting zero Torque - 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 Starting gravity compensation mode max error 0.0 0.0 0.0 0.0 0.0 0.0 0.0 Done!


3. Then I run and get:

rosservice call /j2n6s300_driver/in/start_force_control start_result: "Start force control requested."



but still fail to move the robot by hand.

4. And when I use rosservice for torque control:
rosservice call /j2n6s300_driver/in/set_torque_controparameters 
result: ''

rosservice call /j2n6s300_driver/in/set_torque_control_mode 1

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: 10.0}"

Nothing happened.

## Any other information

Could you please kindly offer help in this problem? The robot is in a vertical position.

By the way, where can I download the SDK for JCAO2 on Ubuntu 20.04? so that I could use the Development Center for torque control.