25 #include "ode_robots/oderobot.h"
27 #include "ode_robots/oneaxisservo.h"
28 #include "ode_robots/relativepositionsensor.h"
29 #include <osg/io_utils>
75 double size=1, std::vector<Primitive*>
objectsOfInterest = std::vector<Primitive*>());
171 virtual void moveJoint(
int jointno,
double pos);
187 std::cout<<
"Lpz Endeffector Position: \t";
284 static void mycallback(
void *data, dGeomID o1, dGeomID o2);
double width
Definition: kuka.h:288
std::vector< double > speed
Definition: kuka.h:312
friend class Kuka2
Definition: kuka.h:66
virtual void printJointConf()
prints the current joint configuration as a vector of reals € [-1,1] and as a vector of degrees only ...
Definition: kuka.cpp:458
Data structure for accessing the ODE.
Definition: odehandle.h:44
virtual double getJointTarget(int jointno)
returns the desired position of a joint during the manua control mode: the current target position th...
Definition: kuka.h:158
double cmass
Definition: kuka.h:289
Robot that emulates the Kuka lightweight robot arm, consisting of 5 arm segments, one endeffector upo...
Definition: kuka.h:64
virtual int getSensorNumberIntern()
returns number of sensors
Definition: kuka.h:131
Matrixd Matrix
Definition: osgforwarddecl.h:47
std::vector< Primitive * > objectsOfInterest
Definition: kuka.h:315
Kuka(const OdeHandle &odeHandle, const OsgHandle &osgHandle, const std::string &name, double size=1, std::vector< Primitive * > objectsOfInterest=std::vector< Primitive * >())
constructor of robot
Definition: kuka.cpp:56
double simSize
Definition: kuka.h:301
std::vector< RelativePositionSensor * > relSensors
Definition: kuka.h:317
virtual void create(const osg::Matrix &pose)
will move the endeffector to the desired position by transforming the Cartesian Position into a joint...
Definition: kuka.cpp:212
double sensor
Definition: types.h:29
virtual void printEndeffectorPosition()
prints the position of the endeffector
Definition: kuka.h:185
virtual ~Kuka()
Definition: kuka.h:77
Primitive * gripper
Definition: kuka.h:305
Data structure for accessing the OpenSceneGraph.
Definition: osghandle.h:79
virtual void candle()
enables the manual command mode an moves the arm to its initial upright position
Definition: kuka.h:148
int segmentsno
Definition: kuka.h:297
Primitive * endeffector
Definition: kuka.h:304
double endeffector_radius
Definition: kuka.h:292
virtual int getMotorNumberIntern()
returns number of motors
Definition: kuka.h:137
virtual void setReference(Primitive *target)
Definition: kuka.h:200
virtual Primitive * getEndeffector()
returns a pointer to the endeffector
Definition: kuka.h:175
int motorno
Definition: kuka.h:296
virtual Primitive * getGripper()
returns a pointer to the gripper (the uppermost primitive)
Definition: kuka.h:180
Interface class for primitives represented in the physical and graphical world.
Definition: primitive.h:80
virtual void placeIntern(const osg::Matrix &pose)
sets the pose of the vehicle
Definition: kuka.cpp:191
bool manualControl
Definition: kuka.h:307
virtual Pose getPose() const
returns the pose
Definition: primitive.cpp:187
virtual void moveJoint(int jointno, double pos)
moves a joint to a desired position, only available in manual Control Mode
Definition: kuka.cpp:477
virtual int getSensorsIntern(sensor *sensors, int sensornumber)
returns actual sensorvalues see kuka.cpp to see what values are returned
Definition: kuka.cpp:142
bool gripper_active
Definition: kuka.h:300
std::list< SensorAttachment > sensors
Definition: oderobot.h:269
std::vector< double > manualCommands
Definition: kuka.h:309
std::vector< double > max_force
Definition: kuka.h:313
bool grasped
Definition: kuka.h:299
Joint * griff
Definition: kuka.h:303
virtual void release()
releases the grasped object
Definition: kuka.cpp:410
void print() const
Definition: pos.h:56
OsgHandle osgHandle
Definition: oderobot.h:278
OdeHandle odeHandle
Definition: oderobot.h:277
int sensor23
Definition: kuka.h:322
std::vector< OneAxisJoint * > joints
Definition: kuka.h:311
int jointsno
Definition: kuka.h:298
virtual void toggleManualControlMode()
switches between manual Control (motor commands written into the manualCommands-vector) and Controlle...
Definition: kuka.cpp:309
std::vector< OneAxisServo * > hingeServos
Definition: kuka.h:314
virtual void printEndeffectorPose()
prints the pose of the endeffector
Definition: kuka.h:194
Abstract class for ODE robots.
Definition: oderobot.h:64
virtual bool grasp(Primitive *object)
grasps an object by creating a fixed joint between the gripper (outermost primitive of the arm) and a...
Definition: kuka.cpp:362
virtual Pos getPosition() const
returns the position
Definition: primitive.cpp:181
static void mycallback(void *data, dGeomID o1, dGeomID o2)
additional things for collision handling can be done here
virtual void blockJoints(int joint)
blocks and reactivates joints during the simulations the blocked joint will be set to its initial pos...
Definition: kuka.cpp:323
virtual void destroy()
destroys vehicle and space
Definition: kuka.cpp:437
bool created
Definition: kuka.h:286
virtual void update()
updates the OSG nodes of the vehicle
Definition: kuka.cpp:201
double gripper_radius
Definition: kuka.h:290
int getPower(int i)
returns the maximal power of a motor
Definition: kuka.cpp:420
double socketSize
Definition: kuka.h:291
int getVelocity(int i)
returns the maximal velocity of a motor
Definition: kuka.cpp:428
virtual void setMotorsIntern(const double *motors, int motornumber)
sets actual motorcommands
Definition: kuka.cpp:117
double length
Definition: kuka.h:287
std::list< MotorAttachment > motors
Definition: oderobot.h:270
int sensorno
Definition: kuka.h:295