From d5db41bb06e27bc8853b7e0456e10c154c4418a2 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 22 Oct 2024 21:56:57 +0200 Subject: [PATCH] Robot: Use Base::toRadians to convert degree to radian --- src/Mod/Robot/App/Robot6Axis.cpp | 33 +++++++++++++------------------- src/Mod/Robot/App/RobotAlgos.cpp | 9 --------- src/Mod/Robot/App/Trajectory.cpp | 8 -------- src/Mod/Robot/App/Waypoint.cpp | 9 --------- 4 files changed, 13 insertions(+), 46 deletions(-) diff --git a/src/Mod/Robot/App/Robot6Axis.cpp b/src/Mod/Robot/App/Robot6Axis.cpp index 43707a2592..d48318e2ff 100644 --- a/src/Mod/Robot/App/Robot6Axis.cpp +++ b/src/Mod/Robot/App/Robot6Axis.cpp @@ -30,20 +30,13 @@ #include #include #include +#include #include #include "Robot6Axis.h" #include "RobotAlgos.h" -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifndef M_PI_2 -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#endif - using namespace Robot; using namespace Base; using namespace KDL; @@ -85,12 +78,12 @@ void Robot6Axis::setKinematic(const AxisDefinition KinDef[6]) for (int i = 0; i < 6; i++) { temp.addSegment(Segment(Joint(Joint::RotZ), Frame::DH(KinDef[i].a, - KinDef[i].alpha * (M_PI / 180), + Base::toRadians(KinDef[i].alpha), KinDef[i].d, - KinDef[i].theta * (M_PI / 180)))); + Base::toRadians(KinDef[i].theta)))); RotDir[i] = KinDef[i].rotDir; - Max(i) = KinDef[i].maxAngle * (M_PI / 180); - Min(i) = KinDef[i].minAngle * (M_PI / 180); + Max(i) = Base::toRadians(KinDef[i].maxAngle); + Min(i) = Base::toRadians(KinDef[i].minAngle); Velocity[i] = KinDef[i].velocity; } @@ -103,12 +96,12 @@ void Robot6Axis::setKinematic(const AxisDefinition KinDef[6]) double Robot6Axis::getMaxAngle(int Axis) { - return Max(Axis) * (180.0 / M_PI); + return Base::toDegrees(Max(Axis)); } double Robot6Axis::getMinAngle(int Axis) { - return Min(Axis) * (180.0 / M_PI); + return Base::toDegrees(Min(Axis)); } void split(std::string const& string, const char delimiter, std::vector& destination) @@ -179,8 +172,8 @@ void Robot6Axis::Save(Writer& writer) const << "Q2=\"" << Tip.getRotation()[2] << "\" " << "Q3=\"" << Tip.getRotation()[3] << "\" " << "rotDir=\"" << RotDir[i] << "\" " - << "maxAngle=\"" << Max(i) * (180.0 / M_PI) << "\" " - << "minAngle=\"" << Min(i) * (180.0 / M_PI) << "\" " + << "maxAngle=\"" << Base::toDegrees(Max(i)) << "\" " + << "minAngle=\"" << Base::toDegrees(Min(i)) << "\" " << "AxisVelocity=\"" << Velocity[i] << "\" " << "Pos=\"" << Actual(i) << "\"/>" << std::endl; } @@ -212,8 +205,8 @@ void Robot6Axis::Restore(XMLReader& reader) Velocity[i] = 1.0; } // read the axis constraints - Min(i) = reader.getAttributeAsFloat("maxAngle") * (M_PI / 180); - Max(i) = reader.getAttributeAsFloat("minAngle") * (M_PI / 180); + Min(i) = Base::toRadians(reader.getAttributeAsFloat("maxAngle")); + Max(i) = Base::toRadians(reader.getAttributeAsFloat("minAngle")); if (reader.hasAttribute("AxisVelocity")) { Velocity[i] = reader.getAttributeAsFloat("AxisVelocity"); } @@ -292,11 +285,11 @@ bool Robot6Axis::calcTcp() bool Robot6Axis::setAxis(int Axis, double Value) { - Actual(Axis) = RotDir[Axis] * Value * (M_PI / 180); // degree to radiants + Actual(Axis) = RotDir[Axis] * Base::toRadians(Value); return calcTcp(); } double Robot6Axis::getAxis(int Axis) { - return RotDir[Axis] * (Actual(Axis) / (M_PI / 180)); // radian to degree + return RotDir[Axis] * Base::toDegrees(Actual(Axis)); } diff --git a/src/Mod/Robot/App/RobotAlgos.cpp b/src/Mod/Robot/App/RobotAlgos.cpp index baf23c9f1a..28738bd48e 100644 --- a/src/Mod/Robot/App/RobotAlgos.cpp +++ b/src/Mod/Robot/App/RobotAlgos.cpp @@ -35,15 +35,6 @@ using namespace Robot; using namespace std; using namespace KDL; -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifndef M_PI_2 -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#endif - //=========================================================================== // FeatureView //=========================================================================== diff --git a/src/Mod/Robot/App/Trajectory.cpp b/src/Mod/Robot/App/Trajectory.cpp index 564499260a..221b1d1dc0 100644 --- a/src/Mod/Robot/App/Trajectory.cpp +++ b/src/Mod/Robot/App/Trajectory.cpp @@ -42,14 +42,6 @@ #include "Trajectory.h" -#ifndef M_PI -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifndef M_PI_2 -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#endif - using namespace Robot; using namespace Base; diff --git a/src/Mod/Robot/App/Waypoint.cpp b/src/Mod/Robot/App/Waypoint.cpp index 85b95e155f..4736842ec0 100644 --- a/src/Mod/Robot/App/Waypoint.cpp +++ b/src/Mod/Robot/App/Waypoint.cpp @@ -31,15 +31,6 @@ #include "Waypoint.h" -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#define M_PI 3.14159265358979323846 /* pi */ -#endif - -#ifndef M_PI_2 -#define M_PI_2 1.57079632679489661923 /* pi/2 */ -#endif - using namespace Robot; using namespace Base; using namespace KDL;