Go to the documentation of this file.
49 bool setAngle(
double angle,
const uint8_t servo = 0,
bool fast =
false );
81 bool center(
const uint8_t servo = 0 );
101 void setOffsets(
float offset0,
float offset1,
float offset2);
A definition of a CStream actually representing a USB connection to a FTDI chip.
A USB-interface for a custom "robotic neck" designed at MAPIR lab.
unsigned int m_NumPrevAngles
Number of previous angles to store for averaging.
bool setRegisterValueAndSpeed(const uint16_t value, const uint8_t servo, const uint16_t speed)
void setOffsets(float offset0, float offset1, float offset2)
Load the Offset values for each servo.
bool getRegisterValue(uint16_t &value, const uint8_t servo=0)
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool enableServo(const uint8_t servo=0)
Enables the servo so the neck will be tight.
double regValue2angle(const uint16_t value)
Converts from a certain value of the ATMEGA16 PWM register to the corresponding decimal angle (for in...
std::vector< float > m_offsets
The offset used for each servo.
void setNumberOfPreviousAngles(const unsigned int number)
Gets the truncate factor of the turn.
bool center(const uint8_t servo=0)
Centers the servo at zero position.
bool getCurrentAngle(double &angle, const uint8_t servo=0)
Gets the current angle of the servo (in radians within (-pi,pi))
std::string m_usbSerialNumber
A copy of the device serial number (to open the USB FTDI chip).
double getTruncateFactor()
Gets the truncate factor of the turn.
bool setAngleWithFilter(double angle, const uint8_t servo=0, bool fast=false)
Turns the servo up to the specified angle (in radians in the range -pi,pi) filtered by average with t...
unsigned int getNumberOfPreviousAngles()
Gets the truncate factor of the turn.
bool disableServo(const uint8_t servo=0)
Disables the servo so the neck will be loose.
void setTruncateFactor(const double factor)
Gets the truncate factor of the turn.
double m_TruncateFactor
The range of turn of the servo will be truncated to "+-m_truncate_factor*(pi/2)".
double m_MaxValue
The value set in the ICR register within the ATMEGA16 controller.
bool queryFirmwareVersion(std::string &out_firmwareVersion)
Gets the firmware version of the eNeck board.
bool checkConnectionAndConnect()
Tries to connect to the USB device (if disconnected).
bool setRegisterValue(const uint16_t value, const uint8_t servo=0, bool fast=false)
std::deque< double > m_PrevAngles
A vector containing the last N angles which where passed to the servo (for averaging)
bool setAngleAndSpeed(double angle, const uint8_t servo, const uint8_t speed)
Turns the servo up to the specified angle (in radians in the range -pi,pi, other values will be satur...
bool setAngle(double angle, const uint8_t servo=0, bool fast=false)
Turns the servo up to the specified angle (in radians in the range -pi,pi, other values will be satur...
unsigned int angle2RegValue(const double angle)
Converts from a decimal angle (in radians) to the corresponding register value for the ATMEGA16 contr...
Page generated by Doxygen 1.8.20 for MRPT 1.4.0 SVN: at Thu Aug 27 02:40:23 UTC 2020 | | |