...
POST No. 6085
죄송~ 하나빼먹어서요 다시봐주세요
2006-02-27 21:17:00 idhzone
Dynamixel의 Control table중 Moving은 완벽한 "움직임 완료"의 의미가 아닙니다. 물론, 이와 유사한 개념으로 사용될 수는 있습니다. 결론을 말씀드리면, Dynamixel에 위치 값을 전송하여 움직이게 하신 후, 약간 시간적 간격을 둔 후 Moving을 체크하시기 바랍니다. 올려주신 소스를 보면 명령을 준 후 바로 읽음으로 인해 미처 Flag가 바뀌기 전의 값이 사용되었기 때문으로 추측됩니다.

:
:
:while(true)

:{

:  if(DXL_robot_ctrlmove( &m_DXL_Robot ) == TRUE)

:
:  {

:
:    if(DXL_actuator_get_state( &m_DXL_Robot.pDXL_list[0] ) ==

:
:    SUCCESS_COMMUNICATION)

:
:    {

:      if(m_DXL_Robot.pDXL_list[0].State.Moving == NOT_MOVING)

:
:      {

:
:        break;

:
:      }

:
:    }

:
:  }

:}
:
:이겁니다. 다이나믹셀이 구동중이면 루프를 돌다가 다이나믹셀이 대기중이되면 루프를 빠져나와야 하는데,, 다이나믹셀이 구동중임에도 루프를 빠져나옵니다.


:
:
:
2006-02-27 21:17:00
idhzone