Simulatsioonitarkvara: Difference between revisions
From Intelligent Materials and Systems Lab
Siimsundla (talk | contribs) |
Siimsundla (talk | contribs) 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 | 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 16: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.