From: clement r. <kl...@us...> - 2006-01-18 23:23:10
|
Update of /cvsroot/robotflow/RobotFlow/Behaviors/src/ut In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1456/src/ut Modified Files: AvoidTest.cc Log Message: adjust according going backward behavior modification to AvoidUtil. Index: AvoidTest.cc =================================================================== RCS file: /cvsroot/robotflow/RobotFlow/Behaviors/src/ut/AvoidTest.cc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AvoidTest.cc 18 Jan 2006 22:07:29 -0000 1.1 --- AvoidTest.cc 18 Jan 2006 23:23:01 -0000 1.2 *************** *** 545,549 **** rangeBelt.clear(); rangeBelt.resize(12, 601); ! rangeBelt[3] = 100; m_avoidUtil->createProximityMarginBelt(rangeBelt); CPPUNIT_ASSERT_EQUAL(false, m_avoidUtil->isAvoidanceNeeded(rangeBelt, -600, pos, margin)); --- 545,549 ---- rangeBelt.clear(); rangeBelt.resize(12, 601); ! rangeBelt[3] = 200; m_avoidUtil->createProximityMarginBelt(rangeBelt); CPPUNIT_ASSERT_EQUAL(false, m_avoidUtil->isAvoidanceNeeded(rangeBelt, -600, pos, margin)); *************** *** 554,557 **** --- 554,565 ---- CPPUNIT_ASSERT_EQUAL(false, m_avoidUtil->isAvoidanceNeeded(rangeBelt, 600, pos, margin)); CPPUNIT_ASSERT_EQUAL(pos, static_cast<unsigned int>(0)); + + // Avoidance needed even if obstacle not in robot direction + rangeBelt.clear(); + rangeBelt.resize(12, 601); + rangeBelt[3] = 100; + m_avoidUtil->createProximityMarginBelt(rangeBelt); + CPPUNIT_ASSERT_EQUAL(true, m_avoidUtil->isAvoidanceNeeded(rangeBelt, -600, pos, margin)); + CPPUNIT_ASSERT_EQUAL(pos, static_cast<unsigned int>(3)); } *************** *** 582,587 **** CPPUNIT_ASSERT_EQUAL(-49, m_avoidUtil->evalAvoidingLinVel(0,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.3)); ! CPPUNIT_ASSERT_EQUAL(100, m_avoidUtil->evalAvoidingLinVel(-1,0)); ! CPPUNIT_ASSERT_EQUAL(49, m_avoidUtil->evalAvoidingLinVel(-1,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(-1,0.3)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.31)); --- 590,596 ---- CPPUNIT_ASSERT_EQUAL(-49, m_avoidUtil->evalAvoidingLinVel(0,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.3)); ! // We go backward and there is an obstacle below reverse security margin, we go backward. ! CPPUNIT_ASSERT_EQUAL(-100, m_avoidUtil->evalAvoidingLinVel(-1,0)); ! CPPUNIT_ASSERT_EQUAL(-49, m_avoidUtil->evalAvoidingLinVel(-1,0.15)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(-1,0.3)); CPPUNIT_ASSERT_EQUAL(0, m_avoidUtil->evalAvoidingLinVel(0,0.31)); *************** *** 592,598 **** CPPUNIT_ASSERT_EQUAL(150, m_avoidUtil->evalAvoidingLinVel(100,0.75)); CPPUNIT_ASSERT_EQUAL(6, m_avoidUtil->evalAvoidingLinVel(100,0.51)); ! CPPUNIT_ASSERT_EQUAL(-300, m_avoidUtil->evalAvoidingLinVel(-100,1)); ! CPPUNIT_ASSERT_EQUAL(-150, m_avoidUtil->evalAvoidingLinVel(-100,0.75)); ! CPPUNIT_ASSERT_EQUAL(-6, m_avoidUtil->evalAvoidingLinVel(-100,0.51)); } --- 601,608 ---- CPPUNIT_ASSERT_EQUAL(150, m_avoidUtil->evalAvoidingLinVel(100,0.75)); CPPUNIT_ASSERT_EQUAL(6, m_avoidUtil->evalAvoidingLinVel(100,0.51)); ! // There is no obstacle we go forward even if current velocity is negative. ! CPPUNIT_ASSERT_EQUAL(300, m_avoidUtil->evalAvoidingLinVel(-100,1)); ! CPPUNIT_ASSERT_EQUAL(150, m_avoidUtil->evalAvoidingLinVel(-100,0.75)); ! CPPUNIT_ASSERT_EQUAL(6, m_avoidUtil->evalAvoidingLinVel(-100,0.51)); } |