ros节点关闭问题


问题描述:

在使用ros的服务通信时需求:先启动客户端,不要直接抛出异常,而是挂起,等服务器启动后,再正常请求。

解决方案:ros中内置了相关函数,使客户端启动后挂起,等待服务器启动。

client.waitForExistence();
//或
ros::service::waitForservice("服务话题");

编写好程序程序后,在终端中输入以下指令后,遇到的问题如图所示:

第一次运行:正常

第二次运行:出现异常,没有任何输出

发现问题:

在终端中输入命令:

rosnode list

输出:

/service_node
/client_node
/rosout

原因:

“ctrl+z”并没有将相关节点关闭,只是将其暂时挂起。

解决方案:

使用“ctrl+c”,关闭节点。

2021.7.27 ghb


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM