[Robot] fix typo reported by spellchecker CI

- Accelaration -> Acceleration

- plus some style fixes done by MSVC
This commit is contained in:
Uwe
2022-02-21 14:19:53 +01:00
committed by wwmayer
parent 4adabe3de8
commit 181fc65d01
11 changed files with 328 additions and 329 deletions

View File

@@ -148,7 +148,7 @@ void Trajectory::deleteLast(unsigned int n)
void Trajectory::generateTrajectory(void)
{
if (vpcWaypoints.size()==0)
if (vpcWaypoints.size() == 0)
return;
// delete the old and create a new one
@@ -164,60 +164,60 @@ void Trajectory::generateTrajectory(void)
try {
// handle the first waypoint special
bool first=true;
bool first = true;
for (std::vector<Waypoint*>::const_iterator it = vpcWaypoints.begin();it!=vpcWaypoints.end();++it) {
for (std::vector<Waypoint*>::const_iterator it = vpcWaypoints.begin(); it != vpcWaypoints.end(); ++it) {
if (first) {
Last = toFrame((*it)->EndPos);
first = false;
}
else {
// destinct the type of movement
switch((*it)->Type){
switch ((*it)->Type) {
case Waypoint::LINE:
case Waypoint::PTP:{
case Waypoint::PTP: {
KDL::Frame Next = toFrame((*it)->EndPos);
// continues the movement until no continuous waypoint or the end
bool Cont = (*it)->Cont && !(it==--vpcWaypoints.end());
bool Cont = (*it)->Cont && !(it == --vpcWaypoints.end());
// start of a continue block
if (Cont && !pcRoundComp) {
pcRoundComp.reset(new KDL::Path_RoundedComposite(3, 3,
new KDL::RotationalInterpolation_SingleAxis()));
new KDL::RotationalInterpolation_SingleAxis()));
// the velocity of the first waypoint is used
pcVelPrf.reset(new KDL::VelocityProfile_Trap((*it)->Velocity,(*it)->Accelaration));
pcVelPrf.reset(new KDL::VelocityProfile_Trap((*it)->Velocity, (*it)->Acceleration));
pcRoundComp->Add(Last);
pcRoundComp->Add(Next);
// continue a continues block
// continue a continues block
}
else if (Cont && pcRoundComp) {
pcRoundComp->Add(Next);
// end a continuous block
}
else if (Cont==false && pcRoundComp) {
else if (Cont == false && pcRoundComp) {
// add the last one
pcRoundComp->Add(Next);
pcRoundComp->Finish();
pcVelPrf->SetProfile(0,pcRoundComp->PathLength());
pcTrak.reset(new KDL::Trajectory_Segment(pcRoundComp.release(),pcVelPrf.release()));
pcVelPrf->SetProfile(0, pcRoundComp->PathLength());
pcTrak.reset(new KDL::Trajectory_Segment(pcRoundComp.release(), pcVelPrf.release()));
// normal block
}
else if (Cont==false && !pcRoundComp){
else if (Cont == false && !pcRoundComp) {
KDL::Path* pcPath;
pcPath = new KDL::Path_Line(Last,
Next,
new KDL::RotationalInterpolation_SingleAxis(),
1.0,
true
);
Next,
new KDL::RotationalInterpolation_SingleAxis(),
1.0,
true
);
pcVelPrf.reset(new KDL::VelocityProfile_Trap((*it)->Velocity,(*it)->Accelaration));
pcVelPrf->SetProfile(0,pcPath->PathLength());
pcTrak.reset(new KDL::Trajectory_Segment(pcPath,pcVelPrf.release()));
pcVelPrf.reset(new KDL::VelocityProfile_Trap((*it)->Velocity, (*it)->Acceleration));
pcVelPrf->SetProfile(0, pcPath->PathLength());
pcTrak.reset(new KDL::Trajectory_Segment(pcPath, pcVelPrf.release()));
}
Last = Next;
break;}
break; }
case Waypoint::WAIT:
break;
default:
@@ -230,7 +230,7 @@ void Trajectory::generateTrajectory(void)
}
}
}
catch (KDL::Error &e) {
catch (KDL::Error& e) {
throw Base::RuntimeError(e.Description());
}
}

View File

@@ -69,7 +69,7 @@ TrajectoryDressUpObject::~TrajectoryDressUpObject()
{
}
App::DocumentObjectExecReturn *TrajectoryDressUpObject::execute(void)
App::DocumentObjectExecReturn* TrajectoryDressUpObject::execute(void)
{
Robot::Trajectory result;
@@ -79,39 +79,39 @@ App::DocumentObjectExecReturn *TrajectoryDressUpObject::execute(void)
if (!link->getTypeId().isDerivedFrom(Robot::TrajectoryObject::getClassTypeId()))
return new App::DocumentObjectExecReturn("Linked object is not a Trajectory object");
const std::vector<Waypoint*> &wps = static_cast<Robot::TrajectoryObject*>(link)->Trajectory.getValue().getWaypoints();
for (std::vector<Waypoint*>::const_iterator it= wps.begin();it!=wps.end();++it) {
const std::vector<Waypoint*>& wps = static_cast<Robot::TrajectoryObject*>(link)->Trajectory.getValue().getWaypoints();
for (std::vector<Waypoint*>::const_iterator it = wps.begin(); it != wps.end(); ++it) {
Waypoint wpt = **it;
if(UseSpeed.getValue())
if (UseSpeed.getValue())
wpt.Velocity = Speed.getValue();
if(UseAcceleration.getValue())
wpt.Accelaration = Acceleration.getValue();
switch(ContType.getValue()){
case 0: break;
case 1: wpt.Cont = true;break;
case 2: wpt.Cont = false;break;
default: assert(0); // must not happen!
if (UseAcceleration.getValue())
wpt.Acceleration = Acceleration.getValue();
switch (ContType.getValue()) {
case 0: break;
case 1: wpt.Cont = true; break;
case 2: wpt.Cont = false; break;
default: assert(0); // must not happen!
}
switch(AddType.getValue()){
switch (AddType.getValue()) {
// do nothing
case 0: break;
case 0: break;
// use orientation
case 1:
wpt.EndPos.setRotation(PosAdd.getValue().getRotation());
break;
case 1:
wpt.EndPos.setRotation(PosAdd.getValue().getRotation());
break;
// add position
case 2:
wpt.EndPos.setPosition(wpt.EndPos.getPosition() + PosAdd.getValue().getPosition());
break;
case 2:
wpt.EndPos.setPosition(wpt.EndPos.getPosition() + PosAdd.getValue().getPosition());
break;
// add orientation
case 3:
wpt.EndPos.setRotation(wpt.EndPos.getRotation() * PosAdd.getValue().getRotation());
break;
case 3:
wpt.EndPos.setRotation(wpt.EndPos.getRotation() * PosAdd.getValue().getRotation());
break;
// add orientation & position
case 4:
wpt.EndPos= wpt.EndPos * PosAdd.getValue();
break;
default: assert(0); // must not happen!
case 4:
wpt.EndPos = wpt.EndPos * PosAdd.getValue();
break;
default: assert(0); // must not happen!
}
result.addWaypoint(wpt);
@@ -119,12 +119,11 @@ App::DocumentObjectExecReturn *TrajectoryDressUpObject::execute(void)
// set the resulting Trajectory to the object
Trajectory.setValue(result);
return App::DocumentObject::StdReturn;
}
void TrajectoryDressUpObject::onChanged(const Property* prop)
{
App::GeoFeature::onChanged(prop);
}

View File

@@ -60,7 +60,7 @@ Waypoint::Waypoint(const char* name,
const Base::Placement &endPos,
WaypointType type,
float velocity,
float accelaration,
float acceleration,
bool cont,
unsigned int tool,
unsigned int base)
@@ -68,7 +68,7 @@ Waypoint::Waypoint(const char* name,
: Name(name)
, Type(type)
, Velocity(velocity)
, Accelaration(accelaration)
, Acceleration(acceleration)
, Cont(cont)
, Tool(tool)
, Base(base)
@@ -79,7 +79,7 @@ Waypoint::Waypoint(const char* name,
Waypoint::Waypoint()
: Type(UNDEF)
, Velocity(1000.0)
, Accelaration(100.0)
, Acceleration(100.0)
, Cont(false)
, Tool(0)
, Base(0)
@@ -107,7 +107,7 @@ void Waypoint::Save (Writer &writer) const
<< "Q2=\"" << EndPos.getRotation()[2] << "\" "
<< "Q3=\"" << EndPos.getRotation()[3] << "\" "
<< "vel=\"" << Velocity << "\" "
<< "acc=\"" << Accelaration << "\" "
<< "acc=\"" << Acceleration << "\" "
<< "cont=\"" << int((Cont)?1:0) << "\" "
<< "tool=\"" << Tool << "\" "
<< "base=\"" << Base << "\" ";
@@ -139,7 +139,7 @@ void Waypoint::Restore(XMLReader &reader)
reader.getAttributeAsFloat("Q3")));
Velocity = (float) reader.getAttributeAsFloat("vel");
Accelaration = (float) reader.getAttributeAsFloat("acc");
Acceleration = (float) reader.getAttributeAsFloat("acc");
Cont = (reader.getAttributeAsInteger("cont") != 0)?true:false;
Tool = reader.getAttributeAsInteger("tool");
Base = reader.getAttributeAsInteger("base");

View File

@@ -50,27 +50,27 @@ public:
Waypoint();
/// full constructor
Waypoint(const char* name,
const Base::Placement &endPos,
WaypointType type=Waypoint::LINE,
float velocity=2000.0,
float accelaration=100.0,
bool cont=false,
unsigned int tool=0,
unsigned int base = 0);
Waypoint(const char* name,
const Base::Placement& endPos,
WaypointType type = Waypoint::LINE,
float velocity = 2000.0,
float acceleration = 100.0,
bool cont = false,
unsigned int tool = 0,
unsigned int base = 0);
~Waypoint();
// from base class
virtual unsigned int getMemSize (void) const;
virtual void Save (Base::Writer &/*writer*/) const;
virtual void Restore(Base::XMLReader &/*reader*/);
virtual unsigned int getMemSize(void) const;
virtual void Save(Base::Writer& /*writer*/) const;
virtual void Restore(Base::XMLReader& /*reader*/);
std::string Name;
WaypointType Type;
float Velocity;
float Accelaration;
float Acceleration;
bool Cont;
unsigned int Tool,Base;
Base::Placement EndPos;

View File

@@ -83,60 +83,60 @@ PyObject *WaypointPy::PyMake(struct _typeobject *, PyObject *, PyObject *) // P
// constructor method
int WaypointPy::PyInit(PyObject* args, PyObject* kwd)
{
PyObject *pos;
char *name="P";
char *type = "PTP";
PyObject *vel = 0;
PyObject *acc = 0;
PyObject* pos;
char* name = "P";
char* type = "PTP";
PyObject* vel = 0;
PyObject* acc = 0;
int cont = 0;
int tool=0;
int base=0;
int tool = 0;
int base = 0;
static char *kwlist[] = {"Pos", "type","name", "vel", "cont", "tool", "base", "acc" ,NULL};
static char* kwlist[] = { "Pos", "type","name", "vel", "cont", "tool", "base", "acc" ,NULL };
if (!PyArg_ParseTupleAndKeywords(args, kwd, "O!|ssOiiiO", kwlist,
&(Base::PlacementPy::Type), &pos, // the placement object
&type, &name, &vel, &cont, &tool, &base, &acc ))
&(Base::PlacementPy::Type), &pos, // the placement object
&type, &name, &vel, &cont, &tool, &base, &acc))
return -1;
Base::Placement TempPos = *static_cast<Base::PlacementPy*>(pos)->getPlacementPtr();
getWaypointPtr()->EndPos = TempPos;
getWaypointPtr()->Name = name;
getWaypointPtr()->Name = name;
std::string typeStr(type);
if(typeStr=="PTP")
if (typeStr == "PTP")
getWaypointPtr()->Type = Waypoint::PTP;
else if(typeStr=="LIN")
else if (typeStr == "LIN")
getWaypointPtr()->Type = Waypoint::LINE;
else if(typeStr=="CIRC")
else if (typeStr == "CIRC")
getWaypointPtr()->Type = Waypoint::CIRC;
else if(typeStr=="WAIT")
else if (typeStr == "WAIT")
getWaypointPtr()->Type = Waypoint::WAIT;
else
else
getWaypointPtr()->Type = Waypoint::UNDEF;
if(vel == 0)
switch (getWaypointPtr()->Type){
case Waypoint::PTP:
getWaypointPtr()->Velocity = 100;
break;
case Waypoint::LINE:
getWaypointPtr()->Velocity = 2000;
break;
case Waypoint::CIRC:
getWaypointPtr()->Velocity = 2000;
break;
default:
getWaypointPtr()->Velocity = 0;
if (vel == 0)
switch (getWaypointPtr()->Type) {
case Waypoint::PTP:
getWaypointPtr()->Velocity = 100;
break;
case Waypoint::LINE:
getWaypointPtr()->Velocity = 2000;
break;
case Waypoint::CIRC:
getWaypointPtr()->Velocity = 2000;
break;
default:
getWaypointPtr()->Velocity = 0;
}
else
getWaypointPtr()->Velocity = Base::UnitsApi::toDouble(vel,Base::Unit::Velocity);
getWaypointPtr()->Cont = cont?true:false;
getWaypointPtr()->Velocity = Base::UnitsApi::toDouble(vel, Base::Unit::Velocity);
getWaypointPtr()->Cont = cont ? true : false;
getWaypointPtr()->Tool = tool;
getWaypointPtr()->Base = base;
if(acc == 0)
getWaypointPtr()->Accelaration = 100;
if (acc == 0)
getWaypointPtr()->Acceleration = 100;
else
getWaypointPtr()->Accelaration = Base::UnitsApi::toDouble(acc,Base::Unit::Acceleration);
getWaypointPtr()->Acceleration = Base::UnitsApi::toDouble(acc, Base::Unit::Acceleration);
return 0;
}

View File

@@ -1,111 +1,111 @@
// Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Version: 1.0
// Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// URL: http://www.orocos.org/kdl
// This library 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.
// This library 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 this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef KDL_CHAIN_FKSOLVER_HPP
#define KDL_CHAIN_FKSOLVER_HPP
#include "chain.hpp"
#include "framevel.hpp"
#include "frameacc.hpp"
#include "jntarray.hpp"
#include "jntarrayvel.hpp"
#include "jntarrayacc.hpp"
#include "solveri.hpp"
namespace KDL {
/**
* \brief This <strong>abstract</strong> class encapsulates a
* solver for the forward position kinematics for a KDL::Chain.
*
* @ingroup KinematicFamily
*/
//Forward definition
class ChainFkSolverPos : public KDL::SolverI {
public:
/**
* Calculate forward position kinematics for a KDL::Chain,
* from joint coordinates to cartesian pose.
*
* @param q_in input joint coordinates
* @param p_out reference to output cartesian pose
* @param segmentNr default to -1
*
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArray& q_in, Frame& p_out,int segmentNr=-1)=0;
virtual ~ChainFkSolverPos(){};
};
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward velocity kinematics for a KDL::Chain.
*
* @ingroup KinematicFamily
*/
class ChainFkSolverVel : public KDL::SolverI {
public:
/**
* Calculate forward position and velocity kinematics, from
* joint coordinates to cartesian coordinates.
*
* @param q_in input joint coordinates (position and velocity)
* @param out output cartesian coordinates (position and velocity)
* @param segmentNr default to -1
*
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
virtual ~ChainFkSolverVel(){};
};
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward acceleration kinematics for a KDL::Chain.
*
* @ingroup KinematicFamily
*/
class ChainFkSolverAcc : public KDL::SolverI {
public:
/**
* Calculate forward position, velocity and accelaration
* kinematics, from joint coordinates to cartesian coordinates
*
* @param q_in input joint coordinates (position, velocity and
* acceleration
* @param out output cartesian coordinates (position, velocity
* and acceleration
* @param segmentNr default to -1
*
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
virtual ~ChainFkSolverAcc()=0;
};
}//end of namespace KDL
#endif
// Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Version: 1.0
// Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// URL: http://www.orocos.org/kdl
// This library 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.
// This library 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 this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef KDL_CHAIN_FKSOLVER_HPP
#define KDL_CHAIN_FKSOLVER_HPP
#include "chain.hpp"
#include "framevel.hpp"
#include "frameacc.hpp"
#include "jntarray.hpp"
#include "jntarrayvel.hpp"
#include "jntarrayacc.hpp"
#include "solveri.hpp"
namespace KDL {
/**
* \brief This <strong>abstract</strong> class encapsulates a
* solver for the forward position kinematics for a KDL::Chain.
*
* @ingroup KinematicFamily
*/
//Forward definition
class ChainFkSolverPos : public KDL::SolverI {
public:
/**
* Calculate forward position kinematics for a KDL::Chain,
* from joint coordinates to cartesian pose.
*
* @param q_in input joint coordinates
* @param p_out reference to output cartesian pose
* @param segmentNr default to -1
*
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArray& q_in, Frame& p_out,int segmentNr=-1)=0;
virtual ~ChainFkSolverPos(){};
};
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward velocity kinematics for a KDL::Chain.
*
* @ingroup KinematicFamily
*/
class ChainFkSolverVel : public KDL::SolverI {
public:
/**
* Calculate forward position and velocity kinematics, from
* joint coordinates to cartesian coordinates.
*
* @param q_in input joint coordinates (position and velocity)
* @param out output cartesian coordinates (position and velocity)
* @param segmentNr default to -1
*
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
virtual ~ChainFkSolverVel(){};
};
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward acceleration kinematics for a KDL::Chain.
*
* @ingroup KinematicFamily
*/
class ChainFkSolverAcc : public KDL::SolverI {
public:
/**
* Calculate forward position, velocity and acceleration
* kinematics, from joint coordinates to cartesian coordinates
*
* @param q_in input joint coordinates (position, velocity and
* acceleration
* @param out output cartesian coordinates (position, velocity
* and acceleration
* @param segmentNr default to -1
*
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
virtual ~ChainFkSolverAcc()=0;
};
}//end of namespace KDL
#endif

View File

@@ -1,110 +1,110 @@
// Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Copyright (C) 2008 Julia Jesse
// Version: 1.0
// Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// URL: http://www.orocos.org/kdl
// This library 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.
// This library 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 this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef KDL_TREE_FKSOLVER_HPP
#define KDL_TREE_FKSOLVER_HPP
#include <string>
#include "tree.hpp"
//#include "framevel.hpp"
//#include "frameacc.hpp"
#include "jntarray.hpp"
//#include "jntarrayvel.hpp"
//#include "jntarrayacc.hpp"
namespace KDL {
/**
* \brief This <strong>abstract</strong> class encapsulates a
* solver for the forward position kinematics for a KDL::Tree.
*
* @ingroup KinematicFamily
*/
//Forward definition
class TreeFkSolverPos {
public:
/**
* Calculate forward position kinematics for a KDL::Tree,
* from joint coordinates to cartesian pose.
*
* @param q_in input joint coordinates
* @param p_out reference to output cartesian pose
* @param segmentName
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArray& q_in, Frame& p_out, std::string segmentName)=0;
virtual ~TreeFkSolverPos(){};
};
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward velocity kinematics for a KDL::Tree.
*
* @ingroup KinematicFamily
*/
// class TreeFkSolverVel {
// public:
/**
* Calculate forward position and velocity kinematics, from
* joint coordinates to cartesian coordinates.
*
* @param q_in input joint coordinates (position and velocity)
* @param out output cartesian coordinates (position and velocity)
*
* @return if < 0 something went wrong
*/
// virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
// virtual ~TreeFkSolverVel(){};
// };
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward acceleration kinematics for a KDL::Tree.
*
* @ingroup KinematicFamily
*/
// class TreeFkSolverAcc {
// public:
/**
* Calculate forward position, velocity and accelaration
* kinematics, from joint coordinates to cartesian coordinates
*
* @param q_in input joint coordinates (position, velocity and
* acceleration
@param out output cartesian coordinates (position, velocity
* and acceleration
*
* @return if < 0 something went wrong
*/
// virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
// virtual ~TreeFkSolverAcc()=0;
// };
}//end of namespace KDL
#endif
// Copyright (C) 2007 Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Copyright (C) 2008 Julia Jesse
// Version: 1.0
// Author: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// Maintainer: Ruben Smits <ruben dot smits at mech dot kuleuven dot be>
// URL: http://www.orocos.org/kdl
// This library 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.
// This library 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 this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#ifndef KDL_TREE_FKSOLVER_HPP
#define KDL_TREE_FKSOLVER_HPP
#include <string>
#include "tree.hpp"
//#include "framevel.hpp"
//#include "frameacc.hpp"
#include "jntarray.hpp"
//#include "jntarrayvel.hpp"
//#include "jntarrayacc.hpp"
namespace KDL {
/**
* \brief This <strong>abstract</strong> class encapsulates a
* solver for the forward position kinematics for a KDL::Tree.
*
* @ingroup KinematicFamily
*/
//Forward definition
class TreeFkSolverPos {
public:
/**
* Calculate forward position kinematics for a KDL::Tree,
* from joint coordinates to cartesian pose.
*
* @param q_in input joint coordinates
* @param p_out reference to output cartesian pose
* @param segmentName
* @return if < 0 something went wrong
*/
virtual int JntToCart(const JntArray& q_in, Frame& p_out, std::string segmentName)=0;
virtual ~TreeFkSolverPos(){};
};
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward velocity kinematics for a KDL::Tree.
*
* @ingroup KinematicFamily
*/
// class TreeFkSolverVel {
// public:
/**
* Calculate forward position and velocity kinematics, from
* joint coordinates to cartesian coordinates.
*
* @param q_in input joint coordinates (position and velocity)
* @param out output cartesian coordinates (position and velocity)
*
* @return if < 0 something went wrong
*/
// virtual int JntToCart(const JntArrayVel& q_in, FrameVel& out,int segmentNr=-1)=0;
// virtual ~TreeFkSolverVel(){};
// };
/**
* \brief This <strong>abstract</strong> class encapsulates a solver
* for the forward acceleration kinematics for a KDL::Tree.
*
* @ingroup KinematicFamily
*/
// class TreeFkSolverAcc {
// public:
/**
* Calculate forward position, velocity and acceleration
* kinematics, from joint coordinates to cartesian coordinates
*
* @param q_in input joint coordinates (position, velocity and
* acceleration
@param out output cartesian coordinates (position, velocity
* and acceleration
*
* @return if < 0 something went wrong
*/
// virtual int JntToCart(const JntArrayAcc& q_in, FrameAcc& out,int segmentNr=-1)=0;
// virtual ~TreeFkSolverAcc()=0;
// };
}//end of namespace KDL
#endif

View File

@@ -92,7 +92,7 @@ PyMOD_INIT_FUNC(RobotGui)
// default Cintinuity is off
Base::Interpreter().runString("_DefCont = False");
// default Cintinuity is off
Base::Interpreter().runString("_DefAccelaration = '1 m/s^2'");
Base::Interpreter().runString("_DefAcceleration = '1 m/s^2'");
// default orientation of a waypoint if no other constraint
Base::Interpreter().runString("_DefOrientation = FreeCAD.Rotation()");
// default displacement while e.g. picking

View File

@@ -130,7 +130,7 @@ void CmdRobotInsertWaypoint::activated(int)
std::string TrakName = pcTrajectoryObject->getNameInDocument();
openCommand("Insert waypoint");
doCommand(Doc,"App.activeDocument().%s.Trajectory = App.activeDocument().%s.Trajectory.insertWaypoints(Robot.Waypoint(App.activeDocument().%s.Tcp.multiply(App.activeDocument().%s.Tool),type='LIN',name='Pt',vel=_DefSpeed,cont=_DefCont,acc=_DefAccelaration,tool=1))",TrakName.c_str(),TrakName.c_str(),RoboName.c_str(),RoboName.c_str());
doCommand(Doc,"App.activeDocument().%s.Trajectory = App.activeDocument().%s.Trajectory.insertWaypoints(Robot.Waypoint(App.activeDocument().%s.Tcp.multiply(App.activeDocument().%s.Tool),type='LIN',name='Pt',vel=_DefSpeed,cont=_DefCont,acc=_DefAcceleration,tool=1))",TrakName.c_str(),TrakName.c_str(),RoboName.c_str(),RoboName.c_str());
updateActive();
commitCommand();
@@ -194,7 +194,7 @@ void CmdRobotInsertWaypointPreselect::activated(int)
}
openCommand("Insert waypoint");
doCommand(Doc,"App.activeDocument().%s.Trajectory = App.activeDocument().%s.Trajectory.insertWaypoints(Robot.Waypoint(FreeCAD.Placement(FreeCAD.Vector(%f,%f,%f)+_DefDisplacement,_DefOrientation),type='LIN',name='Pt',vel=_DefSpeed,cont=_DefCont,acc=_DefAccelaration,tool=1))",TrakName.c_str(),TrakName.c_str(),x,y,z);
doCommand(Doc,"App.activeDocument().%s.Trajectory = App.activeDocument().%s.Trajectory.insertWaypoints(Robot.Waypoint(FreeCAD.Placement(FreeCAD.Vector(%f,%f,%f)+_DefDisplacement,_DefOrientation),type='LIN',name='Pt',vel=_DefSpeed,cont=_DefCont,acc=_DefAcceleration,tool=1))",TrakName.c_str(),TrakName.c_str(),x,y,z);
updateActive();
commitCommand();
@@ -286,7 +286,7 @@ void CmdRobotSetDefaultValues::activated(int)
QObject::tr("acceleration: (e.g. 1 m/s^2 or 3 cm/s^2)"), QLineEdit::Normal,
QString::fromLatin1("1 m/s^2"), &ok, Qt::MSWindowsFixedSizeDialogHint);
if ( ok && !text.isEmpty() ) {
doCommand(Doc,"_DefAccelaration = '%s'",text.toLatin1().constData());
doCommand(Doc,"_DefAcceleration = '%s'",text.toLatin1().constData());
}

View File

@@ -81,7 +81,7 @@ TaskTrajectory::TaskTrajectory(Robot::RobotObject *pcRobotObject,Robot::Trajecto
else
ui->trajectoryTable->setItem(i, 2, new QTableWidgetItem(QString::fromLatin1("-")));
ui->trajectoryTable->setItem(i, 3, new QTableWidgetItem(QString::number(pt.Velocity)));
ui->trajectoryTable->setItem(i, 4, new QTableWidgetItem(QString::number(pt.Accelaration)));
ui->trajectoryTable->setItem(i, 4, new QTableWidgetItem(QString::number(pt.Acceleration)));
}

View File

@@ -79,7 +79,7 @@ TrajectorySimulate::TrajectorySimulate(Robot::RobotObject *pcRobotObject,Robot::
else
ui->trajectoryTable->setItem(i, 2, new QTableWidgetItem(QString::fromLatin1("-")));
ui->trajectoryTable->setItem(i, 3, new QTableWidgetItem(QString::number(pt.Velocity)));
ui->trajectoryTable->setItem(i, 4, new QTableWidgetItem(QString::number(pt.Accelaration)));
ui->trajectoryTable->setItem(i, 4, new QTableWidgetItem(QString::number(pt.Acceleration)));
}