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

单位公众网站建设要求做谱的网站

单位公众网站建设要求,做谱的网站,wordpress 主查询,免费聊天网站模板和源码机器人学、机器视觉与控制 上机笔记#xff08;第一版译文版 2.1章节#xff09; 1、前言2、本篇内容3、代码记录3.1、新建se23.2、生成坐标系3.3、将T1表示的变换绘制3.4、完整绘制代码3.5、获取点*在坐标系1下的表示3.6、相对坐标获取完整代码 4、结语 1、前言 工作需要第一版译文版 2.1章节 1、前言2、本篇内容3、代码记录3.1、新建se23.2、生成坐标系3.3、将T1表示的变换绘制3.4、完整绘制代码3.5、获取点*在坐标系1下的表示3.6、相对坐标获取完整代码 4、结语 1、前言 工作需要想同时显示出六轴协作臂一组位姿信息逆解出的八组关节角的效果情况。就想使用MATLAB的机器人工具箱RTB去实现这一需求辅助数据分析。朋友推荐了《机器人学、机器视觉与控制》这本书书的作者也是工具箱RTB的作者就开始拜读补充基础知识并结合书中的RTB示例代码熟悉RTB的使用。个人使用的matlab2022b版本和10.4版本的RTB实际操作时发现书本中的示例代码(猜测应该是9版本的RTB语法未做到向下兼容)在个人使用的环境下频繁出现报错无法运行的问题。就准备写一个改正后的实机运行记录系列。 2、本篇内容 记录书中第2.1章节中的示例代码修改后能在10.4版本中正确运行。 3、代码记录 3.1、新建se2 原书中的第一步是用函数se2创建一个齐次变换原书代码如下 T1 se2(1, 2, 30 * pi / 180) T1 0.8660 -0.5000 1.00000.5000 0.8660 2.00000 0 1.0000在高位版本环境下运行报错原因是se2的函数形参变动调整了 T1 se2(1, 2, 30 * pi / 180) 错误使用 matlabshared.spatialmath.internal.SE2Base Invalid number of arguments. To create an se2, specify 2 or fewer arguments.出错 se2 (第 69 行)objmatlabshared.spatialmath.internal.SE2Base(varargin{:});下面我们来看看help文档中高版本的se2函数定义 原书中是位移在前旋转在后高版本恰恰相反了。因此新建se2需要修改为可能步骤有些繁琐欢迎评论区留言优化 tr [1, 2]tr 1 2rot rotz(30)rot 0.8660 -0.5000 00.5000 0.8660 00 0 1.0000 T1 se2(rot(1:2, 1:2), tr)T1 se20.8660 -0.5000 1.00000.5000 0.8660 2.00000 0 1.0000 3.2、生成坐标系 这个没有问题同原书一样即可生成一个XY轴分别为[0,5]刻度的二维平面坐标系。 axis([0 5 0 5]);3.3、将T1表示的变换绘制 原书代码如下 trplot2(T1, frame, 1, color, b)在高位版本下同样运行报错报错提示如下 trplot2(T1, frame, 1, color, b) Unable to perform assignment because value of type se2 is not convertible to double.出错 transl (第 88 行)t1(1:3,4,:) x;出错 trplot2 (第 148 行)if all(size(T) [3 3]) || norm(transl(T)) eps原因:无法从 se2 转换为 double。根据报错提示T1此时是se2数据类型而高版本的trplot2函数的第一个形参要求数据类型为double那么此处需要手动进行数据类型转换。可以参考该链接: (知乎)matlab中SE3是什么类型怎么转换成double型矩阵 经过实际尝试,使用tform函数有效转换如下 T1_double tform(T1)T1_double 0.8660 -0.5000 1.00000.5000 0.8660 2.00000 0 1.0000工作区中也可以观察到数据类型变换成功。 这边需要再多说几句知乎回答中提及的T1.T方式尝试过报错未识别类 se2 的方法、属性或字段 T。提及的另一种double(T1)强制转换的方式也同样以失败告终。之后翻阅了tform函数的文档看了一下该函数应该是2022b版本以后引入的。 最终运行效果如下记得补加上hold on原书中缺失不然坐标轴刻度变化不再是[05] T1_double tform(T1)T1_double 0.8660 -0.5000 1.00000.5000 0.8660 2.00000 0 1.0000hold on trplot2(T1_double, frame, 1, color, b)3.4、完整绘制代码 tr [1, 2]tr 1 2 rot rotz(30)rot 0.8660 -0.5000 00.5000 0.8660 00 0 1.0000 T1 se2(rot(1:2, 1:2), tr)T1 se20.8660 -0.5000 1.00000.5000 0.8660 2.00000 0 1.0000 axis([0 5 0 5]);T1_double tform(T1)T1_double 0.8660 -0.5000 1.00000.5000 0.8660 2.00000 0 1.0000 hold ontrplot2(T1_double, frame, 1, color, b)rot2 rotz(0)rot2 1 0 00 1 00 0 1 tr2 [2, 1]tr2 2 1 T2 se2(rot2(1:2, 1:2), tr2)T2 se21 0 20 1 10 0 1 T2_double tform(T2)T2_double 1 0 20 1 10 0 1 hold ontrplot2(T2_double, frame, 2, color, r);T3 T1 * T2T3 se20.8660 -0.5000 2.23210.5000 0.8660 3.86600 0 1.0000 T3_double tform(T3)T3_double 0.8660 -0.5000 2.23210.5000 0.8660 3.86600 0 1.0000 hold on;trplot2(T3_double, frame, 3, color, g);T4 T2 * T1T4 se20.8660 -0.5000 3.00000.5000 0.8660 3.00000 0 1.0000 T4_double tform(T4)T4_double 0.8660 -0.5000 3.00000.5000 0.8660 3.00000 0 1.0000 hold ontrplot2(T4_double, frame, 4, color, c)hold on;P [3; 2];plot_point(P, *);最终效果如下 3.5、获取点*在坐标系1下的表示 原书中的inv在高版本使用时同样需要注意数据类型一致的问题 % 原书中使用的变量名为P1 % 个人使用P_to_T1替换感觉变量名意义更清晰明了些P_to_T1 inv(T1) * [P; 1] 错误使用 .* times, .* requires both operands to be transformations or rotations (of the same type).出错 * (第 18 行)out obj1 .* obj2;报错原因为左侧inv(T1)的结果仍为se2类型需要变为double类型。验证如下 Test inv(T1)Test se20.8660 0.5000 -1.8660-0.5000 0.8660 -1.23210 0 1.0000 Test_double tform(Test)Test_double 0.8660 0.5000 -1.8660-0.5000 0.8660 -1.23210 0 1.0000 P_to_T1 Test_double * [P; 1]P_to_T1 1.7321-1.00001.0000成功获取点*相对于坐标系{1}的表示为1.7321-1.0000。 3.6、相对坐标获取完整代码 Test inv(T1)Test se20.8660 0.5000 -1.8660-0.5000 0.8660 -1.23210 0 1.0000 Test_double tform(Test)Test_double 0.8660 0.5000 -1.8660-0.5000 0.8660 -1.23210 0 1.0000 P_to_T1 Test_double * [P; 1]P_to_T1 1.7321-1.00001.0000 h2e(Test_double * e2h(P))ans 1.7321-1.0000 homtrans(Test_double, P)ans 1.7321-1.0000 P_to_T2 homtrans(tform(inv(T2)), P)P_to_T2 11 4、结语 平时工作为机械臂软件开发书本中的matlab示例代码跑通的感觉还是挺舒服的。2.1节总体评价不错通过二维演示了三维常见的齐次变换大致的使用思想。减去Z的维度确实更方便初学者的理解。工作一年多回过头来再看这些内容也受益匪浅。
http://www.pierceye.com/news/459923/

相关文章:

  • 南宁网站seo排名优化手机网站制作架构
  • 亿唐网不做网站做品牌案例分析seo 推广服务
  • 深圳网站建设服务器如何编写一份网站开发需求文档
  • 营销网站策划wordpress主题在线汉化插件下载
  • 深圳市网站开发个人养老保险金怎么交
  • 超炫html5网站模板新手做网站怎么上传系统
  • 一个网站的二级目录在另一台服务器上_怎么做网络营销工程师前景
  • 个人网站推广软件企业网站建设变相收取等级保护费6
  • 有没有一些网站可以做问卷个人网站 服务器
  • 网站前端WordPress怎么自定义页眉
  • 常州企业免费建站秦皇岛市住房公积金管理中心
  • 网站建设网站需要什么软件有哪些使用wordpress开发一个页面
  • 贵溪市城乡建设局网站手机网站推荐
  • wordpress多站点的路径深圳龙岗区宝龙街道
  • 做外贸免费发布产品的网站装修软件app哪个好
  • 网站注册系统医疗器械分类目录2021
  • 珠海建设网站百度收录有什么好处
  • 二手网站专业做附近人的有吗免费申请网站永久
  • 校园二手市场网站开发网站文章优化流程方案
  • 手机网站的必要性衡水网站设计费用
  • 厦门市建设安全管理协会网站网站登录模板下载
  • 江苏启安建设集团有限公司网站wordpress图标字体不显示不出来
  • 网络营销网站规划建设实训作业免费云空间
  • 杭州建设网站官网想学做宝宝食谱上什么网站
  • 用自己服务器做网站乡镇信息公开网站建设制度
  • 网站建设平台简介电子商务网站模版
  • 广州做网站怎么样安监网站如何做紧急预案备案
  • 自己做的网站怎样才有网址浏览oa软件多少钱一套
  • 旅游电子商务网站的建设深圳华强北赛格大厦最新消息
  • 视觉设计网站建设有没有做.net面试题的网站