<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hola Mikel,<br>
<br>
el mundo de gazebo es complejo pero lo de comprobar las masas de
las ruedas ya me parece excesivo :)<br>
<br>
El error que comentas creo que me suena (no sé porqué). Si estás
utilizando el introrob que ya había, fíjate en el "controller.cpp",
en la función siguiente:<br>
<font face="Courier New, Courier, monospace"> void
Controller::stopMotors () {<br>
this->mprx->setV (0.0);<br>
this->mprx->setW (0.0);<br>
}</font><br>
<br>
A esta función es a la que llamas cuando pulsas en el botón
"Stop". Trata de poner trazas a continuación y verifica que la
velocidad lineal y rotacional vale un 0 como la copa de un pino.<br>
<br>
Esta prueba te debería salir como comento. Pero por probar.<br>
<br>
Sinceramente, yo creo que el error es a más alto nivel. Ocurre que
para que la velocidad rotacional sea X, la rueda loca del Pioneer
gira. El hecho de que tú pares ambas velocidades no implica que esa
rueda vuelva a su sitio, de hecho no ocurre así. La solución inicial
(también conocida como ñapa) es tener dos botones; uno para parar la
velocidad rotacional, y acto seguido, cuando la rueda loca esté en
su sitio, empleamos el otro para parar la velocidad lineal.<br>
La opción ideal, y si la lógica no falla, sería hacer lo
siguiente: prueba a cambiar el orden de las instrucciones que te
indico arriba, para que primero se ponga la velocidad rotacional a 0
y después la lineal.<br>
<br>
A ver si damos con el clavo. Saludos,<br>
<br>
Julio<br>
<br>
On 12-02-14 09:29 PM, Mikel Gonzalez Baile wrote:
<blockquote
cite="mid:CAOff0X7BF-CtFSsrKswtbgdXY6t86uAbzdWZ83f8+Yd2jVBV8g@mail.gmail.com"
type="cite">He seguido realizando pruebas y creo que puedo acotar
un poco más el problema.
<div><br>
</div>
<div>El problema no es que tarde en responder en girar en sentido
contrario, al menos con velocidades de rotación comprendidas
entre +-20 deg/s (aprovecho para preguntar que velocidad de giro
se aproximaría a la realidad) ya que más o menos creo que el
comportamiento es bastante real con el torque a 0.8, que es su
valor actual. El problema es el siguiente:</div>
<div><br>
</div>
<div>1) Lanzo gazebo e introrob y le doy una velocidad lineal de
+2000mm/s (por ejemplo), ningún problema.</div>
<div>2) Paro el robot por completo (o no) y le doy una velocidad
lineal de -2000mm/s (por ejemplo), ningún problema de vuelcos ni
nada.</div>
<div>3) Paro de nuevo el robot por completo, le doy una velocidad
rotacional de +20 deg/s (por ejemplo) y cuando gira 180º le paro
por completo, ningún problema.</div>
<div>4) El problema viene aquí, el robot parado completamente, le
vuelvo a dar una velocidad lineal de +2000mm/s y durante la
aceleración tiende a desviarse hacia su derecha (unas veces más
que otras, pero de una forma considerable siempre).</div>
<div><br>
</div>
<div>Por eso digo que es como si "persistiera" ese giro previo
aunque hayas parado el robot por completo, ya que si no se
realiza dicho giro, el robot no se desvía.</div>
<div><br>
</div>
<div>Estoy probando a modificar los valores de las masas de las
ruedas e intentando comprender el resto de la configuración,
aunque aún no he conseguido un buen resultado, seguiré probando.</div>
<div><br>
</div>
<div>Un saludo!</div>
<div><br>
</div>
<div>Maikel.</div>
<div><br>
<div class="gmail_quote">El 14 de febrero de 2012 09:49,
JoseMaria <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:josemaria.plaza@gmail.com">josemaria.plaza@gmail.com</a>></span>
escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">Uhm... suena a que la acelaración en el
giro (torque) es pequeña y por<br>
eso tarda en dejar de girar en el sentido que lleva, tiene
inercia.<br>
Quizá se pueda mirar esa aceleración del robot pioneer en
gazebo, tanto<br>
para girar como para traccionar, y probar con otros valores,
y/o<br>
cambiando las masas por defecto de sus partes. Rebuscando en
los<br>
ficheros de configuración se puede cambiar. Por ejemplo en<br>
models/pioneer2dx.model tienes el parámetro Torque (fuerza
de los<br>
motores) y el parámetro mass para cada uno de las partes de
ese robot<br>
simulado. Tal vez puedas probar por ahí.<br>
<br>
¿Qué velocidades de giro le estas ordenando? Para las
velocidades de<br>
tracción 400mm/s diría que es normal-lento, moverse a unos
800-1000 mm/s<br>
es más realista, y a unos 2000mm/s una chulada de rápido.<br>
<br>
¿Has rebuscado en la lista de correo de gazebo mensajes que
te puedan<br>
ayudar?<br>
<br>
JoseMaria<br>
On Mon, 2012-02-13 at 19:00 +0100, Mikel Gonzalez Baile
wrote:<br>
> Hola gente,<br>
<div>
<div class="h5">><br>
><br>
><br>
><br>
><br>
> durante las pruebas del nuevo introrob estoy
comprobando que hay<br>
> algunos problemas de inercia en gazebo con el robot
pioneer. El<br>
> problema que encuentro es un tanto extraño, por lo
que voy a intentar<br>
> detallarlo lo mejor posible para ver si me podéis
dar alguna pista<br>
> sobre qué modificar y dónde para tratar de
arreglarlo (o en el peor<br>
> caso mejorarlo):<br>
><br>
><br>
> Por un lado, si inicio gazebo y comando al robot
una velocidad lineal<br>
> no hay problema ninguno, ya sea un valor grande o
pequeño (entre<br>
> 0-400, por ejemplo). Asimismo, si le meto otra
velocidad lineal pero<br>
> en sentido contrario, tampoco hay problema (ni
vuelcos ni nada).<br>
><br>
><br>
> El problema viene cuando le comandas una velocidad
rotacional, que el<br>
> robot comienza a girar, luego le pones a 0 (robot
parado<br>
> completamente) y le das una velocidad lineal
(superior a 200, más o<br>
> menos), ya que durante la aceleración (hasta que
consigue la<br>
> velocidad) el robot se desvía sin un patrón muy
claro. Es como si la<br>
> fuerza del giro previo "persistiera" y esto
repercute en su normal<br>
> comportamiento a posteriori.<br>
><br>
><br>
> Espero haberme explicado y que me podáis guiar un
poco para luego yo<br>
> tratar de arreglarlo.<br>
><br>
><br>
> Un saludo y gracias.<br>
><br>
><br>
> Mikel.<br>
</div>
</div>
> _______________________________________________<br>
> Jde-developers mailing list<br>
> <a moz-do-not-send="true"
href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a><br>
> <a moz-do-not-send="true"
href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers"
target="_blank">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a><br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
<a moz-do-not-send="true" href="http://gsyc.es/jmplaza"
target="_blank">http://gsyc.es/jmplaza</a><br>
Universidad Rey Juan Carlos<br>
<br>
<br>
</font></span></blockquote>
</div>
<br>
</div>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Jde-developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Jde-developers@gsyc.es">Jde-developers@gsyc.es</a>
<a class="moz-txt-link-freetext" href="http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers">http://gsyc.escet.urjc.es/cgi-bin/mailman/listinfo/jde-developers</a>
</pre>
</blockquote>
</body>
</html>