#include <RemKhepServerROS.h>
Public Member Functions | |
KheperaServerROS (int argc, const char *argv[]) | |
Default constructor. | |
KheperaServerROS (KheperaServerROSPars *khPars) | |
Default constructor. | |
~KheperaServerROS () | |
Default destructor. | |
bool | searchConnection () |
Search for connection with a remote client.KheperaServer::. | |
void | receiveCommands () |
Receiving commands. | |
int | parseCommands () |
Parse commands. | |
void | executeCommands () |
Execute commands. | |
ROSNode * | getRosNode () |
Get the pointer to the current ROS node. | |
KorebotROS * | getKorebot () |
Get the pointer to the resource Korebot using ROS. | |
void | getVelocityCommand (Decimal &xVel, Decimal &omega) |
Get the actual velocity commands. | |
void | getTStateCommand (MotionModuleTState &state) |
Get the actual TState commands. | |
void | lockLaserMutex () |
Lock the laser mutex. | |
void | unlockLaserMutex () |
Unlock the laser mutex. |
KheperaServerROS::KheperaServerROS | ( | int | argc, | |
const char * | argv[] | |||
) |
Default constructor.
[in] | argc | Integer to be passed to ros::init |
[in] | argv | Char to be passed to ros::init |
LASER MANAGEMENT: IN GAZEBO CASE, LASER DATA ARE PUBLISHED BY LASER CONTROLLER. THERE ARE TWO SOLUTIONS 1) AN OUTPUT NODE PUBLISHES LASER DATA. IT COULD MAKE SENSE SINCE LASER IS A DIFFERENT DEVICE FROM THE ROBOT 2) IMPORT THE CONTROLLER DATA HERE AND PUBLISH DATA FROM HERE. IT IS MUCH HARDER. OBVIOUSLY, I WILL USE THE SECOND ONE.
KheperaServerROS::KheperaServerROS | ( | KheperaServerROSPars * | khPars | ) |
Default constructor.
LASER MANAGEMENT: IN GAZEBO CASE, LASER DATA ARE PUBLISHED BY LASER CONTROLLER. THERE ARE TWO SOLUTIONS 1) AN OUTPUT NODE PUBLISHES LASER DATA. IT COULD MAKE SENSE SINCE LASER IS A DIFFERENT DEVICE FROM THE ROBOT 2) IMPORT THE CONTROLLER DATA HERE AND PUBLISH DATA FROM HERE. IT IS MUCH HARDER. OBVIOUSLY, I WILL USE THE SECOND ONE.
KheperaServerROS::~KheperaServerROS | ( | ) |
Default destructor.
bool KheperaServerROS::searchConnection | ( | ) |
Search for connection with a remote client.KheperaServer::.
void KheperaServerROS::receiveCommands | ( | ) |
Receiving commands.
int KheperaServerROS::parseCommands | ( | ) |
Parse commands.
void KheperaServerROS::executeCommands | ( | ) |
Execute commands.
HERE TWO OPPORTUNITIES
MipResources::ROSNode * KheperaServerROS::getRosNode | ( | ) |
KorebotROS * KheperaServerROS::getKorebot | ( | ) |
Get the actual velocity commands.
[out] | &xVel | Velocity along x-axis of the robot (normally, along the moving direction of the robot |
[out] | &omega | Angular velocity along z-axis of the robot |
void KheperaServerROS::getTStateCommand | ( | MotionModuleTState & | state | ) |
Get the actual TState commands.
[out] | state | MotionModule where all information about the state will be saved |
void KheperaServerROS::lockLaserMutex | ( | ) |
Lock the laser mutex.
void KheperaServerROS::unlockLaserMutex | ( | ) |
Unlock the laser mutex.