Robot not accepting commands even though it is enabled


mdalal

Recommended Posts

I have a new sawyer that I am trying to run stuff on. For some reason, it doesn't seem to be accepting any commands at all, I am not sure what is going on. When I check the status, everything looks correct, but there is a ready field that says false. I can't find the ready field on any of the documentation, so what does it mean and how do I set it to true? Please help! Thanks!

Here is the robot status:

ready: False
enabled: True
stopped: False
error: False
lowVoltage: False
estop_button: 0
estop_source: 0
 

Link to comment
Share on other sites

Having the same issue here actually, the robot is enabled and ready in our robot status but won't accept any movement commands from the example scripts. We can directly access a stream from the camera but all movement scripts seem to be non-functional to us currently. 

Link to comment
Share on other sites

Hi mdalal and chadfrench7,

The symptoms you are describing usually point to ROS communication variables not being set up correctly. Your workstation can see the robot, but the robot cannot properly "see" your workstation. Please follow the Networking Wiki tutorial: http://sdk.rethinkrobotics.com/intera/Networking and report back if you have any additional communication issues. Be sure your intera.sh file has the proper "robot_hostname" variable filled in with your robot's hostname and ".local" if you're using the default network configurations.

If you still experience issues, please report back the output of the following commands:

$ env | grep ROS # tells us your ROS environment
...
$ sudo ufw disable # disables firewall, required for ROS
...
$ ping robot_hostname_here # tells us if your DNS server is functioning
...
$ ping robot_hostname_here.local # determines if your robot is accessible over local subnet
...
$ ping workstation.ip.address.here # determines if your computer can receive pings on its IP address
...
$ ping robot.ip.address.here # determines if your robot is accessible via IP address
...
$ rosnode list -a # determines how your robot identifies itself over ROS
...
$ rostopic echo /rosout -n 1 # is one way communication (robot -> computer) working
...
$ rosrun intera_examples lights_blink.py # is one way communication (computer -> robot) working
Does the head lamp light blink on and off?
...
$ rosrun intera_interface enable_robot.py -e
Does the robot enable? Please report the output here.

hope this helps!

~ Ian

Link to comment
Share on other sites

  • 2 months later...

Hi Ian,

I am finding this issue again, it went away for awhile then it came back and I am not sure why.

ready: False
enabled: True
stopped: False
error: False
lowVoltage: False
estop_button: 0
estop_source: 0

The environment variables are definitely set correctly because sometimes when I reset it comes up with reset=True and things work normally. What is this ready flag? Why is there no documentation regarding where it came from? Can you please explain what it is and how to get it to be set to True? (The robot doesn't respond and the motors are locked whenever we have ready=False) 

For reference, I looked at this, but there is no mention of a ready flag... http://sdk.rethinkrobotics.com/intera/E-STOP_and_Enable_Robot

The only thing I found is this: bool ready               # true if enabled and ready to operate, e.g., not homing

what does it mean to be not homing? How do I set the robot to be not homing?

Link to comment
Share on other sites

  • 2 months later...

Hello Mdalal,

I suggest you set up static IP on your robot FSM since you are using robot hostname in intera.sh I assume.

Also, make sure you are able to get rostopic list and able to get the joint states from the robot before running any example.

Hope this helps.

-Shiwei

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.