Revision: 7163
http://playerstage.svn.sourceforge.net/playerstage/?rev=7163&view=rev
Author: natepak
Date: 2008-11-21 02:31:05 +0000 (Fri, 21 Nov 2008)
Log Message:
-----------
Updated the bandit & generic_actarray controllers to stop oscillations
Modified Paths:
--------------
code/gazebo/trunk/examples/libgazebo/bandit/bandit.cc
code/gazebo/trunk/server/controllers/actarray/bandit/Bandit_Actarray.cc
code/gazebo/trunk/server/controllers/actarray/generic/Generic_Actarray.cc
code/gazebo/trunk/server/controllers/ptz/generic/Generic_PTZ.cc
code/gazebo/trunk/worlds/models/sonyvid30.model
Modified: code/gazebo/trunk/examples/libgazebo/bandit/bandit.cc
===================================================================
--- code/gazebo/trunk/examples/libgazebo/bandit/bandit.cc 2008-11-21
01:34:37 UTC (rev 7162)
+++ code/gazebo/trunk/examples/libgazebo/bandit/bandit.cc 2008-11-21
02:31:05 UTC (rev 7163)
@@ -56,7 +56,7 @@
printf("Shoulder2[%f]\n",
RTOD(actarrayIface->data->actuators[R_SHOULDER2].position));
- actarrayIface->data->cmd_pos[R_SHOULDER2] = DTOR(80);
+ actarrayIface->data->cmd_pos[R_SHOULDER2] = DTOR(79);
actarrayIface->data->cmd_pos[R_ELBOW] = DTOR(90);
usleep(1000000);
actarrayIface->data->cmd_pos[R_ELBOW2] = DTOR(100);
@@ -84,6 +84,7 @@
actarrayIface->Unlock();
}*/
+
return 0;
}
Modified:
code/gazebo/trunk/server/controllers/actarray/bandit/Bandit_Actarray.cc
===================================================================
--- code/gazebo/trunk/server/controllers/actarray/bandit/Bandit_Actarray.cc
2008-11-21 01:34:37 UTC (rev 7162)
+++ code/gazebo/trunk/server/controllers/actarray/bandit/Bandit_Actarray.cc
2008-11-21 02:31:05 UTC (rev 7163)
@@ -151,11 +151,12 @@
angle = cmdAngle - joint->GetAngle();
if (fabs(angle) > 0.01)
- {
joint->SetParam( dParamVel, **(this->gainsP[i]) * angle);
- joint->SetParam( dParamFMax, **(this->forcesP[i]) );
- }
+ else
+ joint->SetParam(dParamVel, 0);
+ joint->SetParam( dParamFMax, **(this->forcesP[i]) );
+
}
else if (this->myIface->data->joint_mode[i] ==
GAZEBO_ACTARRAY_JOINT_SPEED_MODE)
{
Modified:
code/gazebo/trunk/server/controllers/actarray/generic/Generic_Actarray.cc
===================================================================
--- code/gazebo/trunk/server/controllers/actarray/generic/Generic_Actarray.cc
2008-11-21 01:34:37 UTC (rev 7162)
+++ code/gazebo/trunk/server/controllers/actarray/generic/Generic_Actarray.cc
2008-11-21 02:31:05 UTC (rev 7163)
@@ -153,11 +153,12 @@
delta_position = target_position - actual_position;
if (fabs(delta_position) > tolerances[i])
- {
joint->SetParam( dParamVel, this->gains[i] * delta_position);
- joint->SetParam( dParamFMax, this->forces[i] );
- }
+ else
+ joint->SetParam( dParamVel, 0);
+ joint->SetParam( dParamFMax, this->forces[i] );
+
this->myIface->data->actuators[i].position = actual_position;
this->myIface->data->actuators[i].speed = actual_speed;
}
Modified: code/gazebo/trunk/server/controllers/ptz/generic/Generic_PTZ.cc
===================================================================
--- code/gazebo/trunk/server/controllers/ptz/generic/Generic_PTZ.cc
2008-11-21 01:34:37 UTC (rev 7162)
+++ code/gazebo/trunk/server/controllers/ptz/generic/Generic_PTZ.cc
2008-11-21 02:31:05 UTC (rev 7163)
@@ -166,10 +166,18 @@
float tilt = this->cmdTilt - this->tiltJoint->GetAngle();
float pan = this->cmdPan - this->panJoint->GetAngle();
- this->tiltJoint->SetParam( dParamVel, **(this->motionGainP) * tilt);
+ if (fabs(tilt) > 0.01)
+ this->tiltJoint->SetParam( dParamVel, **(this->motionGainP) * tilt);
+ else
+ this->tiltJoint->SetParam( dParamVel, 0);
+
this->tiltJoint->SetParam( dParamFMax, **(this->forceP) );
- this->panJoint->SetParam( dParamVel, **(this->motionGainP) * pan);
+ if (fabs(pan) > 0.01)
+ this->panJoint->SetParam( dParamVel, **(this->motionGainP) * pan);
+ else
+ this->panJoint->SetParam( dParamVel, 0);
+
this->panJoint->SetParam( dParamFMax, **(this->forceP) );
this->PutPTZData();
Modified: code/gazebo/trunk/worlds/models/sonyvid30.model
===================================================================
--- code/gazebo/trunk/worlds/models/sonyvid30.model 2008-11-21 01:34:37 UTC
(rev 7162)
+++ code/gazebo/trunk/worlds/models/sonyvid30.model 2008-11-21 02:31:05 UTC
(rev 7163)
@@ -124,6 +124,9 @@
<controller:generic_ptz name="sonyvid30_controller">
<panJoint>pan_joint</panJoint>
<tiltJoint>tilt_joint</tiltJoint>
+
+ <motionGain>1</motionGain>
+ <force>0.01</force>
<interface:ptz name="ptz_iface_1"/>
</controller:generic_ptz>
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Playerstage-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-commit