当前位置: 首页 > wzjs >正文

安庆做网站公司自己开网站怎么开

安庆做网站公司,自己开网站怎么开,网站开发周总结,把照片做册子的网站1.使用自定义srv 1) 在功能包下新建文件夹srv, 在srv文件夹下新建Add.srv文件, 在Add.srv 文件写入: int32 num1 int32 num2------- int32 sum ps:其中-------是必须要有的 2)修改功能包下的package.xml 和 CMakeLists.txt文件 package.xml 修改如下…

1.使用自定义srv

        1)   在功能包下新建文件夹srv,

              在srv文件夹下新建Add.srv文件,

              在Add.srv 文件写入:

int32 num1
int32 num2-------
int32 sum

ps:其中-------是必须要有的

        2)修改功能包下的package.xml 和 CMakeLists.txt文件

package.xml 修改如下:(两处)

  <build_depend>message_generation</build_depend><exec_depend>message_runtime</exec_depend><!-- exce_depend 以前对应的是 run_depend 现在非法-->

CMakeLists.txt文件修改如下:(四处)

find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsmessage_generation
)
# 需要加入 message_generation,必须有 std_msgs
add_service_files(FILESAddInts.srv
)
generate_messages(DEPENDENCIESstd_msgs
)
#执行时依赖
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES demo02_talker_listenerCATKIN_DEPENDS roscpp rospy std_msgs message_runtime
#  DEPENDS system_lib
)

然后,catkin_make(Ctrl + shift +B),编译

在目录下查看自定义srv的C++和python路径

c_cpp_properties.json修改如下:

"includePath": ["/opt/ros/noetic/include/**","/usr/include/**","/xxx/yyy工作空间/devel/include/**" //配置 head 文件的路径

settings.json修改如下:

{"python.autoComplete.extraPaths": ["/opt/ros/noetic/lib/python3/dist-packages",]
}

知道了路径,就可以在C++和python的头文件包含这个路径

 

2. 服务方和客户方的文件编写

        2.1 C++服务方编写

#include "ros/ros.h"
#include "service_com/Add.h"bool doReq(service_com::Add::Request& req,service_com::Add::Response& resp)
{int num1 =req.num1;int num2 =req.num2;ROS_INFO("接受到数据为%d %d",num1,num2);resp.sum = num1+ num2;return true;
}int main(int argc, char *argv[])
{setlocale(LC_ALL,"");ros::init(argc,argv,"server_c");ros::NodeHandle nh;ros::ServiceServer server = nh.advertiseService("Ad",doReq);ROS_INFO("begin");ros::spin();return 0;
}

        2.2 C++客户方编写

#include "ros/ros.h"
#include "service_com/Add.h"int main(int argc, char *argv[])
{setlocale(LC_ALL,"");if(argc != 3){ROS_INFO("输入两个整数");return 1;}ros::init(argc,argv,"client_c");ros::NodeHandle nh;ros::ServiceClient client =nh.serviceClient<service_com::Add>("Ad");ros::service::waitForService("Ad");service_com::Add ai;ai.request.num1 = atoi(argv[1]);ai.request.num2 = atoi(argv[2]);bool flag =client.call(ai);if(flag){ROS_INFO("sum = %d",ai.response.sum);}else{ROS_INFO("error");return 1;}return 0;
}

        2.3 Python服务方编写

#! /usr/bin/env python
import rospy
from service_com.srv import Add,AddRequest,AddResponse
def doReq(req):sum = req.num1 +req.num2rospy.loginfo("接受数据为%d %d sum=%d",req.num1,req.num2,sum)resp =AddResponse(sum)return respif __name__ == "__main__":rospy.init_node("server_p")server = rospy.Service("Add",Add,doReq)rospy.loginfo("begin____")rospy.spin()

        2.4 Python客户方编写

#! /usr/bin/env pythonimport rospy
import sys
from service_com.srv import Add,AddRequest,AddResponseif __name__ == "__main__":if len(sys.argv) != 3 :rospy.logerr("error")sys.exit(1)rospy.init_node("client_p")client = rospy.ServiceProxy("Add",Add)rospy.wait_for_service("Add")req =AddRequest()req.num1 = int(sys.argv[1])req.num2 = int(sys.argv[2])resp=client.call(req)rospy.loginfo("sum = %d",resp.sum)

3.执行

在CMakeLists.txt 添加执行依赖

C++ 136)149)行

Python 162)行

http://www.dtcms.com/wzjs/486968.html

相关文章:

  • 做网站需要做哪些东西新冠疫情最新情况最新消息
  • 网站的构成元素长春视频剪辑培训机构
  • 中和阗盛工程建设有限公司网站广州疫情已经达峰
  • 快速搭建网站软件西安竞价托管
  • 推荐网站在线看兄弟们八宿县网站seo优化排名
  • 宁波白云医院网站建设免费发布网站seo外链
  • 光明新区住房和建设局 官方网站湖北seo服务
  • 中山网站制作建设爱站网注册人查询
  • 404 wordpress百度seo搜搜
  • 网站建设b2c成都疫情最新情况
  • 用dw做的网站怎么上传图片免费外链网站seo发布
  • 刚做优化的网站什么能更新企业网站优化服务公司
  • 微信网站开发合同seo优化运营
  • 投资公司注册资金多少移动端优化
  • 域名注册网站那个好网络营销流程
  • wordpress静态链接天津关键词优化专家
  • 购物网站建设服务免费seo在线优化
  • 为网站做一则广告语怎么申请网站详细步骤
  • 帮人做网站赚钱杭州谷歌seo公司
  • 上海企业网站推广手机管家一键优化
  • 网站之前没备案一个新的app如何推广
  • seo怎么做网站优秀案例爱站长
  • 哈尔滨网站建设招聘免费网络推广方式
  • 网上接加工订单哪家网站可靠seo网站排名优化教程
  • 阿里云备案 网站名称百度快照优化seo
  • 国外被墙网站十大网络营销经典案例
  • 网站建设需求调查表百度seo优化方法
  • 企业网站怎么管理系统重庆企业站seo
  • 工商局网站清算组备案怎么做常见的搜索引擎有哪些?
  • wordpress恢复seo收费还是免费