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

北京品牌网站建设公司排名邯郸做网站公司哪家好

北京品牌网站建设公司排名,邯郸做网站公司哪家好,电商网站设计多少钱,江苏建设信息电子证查文章目录 1.本方向内学习内容#xff1a;1.1.自定义msg#xff1a;1.1.1.定义msg文件#xff1a;1.1.2.编辑配置文件#xff1a; 1.2.自定义srv#xff1a;1.2.1.定义srv文件#xff1a;1.2.2.编辑配置文件#xff1a; 1.3.服务通信案例实现#xff1a;1.3.1.服务端实现… 文章目录 1.本方向内学习内容1.1.自定义msg1.1.1.定义msg文件1.1.2.编辑配置文件 1.2.自定义srv1.2.1.定义srv文件1.2.2.编辑配置文件 1.3.服务通信案例实现1.3.1.服务端实现重点语法、接口等的复现与记忆以及一些注意事项 1.3.1.客户端实现重点语法、接口等的复现与记忆以及一些注意事项 1.4.参数服务器1.5.URDF集成Rviz基本流程1.5.1.新建功能包导入依赖1.5.2.编写urdf文件1.5.3.在launch文件集成URDF与Rviz1.5.4.在Rviz中显示机器人模型 1.6.再识URDF标签1.6.1.linkvisual(描述外观):geometry设置连杆形状: origin(设置偏移量与倾斜角度):material(设置颜色) 碰撞参数等 1.6.2.jointparent (必须)child link:origin:axis:需要转动的关节需要设置这个参数 1.6.3. 完成小车仿真并加载到launch文件中1.6.4.base_footprint优化urdf 1.本方向内学习内容 1.1.自定义msg 1.1.1.定义msg文件 功能包下新建msg目录添加文件 Person.msg。 string name uint16 age float64 height1.1.2.编辑配置文件 package.xml中添加编译依赖与执行依赖 build_dependmessage_generation/build_depend exec_dependmessage_runtime/exec_dependCMakeLists.txt编辑msg相关配置 1. find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgs #std_msgs必须有message_generation #添加编译时依赖加入这个 )#配置msg源文件 add_message_files(FILESPerson.msg #添加创建的msg源文件)#生成消息时依赖于std_msgs generate_messages(DEPENDENCIESstd_msgs#添加std_msgs依赖)去掉该依赖的注释。 4. #执行时依赖 catkin_package( # INCLUDE_DIRS include # LIBRARIES plumbing_pub_subCATKIN_DEPENDS roscpp rospy std_msgs message_runtime#加上message_runtime # DEPENDS system_lib )只放开CATKIN_DEPENDS一句并加上message_runtime即可。 1.2.自定义srv srv请求相应 1.2.1.定义srv文件 功能包下新建srv目录添加xxx.srv文件 int32 num1 int32 num2 --- int32 sum注意一定要按照格式来创建三个-分割线不能少。上面是请求下面是应答注意顺序。 1.2.2.编辑配置文件 与msg编辑配置文件相同。 package.xml中添加编译依赖与执行依赖 build_dependmessage_generation/build_depend exec_dependmessage_runtime/exec_dependCMakeLists.txt编辑msg相关配置 1. find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgs #std_msgs必须有message_generation #添加编译时依赖加入这个 )#配置msg源文件 add_message_files(FILESAddints.srv #添加创建的srv源文件)#生成消息时依赖于std_msgs generate_messages(DEPENDENCIESstd_msgs#添加std_msgs依赖)去掉该依赖的注释。 4. #执行时依赖 catkin_package( # INCLUDE_DIRS include # LIBRARIES plumbing_pub_subCATKIN_DEPENDS roscpp rospy std_msgs message_runtime#加上message_runtime # DEPENDS system_lib )只放开CATKIN_DEPENDS一句并加上message_runtime即可。 1.3.服务通信案例实现 1.3.1.服务端实现 #! usr/bin/env python import rospy from plumbing_server_client.srv import Addints,AddintsResponse,AddintsRequestdef doNum(request):num1 request.num1num2 request.num2sum num1 num2response AddintsResponse()response.sum sumrospy.loginfo(服务器解析的数据num1 %d, num2 %d,响应的结果 sum %d,num1,num2,sum)return responsedef server():rospy.init_node(company)server rospy.Service(addInts,Addints,doNum)rospy.loginfo(服务器已经启动了)rospy.spin()if __name____main__:server()重点语法、接口等的复现与记忆以及一些注意事项 1.实例化服务端对象**rospy.Service(话题名,数据类,回调函数)。 2.导包的时候为了方便可以使用通配符*,需要将Response类和Request类都导入。 3.可以这么理解AddInts是一个大数据类而AddIntsResponse和AddIntsRequest是AddInts.srv文件编译之后产生的子类。不准确的说是一分为二 在产生的中间文件中便可发现继承关系**。所以我们在服务端是用AddIntsResponse实例化对象在客户端用AddIntsRequest实例化对象而不是用AddInts实例化对象。 4.回调函数自动接收的参数是请求类型的在本例中是两个数据然后需要将数据取出来进行处理num1 request.num1 num2 request.num2 sum num1 num2。 5.处理过后的结果放入实例化的responseAddintsResponse对象中然后存入处理过后的数据结果response.sumsum并返回response。 6.有回调函数都需要使用rospy.spin()。 1.3.1.客户端实现 #! usr/bin/env pythonimport rospy from plumbing_server_client.srv import * import sys# ROS中内置了相关函数这些函数可以判断服务器的状态如果服务没有启动那么就让客户端挂起。def client():if len(sys.argv)!3 :#包括一个默认的参数rospy.loginfo(传入的参数个数有误)sys.exit(1)rospy.init_node(me)client rospy.ServiceProxy(addInts,Addints) #实例化客户端对象num1 int (sys.argv[1])num2 int (sys.argv[2])#等待服务器启动client.wait_for_service()#如果用rospy.wait_for_service(这里面需要话题名称)response client.call(num1,num2)#组织请求数据并发送请求接收响应数据rospy.loginfo(响应的数据%d,response.sum)# 处理响应if __name____main__:client()重点语法、接口等的复现与记忆以及一些注意事项 1.实例化客户端对象clientrospy.ServiceProxy(话题名数据类)注意这里不是rospy.client它是一个方法。 2.组织请求数据并发送请求接收相应数据。用已经实例化的客户端对象client.call(num1,num2),接收数据responseclient.call(num1,num2) 优化 3.从终端中传入参数导入sys包判断参数是否为三个第一个参数为文件名加上两个数字应该是三个 if len(sys.argv)!3 :#包括一个默认的参数rospy.loginfo(传入的参数个数有误)sys.exit(1)不满足条件就打印错误日志信息并退出。len(sys.args)用来获取终端中传入的参数个数,sys.argv是一个列表list/数组里面存放参数字符所以取出的时候应该使用下标引用操作符并进行强制转换。 num1 int (sys.argv[1])num2 int (sys.argv[2])4.解决先打开客户端抛出异常的问题 client.wait_for_service()#如果用rospy.wait_for_service(这里面需要话题名称)加在发送请求前即可。 1.4.参数服务器 1.设置参数 rospy.set_param(参数名键value值)如 rospy.set_param(type_p,car)rospy.set_param(radius_p,0.15)复用可以实现覆盖修改 查看参数列表 rosparam list查看参数值 rosparam get 参数名2.查询参数 相关函数有(rospy包中) 1.get_param(“参数名”,默认值)#当参数存在时返回对应的值不存在返回默认值。 2.get_param_cached(“参数名”,默认值),与get_param使用方法一致只是效率更高。 3.get_param_names(),获取所有参数名键的集合可用for names in names来遍历输出。 4.has_param(参数名),判断某个参数是否存在返回true or false 5.search_param(参数名)查找某个参数的键/参数名 3.删除参数 rospy.delete_param(参数名)1.5.URDF集成Rviz基本流程 1.5.1.新建功能包导入依赖 由于不涉及编写py/cpp文件所以不需要导入roscpp、rospy等功能包。需要导入urdf、xacro依赖。 在功能包路径下创建以下四个文件夹。 1.5.2.编写urdf文件 robot namemyCarlink namebase_linkvisualgeometrybox size0.5 0.2 0.1//geometry/visual/link /robot一定要要注意/的位置 1.5.3.在launch文件集成URDF与Rviz launch!-- 在参数服务器载入urdf文件 --param namerobot_description textfile$(find urdf01_rviz)/urdf/car.urdf/!-- 启动Rviz --node pkgrviz typerviz namerviz args-d $(find urdf01_rviz)/config/show_myCar.rviz //launch------------------------ 在参数服务器载入urdf文件 ------------------------ robot name固定robot_description文件路径格式$(find 包名)路径到文件 --------------------------------- 启动Rviz --------------------------------- pkg、type、name都是rviz后面的args是rviz配置文件的路径该配置文件最好放在当前功能包下的config文件夹中。 1.5.4.在Rviz中显示机器人模型 用roslaunch启动。 添加RobotModel、Axes,然后将FIxed Frame设置为base_link 成功显示模型。 1.6.再识URDF标签 成双标签/加在第二个最前面单标签/加在最后面。 1.6.1.link link和robot标签都有name的属性。 visual(描述外观): geometry设置连杆形状: 标签1 box(盒状)属性size“长 宽 高” 标签2 cylinder(圆柱)属性radius半径 length“高” 标签3 sphere球体属性radius“半径” 标签4 mesh为连杆添加皮肤属性filename“路径”格式package://功能包名/路径到文件 origin(设置偏移量与倾斜角度): 属性1 xyzx偏移 y偏移 z偏移 属性2: rpy“x翻滚量 y俯仰量 z偏航量”单位是弧度 material(设置颜色) material含有name属性。 标签1 color,属性rgba红绿蓝透明度“x y z a”(四者取值[0,1]) 碰撞参数等 后续介绍。 1.6.2.joint 有两个属性name和type 其中type包括 parent (必须) 属性 link“父link名” child link: 属性 link“子link名” origin: 属性 xyz“x y z”(各轴线上的偏移量) rpy“r p y”(各轴线上的偏移弧度) axis:需要转动的关节需要设置这个参数 属性 **xyz用于设置围绕哪个轴运动。**xyz“ 0 0 1 ”表示绕z轴旋转 1.6.3. 完成小车仿真并加载到launch文件中 编写urdf文件 小炮车mesh 0.17 rpy0.0 1.05 1.57//jointlink namepaoGuanvisualgeometrycylinder radius0.02 length0.45//geometrymaterial namecolorcolor rgba1.0 0.2 0.3 0.55//material /visual/link /robot简陋小车:(带camera) robot namemyCarlink namebase_linkvisualgeometrybox size0.3 0.2 0.1//geometryorigin xyz0 0 0 rpy0 0 0/material namecolorcolor rgba0.8 0.5 0.0 0.5//material/visual/linklink namecamvisualgeometrybox size0.02 0.05 0.05//geometryorigin xyz0.0 0.0 0.025 rpy0.0 0.0 0.0/material namecam_colorcolor rgba0 0 1 0.5//material/visual/linkjoint namecamera2Base typecontinuousparent linkbase_link/child linkcam/origin xyz0.12 0 0.05 rpy0.0 0.0 0.0/axis xyz0 0 1/ /joint /robot1.关节优先 关节的位置确定了子连杆和父连杆的相对位置关系关节的参考系是主参考系而子连杆的参考系是以关节为中心的参考系。 2.配置机器人状态发布者及相关节点 要成功显示机器人模型需要在launch文件中添加 node pkgjoint_state_publisher typejoint_state_publisher namejoint_state_publisher/ node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher/如果要查看机器人关节旋转效果需要在launch文件中添加 node pkgrobot_state_publisher typerobot_state_publisher namerobot_state_publisher/并注释关节信息发布节点解决cam抖动的问题。 3.关节中心位置默认与父连杆中心重合 1.6.4.base_footprint优化urdf 默认情况下底盘中心点位于地图原点上所以会导致机器人模型半沉入地下可以使用优化策略将初始link设置为一个尺寸极小的link如半径为0.001m的球体或边长为0.001的立方体然后再在初始link上添加底盘等刚体这样实现虽然仍然存在半沉现象但可以基本忽略。 添加初始link link namebase_footprintvisualgeometrybox size0.001 0.001 0.001//geometryorigin xyz0 0 0 rpy0 0 0/material namecolorcolor rgba0.8 0.5 0.0 0.5//material/visual/link添加关节 joint namefp typefixedparent linkbase_footprint/child linkbase_link/origin xyz0 0 0.05 rpy0.0 0.0 0.0//joint注意将base_footprint作为父连杆。
http://www.w-s-a.com/news/469505/

相关文章:

  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站
  • 网站建设开发设计营销公司山东网信办抓好网站建设
  • 斗图在线制作网站搜索关键词优化
  • 大连 网站建设 有限公司十大erp系统
  • 网站后台建设软件网络营销公司招聘
  • 做网站销售电销好做吗网站开发毕业设计代做
  • 成都学网站建设费用帝国cms与wordpress
  • 如何刷网站排名品牌设计的英文
  • 富阳有没有做网站的房产局官网查询系统
  • 建设网站列表aliyun oss wordpress
  • 做PPT的辅助网站wordpress拖拽式主题
  • 商城网站源码seo兼职58
  • 汽车租赁网站的设计与实现全网营销推广哪家正规
  • 做网站时怎么取消鼠标悬停如何设计软件界面
  • 建德网站设计公司中国十大热门网站排名
  • 网站与新媒体建设测评方案163企业邮箱官网入口
  • 怎样做下载网站页面设计参评
  • 哈尔滨住建局网站首页设计制作过程
  • php投资理财企业网站模板网站呼叫中心 建设工期
  • 查数据的权威网站silverlight 做的网站
  • 网站开发外包网站贵阳网站建设 网站制作