Why does JointStateController publish NONE message?
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
Hey, I'm facing the same issue. Were you able to solve it?
Yes, its better you subscribe to arm_controller/state topic which also publishes the same joint angles. That solved my problem. Also, make sure that you use a publish rate of around 100 - 200 Hz otherwise it will slow down your code significantly.