Basic Image AlgorithmS Library 2.8.0

ExampleDPPanTiltControl2.cpp

Simple example for driving to the left and right with the Directed Perception PTU.

Author:
MIP
/* 
This file is part of the BIAS library (Basic ImageAlgorithmS).

Copyright (C) 2003-2009    (see file CONTACT for details)
  Multimediale Systeme der Informationsverarbeitung
  Institut fuer Informatik
  Christian-Albrechts-Universitaet Kiel


BIAS is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

BIAS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with BIAS; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

/** @example ExampleDPPanTiltControl2.cpp
    @relates DPPanTiltControl
    @ingroup g_examples    
    @brief  Simple example for driving to the left and right with the
            Directed Perception PTU.
    @author MIP
*/

#include <PanTilt/DPPanTiltControl.hh>

using namespace BIAS;
using namespace std;

int main(int argc, char *argv[])
{
  DPPanTiltControl panTiltControl; 

  bool bRet = false;
  if (argc < 2)
    bRet = panTiltControl.InitPanTiltUnit(0);
  else
    bRet = panTiltControl.InitPanTiltUnit(argv[1]);
  if (!bRet) {
    cout<<"Initialising PTU failed!"<<endl;
    return -1;
  }
  else
    panTiltControl.SetMode(ABSOLUTEMODE);

  panTiltControl.AwaitCompletion();
  panTiltControl.SetSpeed(DPPTU_MAXSPEED/4, DPPTU_MAXSPEED/4);
    
//   panTiltControl.MoveRight(1000);
//   panTiltControl.MoveLeft(2000);
//   panTiltControl.MoveRight(1000);

  panTiltControl.SetMode(SPEEDMODE);
  
//   panTiltControl.SetSpeed(-3000,-3000);
//   sleep(1);
//   panTiltControl.SetSpeed(3000,3000);
//   sleep(1);
//   panTiltControl.SetSpeed(0,0);
  
  bool reverse = true;
  for(int i=0;i<2;i++){
    if(reverse){
    panTiltControl.SetPosition(-2000,500);
    panTiltControl.SetPosition(2000,-500);
    reverse = false;
    }
    else{
      panTiltControl.SetPosition(2000,-500);      
      panTiltControl.SetPosition(-2000,500);
      reverse = true;
    }
  }
  
  panTiltControl.ClosePanTiltUnit();
  return 0;
}
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends