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/akCore/akTrajectoryModel.h |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/include/akCore/akTrajectoryModel.h b/ReviewHistory/include/akCore/akTrajectoryModel.h
new file mode 100644
index 0000000..3e4c1af
--- /dev/null
+++ b/ReviewHistory/include/akCore/akTrajectoryModel.h
@@ -0,0 +1,66 @@
+#pragma once
+
+
+#include "akCoreLinker.h"
+#include "akStruct.h"
+#include "akDE.h"
+#include <vector>
+namespace akCore
+{
+	struct _Waypoint
+	{
+		double x;
+		double y;
+		double z;
+		double speed;
+	};
+
+	class AKCORE_DLLSPEC CakTrajcetoryModel
+	{
+	public:
+		CakTrajcetoryModel(void);
+		~CakTrajcetoryModel(void);
+
+	public:
+		virtual int calculate(float dTime); //더이상 계산할 경로점이 없을 경우 2를 반환
+		void setCurrentByWaypoint(int nWaypointIndex); //현재값을 경로점 기준으로 셋팅
+
+	
+
+	public:
+		//현재 값
+		akVector3d m_position; //위치
+		akVector3d m_rotate; //자세
+		double m_velocity; //속도
+		double m_acc;	//가속도
+		akVector3d m_rotateAcc; //각속도
+
+		//부여 받은 명령 설정
+		akVector3d m_TaskPosition;
+		double m_TaskVelocity;
+		double m_TaskAcc;
+
+		//객체 정보 관리
+		double mass; //무게
+		double maxSpeed; //최대 속도
+		double minSpeed; //최저 속도
+		double maxAcceleration; //가속도
+		double maxDeceleration; //감속도
+
+		akVector3d 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