热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用ROS控制桌面机械手Dobot魔术师?

Linux系统下,如何使用RobotOS机器人操作系统(ROS)控制桌面级机械手DobotMagician呢?小女子班门弄斧了,将在此Demo中展示给大家,欢迎各位大神交流。本D

Linux系统下, 如何使用Robot OS机器人操作系统(ROS)控制桌面级机械手Dobot Magician呢?

小女子班门弄斧了,将在此Demo中展示给大家,欢迎各位大神交流。本Demo不依赖Serial,自动适配x86和x64;使用的是Ubuntu16.04 X64 系统,ROS版本为ROS Kinetic Kame,在开始先要下载一个ROS DEMO, 请点击这里选择“Dobot magician之ROS Demo”。

对于ROS的安装,网上有详细的安装说明, 如果你英语不怎么好,看安装说明如看天书一般的话,不用担心有中文版,参考博文地址如下:http://www.cnblogs.com/liu-fa/p/5779206.html ,此博文详细介绍了ROS的安装流程:从版本的选择到安装完成、测试,每个步骤都非常详尽。


安装完了ROS之后,就到了如何使用这个系统控制前文提到的桌面机械手DOBOT魔术师了,如果大家不知道这是一款怎么样的手臂,可以去百度下,或者前文有链接地址可以参考,下面我们进入正题。


ROS安装完成后,Linux系统下将dobot_ws解压到~目录下  (注:必须在Linux下解压,否则会编译出错)。


打开终端,进入dobot_ws目录下,输入catkin_make



编译完成:



source一下setup.bash文件



先开启roscore打开另一个终端,运行命令roscore



成功后可以看到:



然后使用rosrun命令运行dobot包中的DobotServer

注意此处传入Dobot实际的端口号,我这里使用虚拟机,对应的是ttyUSB0



成功运行如下所示:



如果失败,则会提示Dobot未找到或被占用



如果是权限问题,可以参考下面的博文及链接解决:

linux下非root用户获得/dev/ttyUSB0的读写权限

http://blog.csdn.net/maoyongfan3/article/details/44623909 


dobot service成功运行后,再打开另外一个终端,进入dobot_ws.

同时source一下setup.bash文件



使用rosrun命令运行dobot包中的DobotClient_JOG

然后就可以使用键盘控制DobotW S A D U I J旋转 I旋转 

其他按键:停止



Ctrl + Ctrl停止,测试另外一个Client:

rosrun dobot DobotClient_PTP这个例子测试了PTP及队列命令控制等相关命令的使用Dobot会自动地在x = 200x = 250之间来回运动)。


其他说明:

1.目录结构

dobot_ws

-- src

  -- dobot

    -- include

    -- msg

    -- src

      -- DobotServer.cpp

      -- DobotClient_JOG.cpp

      -- DobotClient_PTP.cpp

     -- DobotDll

    -- srv

    -- CMakeLists.txt

    -- package.xml

  - CMakeLists.txt


理论上,可以不采用service的方式,直接参考DobotServer.cpp中对于DobotDll动态库的调用是可以做应用的。


2.  如果按WASD无任何反应,可能是键盘的键值与demo的不一致,可以到src文件里面更改相应的键值:



另外,如果出现以下错误,可能是因为连接的 USB 端口不对,请确认是否为dobot的端口:



以上不喜勿喷,但是欢迎各位大哥广提建议。若需转载,请注明出处。


推荐阅读
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了使用CentOS7.0 U盘刻录工具进行安装的详细步骤,包括使用USBWriter工具刻录ISO文件到USB驱动器、格式化USB磁盘、设置启动顺序等。通过本文的指导,用户可以轻松地使用U盘安装CentOS7.0操作系统。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
author-avatar
mobiledu2502908197
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有