osrf / subt

This repostory contains software for the virtual track of the DARPA SubT Challenge. Within this repository you will find Gazebo simulation assets, ROS interfaces, support scripts and plugins, and documentation needed to compete in the SubT Virtual Challenge.
Other
305 stars 98 forks source link

Physics issues with Ignition simulation #90

Closed osrf-migration closed 5 years ago

osrf-migration commented 5 years ago

Original report (archived issue) by Jon Fink (Bitbucket: jonfink-arl).

The original report had attachments: X1behavior.mp4


Driving the X1 robot through the practice tunnel environment (launched via ign launch -v 4 competition.ign robotName1:=X1 robotConfig1:=X1_SENSOR_CONFIG_1, it seems that some of the friction properties for the tunnel may be incorrect after migrating to Ignition with DART (I believe) as the default physics engine.

I can drive around the staging area just fine. Proceeding into the tunnel things seem ok until I start going down the first decline. At this point the robot goes very fast (no matter what velocity input). After eventually coming to a stop, I notice that I cannot turn the robot.

It seems like the friction settings for the tunnel surface are much to low

osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


osrf-migration commented 5 years ago

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


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

osrf-migration commented 5 years ago

Original comment by Ethan Stump (Bitbucket: estump-arl).


This issue also manifests itself in the X1 being unable to turn-in-place. Again, I think it’s an issue of the friction being too low since the platform is unable to generate the traction it needs to create a moment.

There will be a sweet spot where the X1 is able to actually turn in place – too low and you just slip, too high and your motor torque cannot overcome the conflicting friction in order to turn (skid-steer vehicles are incredibly inefficient in turning).

osrf-migration commented 5 years ago

Original comment by Sarah Kitchen (Bitbucket: snkitche).


I also noticed this friction issue when teleoperating the X2 in the virtual_stix tunnel. It was very slow to start moving and gain momentum, and when I let go of the controls, the robot continued to slide forward. This happened both on the platform and in the tunnel.

We are also having problems turning the UGVs in place - X1 will turn, but it is exceptionally slow.

osrf-migration commented 5 years ago

Original comment by Ethan Stump (Bitbucket: estump-arl).


The sliding issue is likely more because the system caches the last joystick command – we’ve found that if you just hit the deadman switch again, it will stop. This might be from the twist_teleop node…

It’s almost kind of better this way because the joystick drivers only publish a Joy message when the button/stick changes. If you’re holding it steady, then the system cannot differentiate (in a stateless way) between that and you holding nothing down.

osrf-migration commented 5 years ago

Original comment by Sarah Kitchen (Bitbucket: snkitche).


Thanks, that is good to know.

osrf-migration commented 5 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters).


I've started by testing X1 Config 1 and all it's wheels have a friction coefficient of 0.1, which is a mistake.

osrf-migration commented 5 years ago

Original comment by Steve Peters (Bitbucket: Steven Peters).


Setting the front wheel friction value to 1.0 and leaving the rear value at 0.1 improves things significantly. I'll see if Nate Koenig (Nathan Koenig) and Ian Chen (Ian Chen) can work on updating these model parameters, while I look into whether further improvements are possible.

osrf-migration commented 5 years ago

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


The X1 and X2 vehicles have been updated with new friction properties. The easiest way to get the new models is to rebuild your docker image, or delete your ~/.ignition/fuel directory.

osrf-migration commented 5 years ago

Original comment by Sarah Kitchen (Bitbucket: snkitche).


There are still physics issues since this most recent update - rotational friction is an issue. See the attached video from about 45 sec to about 1:20. I have let go of all controls. From about 1:20 on I am trying to rotate the X1 to face downramp again, but am unable to do so.

X1 exhibits weird behavior with the logitech controller deadman switch as well - when I let go of the joystick and hit the deadman switch as suggested by Ethan, the X1 jerks to the right (or left, but less often). This is visible in the first 45 sec of the video. It’s very difficult to rotate the X1 with the controller right now.

osrf-migration commented 5 years ago

Original comment by Derek Knowles (Bitbucket: dknowles-ssci).


The X1 vehicle still seems to have strange behavior. Like Sarah Kitchen (snkitche) , I’ve noticed that commanding zero velocity while the vehicle is moving causes it to spin in a circle.

osrf-migration commented 5 years ago

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


We are updating the friction properties in DART. Our current estimate is to have something ready by Friday.

osrf-migration commented 5 years ago

Original comment by Hector Escobar (Bitbucket: hector_escobar).


I tested X2 and has similar behavior as X1, it is hard to control it with the Logitech and the friction seems off as well. Any improvement done on this?

osrf-migration commented 5 years ago

Original comment by Jon Fink (Bitbucket: jonfink-arl).


Nate Koenig (Nathan Koenig) I just noticed that in your comment from last week (above) about friction properties, you mention DART. I did think that DART was going to be the default physics engine for Ignition Gazebo but noticed yesterday that all of the world files explicitly reference ODE - is this expected?

osrf-migration commented 5 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).


Friction for the UGVs has been improved. If you are using a docker container install, then use this new Docker image:

          `https://cloud.docker.com/repository/registry-1.docker.io/nkoenig/subt-virtual-testbed`

If you are using a catkin workspace installation, then run the commands below to update it.

sudo apt update && sudo apt upgrade -y
sudo reboot

cd ~/subt_ws/src/tunnel_circuithg
pull && hg update tunnel_circuit

source /opt/ros/melodic/setup.bash

rm -rfv ~/.ignition/fuel/fuel.ignitionrobotics.org/openrobotics/models/*

cd ~/subt_ws/
catkin_make install
. ~/subt_ws/install/setup.bash
ign launch -v 4 competition.ign robotName1:=X1 robotConfig1:=X1_SENSOR_CONFIG_2

# Open another terminal and run these commands:
. /opt/ros/melodic/setup.bash
. ~/subt_ws/install/setup.bash

roslaunch subt_example teleop.launch
osrf-migration commented 5 years ago

Original comment by Arthur Schang (Bitbucket: Arthur Schang).


With this update the X1 platform is much more responsive for the tunnel_circuit worlds.

osrf-migration commented 5 years ago

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


Marking this as resolved, based on the feedback. Please re-open if the issue persists.

osrf-migration commented 4 years ago

Original comment by Alfredo Bencomo (Bitbucket: bencomo).