osrf / drcsim

Repository for the DRC project.
16 stars 6 forks source link

Publishing on atlas_sim_interface_state from bag file causes issues with simulated robot #472

Open osrf-migration opened 9 years ago

osrf-migration commented 9 years ago

Original report (archived issue) by David Conner (Bitbucket: dcconner).

The original report had attachments: 2015-01-09-16-56-42.bag.gz, 2015-01-09-16-56-42_no_state.bag


In trying to debug issue caused by old code that was publishing control_mode="User" once on startup (but didn't cause issues with atlas_v3 - see #471), we ran into issue with replaying bag file.

--- original description ------

Trying to run our interface with new library 4.2.4-1~trusty with BDI 3.0.2

Upon publishing the first message of AtlasSimInterfaceCommand and AtlasCommand, the robot changes to USER mode and falls over.

When I echo the data, the behavior request remains at 3 (STAND), but the current_behavior in AtlastSimInterfaceState changes to 7 (USER)

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Thanks. We are looking into this issue right now.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Issue #471 was marked as a duplicate of this issue.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


I think #471 was an explicit request to change to USER, where as this issue is that something internal to the robot is causing a change to USER.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Thanks. I misread the issue.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


I can duplicate the effect by replaying this bag file after starting up Gazebo. It causes the robot to "jump", then fall over. I notice that the current_behavior seems to oscillate between 0 and 3 or 7 after it falls.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


I'm trying to reproduce the problem, and so far I've been unsuccessful. I'm running:

#!c++

roslaunch drcsim_gazebo atlas.launch model_args:="_v5"

with libAtlasSimInterface 3.0.2.

I'm then using the code in this tutorial to walk in a circle.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Playing your bag file does cause it to fall over. It falls in a way that is suspiciously similar to issue #471.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


My set up works fine with the tutorial, but I can reproduce with the bag file attached above.

There's something going on when I publish the messages that is causing a hiccup, but I don't see anything wrong with the message contents, and since I'm asking to remain in STAND nothing should happen.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Yeah. I agree that something is strange. I'm looking a bit deeper into the code.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


I'm now in a strange state. After switching from drcsim-prerelease to a source compile of drcsim_4.2_prerelease, the bag file works fine.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


There were a couple of replays where it didn't seem to cause an issue, so I'd suggest a couple of tries.

Otherwise, are there differences in compiler options (e.g. DEBUG where something is internally initialized?)

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


Ignore my previous comment. I was in a terminal with incorrect environment.

osrf-migration commented 9 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).


@dcconner I noticed that the bag file you posted has the following topics:

$ rosbag info 2015-01-09-16-56-42.bag 
...
topics:      /atlas/atlas_command                     1 msg     : atlas_msgs/AtlasCommand            
             /atlas/atlas_sim_interface_command       1 msg     : atlas_msgs/AtlasSimInterfaceCommand
             /atlas/atlas_sim_interface_state     12970 msgs    : atlas_msgs/AtlasSimInterfaceState

If I play it back, I do see the jump and fall over behavior.

I'm wondering why the /atlas/atlas_sim_interface_state is included? I tried filtering that topic out of the bag file (see attached 2015-01-09-16-56-42_no_state.bag), and when I play that bag file, it doesn't fall over.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


I logged the state from Gazebo to verify what was going on. The controller interface is not publishing on that topic.

Not sure why publishing the extra topic would impact what Gazebo is doing during bag replay other than by impacting the internal timing due to CPU load.

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


I assume you have some chunk of code that still causes Atlas to fall over, and that chunk of code doesn't publish on the /atlas/atlas_sim_interface_state topic, correct?

Based on the data in the bag file, it would seem that your code is entering User mode.

If those two assumptions are correct, then issue #471 is the correct place to address the User mode causes a fall problem.

We can leave this issue open to address the problem of falling when publishing on /atlas/atlas_sim_interface_state. I would also downgrade the severity of this issue.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


Gah. Apparently I was publishing a control_mode ="User" once on start up. Was this used to switch from demo mode in past, and now is causing a BDI behavior mode change with the new library?

osrf-migration commented 9 years ago

Original comment by Nate Koenig (Bitbucket: Nathan Koenig).


The switch to "User" mode causes a new set of PID controllers to become active. They should keep Atlas standing, but are obviously broken now.

osrf-migration commented 9 years ago

Original comment by David Conner (Bitbucket: dcconner).


Changed title and description to avoid sending people down bunny trail.

osrf-migration commented 9 years ago

Original comment by John Hsu (Bitbucket: hsu, GitHub: hsu).