From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001 From: SWK <sungwk82@diteam.co.kr> Date: 목, 22 12월 2022 12:31:43 +0900 Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합) --- ReviewHistory/include/akSTL/backup/akTrajectoryModel.h | 66 +++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) diff --git a/ReviewHistory/include/akSTL/backup/akTrajectoryModel.h b/ReviewHistory/include/akSTL/backup/akTrajectoryModel.h new file mode 100644 index 0000000..c9e74bd --- /dev/null +++ b/ReviewHistory/include/akSTL/backup/akTrajectoryModel.h @@ -0,0 +1,66 @@ +#pragma once + + +#include "akLinker.h" +#include "akSTL.h" +#include "akDE.h" +#include <vector> +namespace akSTL +{ + struct _Waypoint + { + double x; + double y; + double z; + double speed; + }; + + class akSTL_DLLSPEC CakTrajcetoryModel + { + public: + CakTrajcetoryModel(void); + ~CakTrajcetoryModel(void); + + public: + virtual int calculate(float dTime); //더이상 계산할 경로점이 없을 경우 2를 반환 + void setCurrentByWaypoint(int nWaypointIndex); //현재값을 경로점 기준으로 셋팅 + + + + public: + //현재 값 + khVector3d m_position; //위치 + khVector3d m_rotate; //자세 + double m_velocity; //속도 + double m_acc; //가속도 + khVector3d m_rotateAcc; //각속도 + + //부여 받은 명령 설정 + khVector3d m_TaskPosition; + double m_TaskVelocity; + double m_TaskAcc; + + //객체 정보 관리 + double mass; //무게 + double maxSpeed; //최대 속도 + double minSpeed; //최저 속도 + double maxAcceleration; //가속도 + double maxDeceleration; //감속도 + + khVector3d m_rotateVelRate; + + //경로점 관리 + public: + int m_nWaypointType; //0 마지막 경로점이면 끝낸다, 1경로점 순회, 2경로점 왕복 + int m_nWaypointSet; //현재 설정된 경로점 + std::vector<_Waypoint> m_vecWaypoint; + + + protected: + void getAngle3d(double x1, double y1, double z1, double x2, double y2, double z2, double* heading, double* pitch); + double getHeading(double x , double y); + protected: + CakDE m_movementmodel; + }; + +} \ No newline at end of file -- Gitblit v1.9.3