mirror of
https://github.com/modelec/TCPSocketServer.git
synced 2026-03-29 11:59:37 +02:00
aruco pos
This commit is contained in:
@@ -335,6 +335,8 @@ void TCPServer::startGame() {
|
||||
}
|
||||
|
||||
void TCPServer::goToAruco(const ArucoTagPos &arucoTagPos, const int pince) {
|
||||
float robotPosX = this->robotPose.pos.x;
|
||||
float robotPosY = this->robotPose.pos.y;
|
||||
float decalage;
|
||||
if (pince < 0 || pince > 2) {
|
||||
return;
|
||||
@@ -365,8 +367,8 @@ void TCPServer::goToAruco(const ArucoTagPos &arucoTagPos, const int pince) {
|
||||
|
||||
std::cout << "Aruco position1 " << xPrime << " " << yPrime << std::endl;
|
||||
|
||||
double posV200X = ((xPrime - 100) * std::cos(robotPose.theta) + (yPrime - (decalage / 2)) * std::sin(robotPose.theta)) + this->robotPose.pos.x;
|
||||
double posV200Y = (-(xPrime - 100) * std::sin(robotPose.theta) + (yPrime - (decalage / 2)) * std::cos(robotPose.theta)) + this->robotPose.pos.y;
|
||||
double posV200X = ((xPrime - 100) * std::cos(robotPose.theta) + (yPrime - (decalage / 2)) * std::sin(robotPose.theta)) + robotPosX;
|
||||
double posV200Y = (-(xPrime - 100) * std::sin(robotPose.theta) + (yPrime - (decalage / 2)) * std::cos(robotPose.theta)) + robotPosY;
|
||||
|
||||
toSend = "strat;arduino;go;" + std::to_string(static_cast<int>(posV200X)) + "," + std::to_string(static_cast<int>(posV200Y)) + "\n";
|
||||
this->broadcastMessage(toSend);
|
||||
@@ -374,8 +376,8 @@ void TCPServer::goToAruco(const ArucoTagPos &arucoTagPos, const int pince) {
|
||||
this->broadcastMessage("strat;arduino;speed;150\n");
|
||||
usleep(500'000);
|
||||
|
||||
double robotPosForPotX = (xPrime * std::cos(robotPose.theta) + (yPrime - decalage) * std::sin(robotPose.theta)) + this->robotPose.pos.x;
|
||||
double robotPosForPotY = (-xPrime * std::sin(robotPose.theta) + (yPrime - decalage) * std::cos(robotPose.theta)) + this->robotPose.pos.y;
|
||||
double robotPosForPotX = (xPrime * std::cos(robotPose.theta) + (yPrime - decalage) * std::sin(robotPose.theta)) + robotPosX;
|
||||
double robotPosForPotY = (-xPrime * std::sin(robotPose.theta) + (yPrime - decalage) * std::cos(robotPose.theta)) + robotPosY;
|
||||
|
||||
std::cout << "Aruco position " << robotPosForPotX << " " << robotPosForPotY << std::endl;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user