22 #ifndef LPZROBOTS_ODE_ROBOTS_ROBOTS_NEJIHEBI_H_
23 #define LPZROBOTS_ODE_ROBOTS_ROBOTS_NEJIHEBI_H_
25 #include <ode_robots/oderobot.h>
33 class TwoAxisServoVel;
197 const std::string&
name =
"ScrewDriveSnake");
356 Screw createScrew(
const osg::Matrix& pose,
const bool inverted);
361 std::vector<Screw> screws;
363 std::vector<TwoAxisServoVel*> servos;
virtual Primitive * getMainPrimitive() const
Returns main primitive of the robot.
Definition: nejihebi.cpp:342
virtual void placeIntern(const osg::Matrix &pose)
Sets the pose of the vehicle.
Definition: nejihebi.cpp:380
double mass
mass of each ball bearing
Definition: nejihebi.h:62
Inspectable::iparamkeylist getInternalParamNames() const
The list of the names of all internal parameters given by getInternalParams().
Definition: nejihebi.cpp:308
Data structure for accessing the ODE.
Definition: odehandle.h:44
const Conf & getConf() const
Returns the current configuration of the robot.
Definition: nejihebi.cpp:250
Cylinder primitive.
Definition: primitive.h:326
Matrixd Matrix
Definition: osgforwarddecl.h:47
bool axisVisible
decides if the wheel axis will be visible
Definition: nejihebi.h:165
void nameMotor(const int motorNo, const std::string &name)
Assigns a name to a motor.
Definition: nejihebi.cpp:376
double angle
angle of the blades versus the screw axis
Definition: nejihebi.h:77
Nejihebi(const OdeHandle &odeHandle, const OsgHandle &osgHandle, const Conf &conf=getDefaultConf(), const std::string &name="ScrewDriveSnake")
Constructor.
Definition: nejihebi.cpp:35
double sensor
Definition: types.h:29
double posradius
radius of the circle on which the wheels are placed
Definition: nejihebi.h:173
iparamkey name
Definition: inspectable.h:251
struct lpzrobots::Nejihebi::Conf::@4 ballBearing
configurations for the two ball bearings at the robot head
double backLength
length of inner body behind the screw center
Definition: nejihebi.h:108
Data structure for accessing the OpenSceneGraph.
Definition: osghandle.h:79
struct lpzrobots::Nejihebi::Conf::@7 innerBody
configurations for the inner non-rotating part of the screw elements
double width
width of each blade
Definition: nejihebi.h:89
double maxVel
maximum velocity of the joint servo motors
Definition: nejihebi.h:125
double possegment
angle size of the circle segment on which the wheels are placed
Definition: nejihebi.h:179
struct lpzrobots::Nejihebi::Conf::@10 wheel
configurations for the passive wheels
struct lpzrobots::Nejihebi::Conf::@8 jointUnit
configurations for the joints between the screw elements
void nameSensor(const int sensorNo, const std::string &name)
Assigns a name to sensor.
Definition: nejihebi.cpp:372
double height
height of the blades
Definition: nejihebi.h:81
double maxAngle
maximum angle [rad]
Definition: nejihebi.h:131
virtual void setMotorsIntern(const double *motors, int motornumber)
Sets current motorcommands.
Definition: nejihebi.cpp:384
Interface class for primitives represented in the physical and graphical world.
Definition: primitive.h:80
double length
length of the blades
Definition: nejihebi.h:83
struct lpzrobots::Nejihebi::Conf::@8::@11 pitch
configurations for the pitch (up-down) servo motors
Box primitive.
Definition: primitive.h:267
std::list< SensorAttachment > sensors
Definition: oderobot.h:269
double maxForce
maximum torque for screw ring
Definition: nejihebi.h:154
double power
maximum power
Definition: nejihebi.h:133
Interface for inspectable objects.
Definition: inspectable.h:48
double minAngle
minimum angle [rad]
Definition: nejihebi.h:129
double stickWidth
width of the stick holding the ball bearing
Definition: nejihebi.h:72
Color color
color of ball bearing
Definition: nejihebi.h:60
double stickMass
mass of the stick holding the ball bearing
Definition: nejihebi.h:70
Struct containing all the configuration options for the nejihebi robot.
Definition: nejihebi.h:54
OsgHandle osgHandle
Definition: oderobot.h:278
virtual int getMotorNumberIntern()
Returns number of motors.
Definition: nejihebi.cpp:346
OdeHandle odeHandle
Definition: oderobot.h:277
double axisSize
size of the wheel axis if visible
Definition: nejihebi.h:167
Inspectable::iparamvallist getInternalParams() const
Definition: nejihebi.cpp:325
double damping
damping of the joint servo motors
Definition: nejihebi.h:123
double radius
radius of each ball bearing
Definition: nejihebi.h:64
virtual int getSensorsIntern(sensor *sensors, int sensornumber)
Returns current sensor values.
Definition: nejihebi.cpp:354
struct lpzrobots::Nejihebi::Conf::@8::@12 yaw
configurations for the yaw (left-right) servo motors
Abstract class for ODE robots.
Definition: oderobot.h:64
double maxSpeed
maximum speed for screw ring
Definition: nejihebi.h:156
struct lpzrobots::Nejihebi::Conf::@6 head
configurations for the robot head
int blades
number of blades per screw element
Definition: nejihebi.h:148
virtual int getSensorNumberIntern()
Returns number of sensors.
Definition: nejihebi.cpp:350
virtual ~Nejihebi()
Destructor.
Definition: nejihebi.cpp:43
int numberOfScrews
number of screw elements
Definition: nejihebi.h:56
static Conf getDefaultConf()
Returns default configuration.
Definition: nejihebi.cpp:254
std::list< iparamkey > iparamkeylist
Definition: inspectable.h:59
double posshift
offset of the center of the position circle and the screw center
Definition: nejihebi.h:176
std::list< iparamval > iparamvallist
Definition: inspectable.h:61
Color stickColor
color of the stick holding the ball bearing
Definition: nejihebi.h:66
int wheels
number of wheels per blade
Definition: nejihebi.h:87
struct lpzrobots::Nejihebi::Conf::@9 screwbase
configurations for the basic ring of the screw elements
std::list< MotorAttachment > motors
Definition: oderobot.h:270
double stickLength
length of the stick holding the ball bearing
Definition: nejihebi.h:68
struct lpzrobots::Nejihebi::Conf::@5 blade
configurations for the blades holding the passive wheels
double frontLength
length of inner body before the screw center
Definition: nejihebi.h:112
Nejihebi Robot.
Definition: nejihebi.h:48