Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 1516

failed to fetch current robot state

$
0
0
Dear all, I want to use MoveIt to make Baxter follow a trajectory in cartesian space (first on simulation and then on the real robot). Unfortunately I am facing an issue when trying to get the robot's current joints state and have no clue on how to fix it (I have already tried the remapping from="joint_states" to="robot/joint_states as suggested in many posts). Here is the procedure I'm following: -Launch Baxter in Gazebo as usual. roslaunch baxter_gazebo baxter_world.launch -Launch the joint trajectory action server and baxter_moveit. This I do all together in a launch file as follows: -Then launch the following very simple node just to test that it's working fine: #!/usr/bin/env python import sys import copy import rospy import moveit_commander import moveit_msgs.msg import geometry_msgs.msg from math import pi from std_msgs.msg import String from moveit_commander.conversions import pose_to_list class Simple_test(object): def __init__(self): rospy.init_node('simple_node', anonymous=True) moveit_commander.roscpp_initialize(sys.argv) robot = moveit_commander.RobotCommander() scene = moveit_commander.PlanningSceneInterface() left_group = moveit_commander.MoveGroupCommander('left_arm') planning_frame = left_group.get_planning_frame() print "============ Reference frame: %s" % planning_frame eef_link = left_group.get_end_effector_link() print "============ End effector: %s" % eef_link group_names = robot.get_group_names() print "============ Robot Groups:", robot.get_group_names() print "============ Printing robot state" print robot.get_current_state() print "" print "============ Current values:" current_state = left_group.get_current_joint_values() print current_state def main(): print ("Creating Simple_Test") example = Simple_test() if __name__ == '__main__': try: main() except rospy.ROSInterruptException: pass It works fine until it reaches the "Printing robot state" part, where it shows 0.0 position for every joint (when that's not the real position of the joints) and then in the "current values" part it displays the error "Failed to fetch current robot state". As follows: ============ Printing robot state [ WARN] [1535990091.503402457, 271.621000000]: Joint values for monitored state are requested but the full state is not known joint_state: header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: "/world" name: [head_pan, left_s0, left_s1, left_e0, left_e1, left_w0, left_w1, left_w2, l_gripper_l_finger_joint, l_gripper_r_finger_joint, right_s0, right_s1, right_e0, right_e1, right_w0, right_w1, right_w2, r_gripper_l_finger_joint, r_gripper_r_finger_joint] position: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] velocity: [] effort: [] multi_dof_joint_state: header: seq: 0 stamp: secs: 0 nsecs: 0 frame_id: "/world" joint_names: [] transforms: [] twist: [] wrench: [] attached_collision_objects: [] is_diff: False ============ Current values: [ INFO] [1535990092.513833652, 272.248000000]: Didn't received robot state (joint angles) with recent timestamp within 1 seconds. Check clock synchronization if your are running ROS across multiple machines! [ERROR] [1535990092.513963976, 272.248000000]: Failed to fetch current robot state [] I have also tried doing the remapping via command line instead of doing it in the launch file as follows: rostopic echo /robot/joint_states | rostopic pub /joint_states sensor_msgs/JointState In this case the positions displayed when doing get_current_state() are not 0.0 and actually correspond to the real positions but the "Failed to fetch current robot state" is still the same. I am using ROS Kinetic on Ubuntu 16.04. Any ideas on how to fix this? Any help will be very much appreciated, of course do not hesitate asking for more details if needed. I have been facing this issue for weeks and can't find a solution. Thanks Ignacio

Viewing all articles
Browse latest Browse all 1516

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>