Simulatsioonitarkvara: Difference between revisions

From Intelligent Materials and Systems Lab

No edit summary
Line 2: Line 2:
Tarkvara versioon: <span style="color:#009000"> 1.10.3 </span>
Tarkvara versioon: <span style="color:#009000"> 1.10.3 </span>


Hea:
'''Hea''':
* Küllaltki täpne tasakaalu simulatsioon.
* Küllaltki täpne tasakaalu simulatsioon.
* Kaamera
* Kaamera


Halb:
'''Halb''':
* Ei arvestata liigeste jäikust ning mootorite mehaanilist võimekust.
* Ei arvestata liigeste jäikust ning mootorite mehaanilist võimekust.
* Ei simuleeri sonareid
* Ei simuleeri sonareid
Line 14: Line 14:
Paigaldusjuhend: http://www.cyberbotics.com/nao/
Paigaldusjuhend: http://www.cyberbotics.com/nao/


Hea:
'''Hea''':
* Kaamera
* Kaamera
* Sonarid
* Sonarid
Line 20: Line 20:
* Puutesensorid
* Puutesensorid


Halb:
'''Halb''':
* Tasakaalumoodul NaoQi versioon 1.10.10 sisuliselt ei tööta. Tegevused, mis NAOSim ja reaalse NAO puhul töötavad viivad siin kukkumiseni (Tai-chi demoplokk Choregraphes). Pärast kukkumist püstitõusmise käivitamine teeb kõhuli asendist liigutusi, mida peaks tegema selili asendist ja vastupidi (üleval ja all on vahetuses).  
* Tasakaalumoodul NaoQi versioon 1.10.10 sisuliselt ei tööta. Tegevused, mis NAOSim ja reaalse NAO puhul töötavad viivad siin kukkumiseni (Tai-chi demoplokk Choregraphes). Pärast kukkumist püstitõusmise käivitamine teeb kõhuli asendist liigutusi, mida peaks tegema selili asendist ja vastupidi (üleval ja all on vahetuses).  


Viimase probleemi tõttu hetkel kasutuskõlbmatu.
Viimase probleemi tõttu out-of-the-box kasutuskõlbmatu.


Mõõdetud akseleromeetrite väljund NAO seisvas püstises asendis kinnitab, et Webots simuleerib kiirendust vastassuunaliselt:
Mõõdetud akseleromeetrite väljund NAO seisvas püstises asendis kinnitab, et Webots simuleerib kiirendust vastassuunaliselt:


<pre>
<pre>
Webots
Webots (tagastab väärtused m/s2)


AccX 0.753286540508
AccX 0.753286540508
Line 40: Line 40:
AccZ -55.8523826599
AccZ -55.8523826599
</pre>
</pre>
Fix:
naoproxy.cpp failis ridadel:
<pre>
// Webots returns values in m/s^2
const double *acc = wb_accelerometer_get_values(accelerometer);
accelerometerValues.clear();
accelerometerValues.push_back((float)acc[0]);
accelerometerValues.push_back((float)acc[1]);
accelerometerValues.push_back((float)acc[2]);
if (! naoqiSimulated->updateAccelerometers(accelerometerValues))
cerr << "ALNaoSimulationInterface::updateAccelerometers() failed.\n";
//__________
// Inertial values (computed from accelerometer values)
//
inertialValues.clear();
inertialValues.push_back((float)(-PI_2 + acos(acc[1]/GRAVITY)));
inertialValues.push_back((float)(PI_2 - acos(acc[0]/GRAVITY)));
if (! naoqiSimulated->updateInertialValues(inertialValues))
cerr << "ALNaoSimulationInterface::updateInertialValues() failed.\n";
</pre>
acc[?] muuta negatiivseks (-acc[?]). Käivitada Build.
Ühtlasi tuli katsetest välja, et püstitõusmise moodul kasutab inertialValues, mitte otse akseleromeetri andmeid.

Revision as of 17:48, 24 April 2011

NAOSim

Tarkvara versioon: 1.10.3

Hea:

  • Küllaltki täpne tasakaalu simulatsioon.
  • Kaamera

Halb:

  • Ei arvestata liigeste jäikust ning mootorite mehaanilist võimekust.
  • Ei simuleeri sonareid

Webbots

Tarkvara versioon: PRO 6.3.4 Paigaldusjuhend: http://www.cyberbotics.com/nao/

Hea:

  • Kaamera
  • Sonarid
  • Arvestatakse mootorite võimekusega
  • Puutesensorid

Halb:

  • Tasakaalumoodul NaoQi versioon 1.10.10 sisuliselt ei tööta. Tegevused, mis NAOSim ja reaalse NAO puhul töötavad viivad siin kukkumiseni (Tai-chi demoplokk Choregraphes). Pärast kukkumist püstitõusmise käivitamine teeb kõhuli asendist liigutusi, mida peaks tegema selili asendist ja vastupidi (üleval ja all on vahetuses).

Viimase probleemi tõttu out-of-the-box kasutuskõlbmatu.

Mõõdetud akseleromeetrite väljund NAO seisvas püstises asendis kinnitab, et Webots simuleerib kiirendust vastassuunaliselt:

Webots (tagastab väärtused m/s2)

AccX 0.753286540508
AccY -0.0355014316738
AccZ 9.86777114868

NAOSim:

AccX -4.06194591522
AccY 0.113250367343
AccZ -55.8523826599

Fix:

naoproxy.cpp failis ridadel:

// Webots returns values in m/s^2
const double *acc = wb_accelerometer_get_values(accelerometer);
accelerometerValues.clear();
accelerometerValues.push_back((float)acc[0]);
accelerometerValues.push_back((float)acc[1]);
accelerometerValues.push_back((float)acc[2]);
if (! naoqiSimulated->updateAccelerometers(accelerometerValues))
cerr << "ALNaoSimulationInterface::updateAccelerometers() failed.\n";

//__________
// Inertial values (computed from accelerometer values)
//
inertialValues.clear();
inertialValues.push_back((float)(-PI_2 + acos(acc[1]/GRAVITY)));
inertialValues.push_back((float)(PI_2 - acos(acc[0]/GRAVITY)));
if (! naoqiSimulated->updateInertialValues(inertialValues))
cerr << "ALNaoSimulationInterface::updateInertialValues() failed.\n";

acc[?] muuta negatiivseks (-acc[?]). Käivitada Build. Ühtlasi tuli katsetest välja, et püstitõusmise moodul kasutab inertialValues, mitte otse akseleromeetri andmeid.