-
Notifications
You must be signed in to change notification settings - Fork 73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Controller Tuning for Manipulators Using ft_sensor plugin #167
Comments
Commands corresponding to each joint do not reflect what is echoed in the I thought it could be a sampling issue with rqt_plot, but echoing Currently, I do not think this is a controller tuning issue. Leading theories are:
|
I changed the joint limits and home pose for the Oberon7 based on detected collisions in the MoveIt setup assistant.No changes to behavior were observed. Inertia values were also changed a la https://answers.gazebosim.org//question/18895/the-data-are-noisy-when-using-libgazebo_ros_ft_sensorso/ . Values were increased and decreased by an order of magnitude in an attempt to evoke a visibile response, but there were no obvious differences. |
I think I'm able to reproduce it. It only happens when the joystick is attached and used, right? May be related to an existing upstream issue gazebosim/gazebo-classic#2477 Additional comments link to these posts One difference is that If it's an upstream issue, I don't know how easy it is to fix. It might be that it hasn't been fixed because it's difficult, or because no one internally has needed it. In the latter case, this can be a good enough reason to fix it. How important are the spikes? Are you relying on them for feedback control? |
I opened the gazebo_ros_ft_sensor_demo.world from Since that demo world is strictly a passive model with no feedback control, I suspect it is not related to gazebosim/gazebo-classic#2477, but it does raise the point that it's important for the physics to be properly tuned. I will test further with the |
I've recorded screen captures of gazebo_ros_ft_sensor_demo.world showing the reduction in force-torque noise when using the I will try using this solver parameter with the underwater manipulator world to see if it improves that scenario as well. |
One thing to watch out for with the world-step solver is an excessive number of console error messages that include the phrase |
I just loaded this again, and I noticed some console errors during I've also tried using the world-step solver, and it seems to work as well:
|
no sooner did I type this than I started seeing them the next time I launched the simulation. I am still investigating |
Side note: |
it was on my host machine setup. I was having too much trouble with |
That makes sense. I think it should be resolved now for new host installations. |
I've merged a pull request in gazebo that makes it possible to plot joint velocities for models that use |
Hi guys, Not sure if this got fixed on the overall. For static bodies, I found that Is there a PR or some fix for this since you last observed this, @scpeters @mabelzhang? |
I believe we found changing to the world solver, as in #236, was sufficient? |
To run:
roslaunch dave_demo_launch dave_manipulator_spring_demo.launch
roslaunch dave_demo_launch dave_manipulator_spring_plot.launch
In the below example, the plotting function is showing the shoulder joint.
Observed Issue:
Oberon7 arm with ft_sensor shows what appears to be noise when plotting joint torques during manipulator operation.
Without Joint Controller
By removing the joint controller, we see that the ft_sensor generates less "noisy" data and responds reasonably to contact with the environment. However, there are edge cases.
By moving the rexrov up and down we see the arm's shoulder torque changing in correspondence. As well, there is some high frequency oscillation that only occurs when the ROV is not moving. The working theory is that it is caused by the arm bouncing off of the ROV body as there is no controller force to hold it up.
Controller Tuning
We find PID values related to the control of the oberon7 in two locations:
oberon7_control/launch/joint_control.launch
andoberon7_control/launch/joint_effort_controllers.launch
Tuning attempts are ongoing. Initial iterations are based on changing PID values for each joint until oscillations discipate, then moving on to the next joint.
The text was updated successfully, but these errors were encountered: