Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 向ROS传递功能/发出命令_C++_Ros - Fatal编程技术网

C++ 向ROS传递功能/发出命令

C++ 向ROS传递功能/发出命令,c++,ros,C++,Ros,我是新手。我没有使用它的经验。然而,我必须在一个项目上工作,我们必须将RRT实施到ROS。有人能告诉我如何向ROS发出命令或传递参数吗(我不知道这样说的正确方式是什么)?我想完成的是,使用C++,我想得到无人机的X、Y和Z值,然后询问用户(现在)的新X、Y和Z值,然后更新它们,使无人机进入那些新的值(或者基本上是一个点)。我知道如何在简单的C++中编码,但我不确定ROS是否遵循相同的结构。下面是一个我认为在C++中如何工作的示例: void getCurrentVals (float &

我是新手。我没有使用它的经验。然而,我必须在一个项目上工作,我们必须将RRT实施到ROS。有人能告诉我如何向ROS发出命令或传递参数吗(我不知道这样说的正确方式是什么)?我想完成的是,使用C++,我想得到无人机的X、Y和Z值,然后询问用户(现在)的新X、Y和Z值,然后更新它们,使无人机进入那些新的值(或者基本上是一个点)。我知道如何在简单的C++中编码,但我不确定ROS是否遵循相同的结构。下面是一个我认为在C++中如何工作的示例:

void getCurrentVals (float &x, float &y, float &z);
void updateVals (float x, float y, float z);

int main (int argc, char *argv[]) {
    float x = 0, y = 0, z = 0;

    if (argc = 0)
      printf("The command had no other arguments.\n");

    getCurrentVals (x, y, z);

    cout << "x: ";
    cin >> x;
    cout << "y: ";
    cin >> y;
    cout << "z: ";
    cin >> z;   

    updateVals (x, y, z);
}

void getCurrentVals (...){
    //get current vals using some code 
}

void updateVals (...) {
    //update vals somehow 
}
void getCurrentVals(浮点和x、浮点和y、浮点和z);
void updateVals(浮点x、浮点y、浮点z);
int main(int argc,char*argv[]){
浮动x=0,y=0,z=0;
如果(argc=0)
printf(“该命令没有其他参数。\n”);
getCurrentVals(x,y,z);
cout>x;
cout>y;
cout>z;
更新值(x,y,z);
}
无效getCurrentVals(…){
//使用一些代码获取当前VAL
}
void updateVals(…){
//以某种方式更新VAL
}
所以我的问题是如何将getCurrentVals和updateVals函数发送/传递到ROS中,以获取这些值并进行更新。如有任何帮助/建议,将不胜感激


谢谢。

因为我们必须使用github@flatmouseStart提供的mav_通信和转子模拟器来完成测试。鉴于您对C++的熟悉,您应该在学习了一些有关ROS的各种概念和编程技术的基本教程之后,很快就会达到速度。