Why does JointStateController publish NONE message?

asked 2020-01-06 15:51:00 -0600

mkb_10062949 gravatar image

updated 2020-01-06 15:51:50 -0600

Hello, I am facing a serious issue here. I am training a UR5 using reinforcement learning. The joint state controller of the robot which is responsible for publishing the joint angle values of all the joints in the robot sometimes publishes "None" values.

My environment subscribes to this joint state publisher topic i.e. robot2/joint_states for calculating the states etc..Normally during training everything works just fine. But suddenly, sometimes the the topic (mentioned above) publishes NONE due to which no further calculation is possible and the training stops. This is a very issue as there is nothing I can do to solve the problem. My controller.yaml file is

arm_controller:
  type: position_controllers/JointTrajectoryController
  joints:
     - shoulder_pan_joint
     - shoulder_lift_joint
     - elbow_joint
     - wrist_1_joint
     - wrist_2_joint
     - wrist_3_joint
  constraints:
    goal_time: 0.1
    stopped_velocity_tolerance: 0.01
    shoulder_pan_joint: {trajectory: 0.1, goal: 0.1}
    shoulder_lift_joint: {trajectory: 0.1, goal: 0.1}
    elbow_joint: {trajectory: 0.1, goal: 0.1}
    wrist_1_joint: {trajectory: 0.1, goal: 0.1}
    wrist_2_joint: {trajectory: 0.1, goal: 0.1}
    wrist_3_joint: {trajectory: 0.1, goal: 0.1}
  stop_trajectory_duration: 0.1
  state_publish_rate: 500
  action_monitor_rate: 100

joint_group_position_controller:
  type: position_controllers/JointGroupPositionController
  joints:
     - shoulder_pan_joint
     - shoulder_lift_joint
     - elbow_joint
     - wrist_1_joint
     - wrist_2_joint
     - wrist_3_joint

#Gripper controller
gripper_controller:
  type: position_controllers/GripperActionController
  joint: robotiq_85_left_knuckle_joint
  action_monitor_rate: 10
  goal_tolerance: 0.002
  max_effort: 100
  stall_velocity_threshold: 0.001
  stall_timeout: 1.0


joint_state_controller:
  publish_rate: 1000
  type: joint_state_controller/JointStateController

can anyone please help me in understanding what is the problem I am facing here. Why is the Joint State Publiher publishing None values? What can I do to solve this problem?

I am using ROS MELODIC with Ubuntu 18

edit retag flag offensive close merge delete