参考,背景资料,准备工作

  根据过去几年ROS社区的发展,很多书籍和机器人都给开发出来了,我从自己顺手的资料中列举几个给大家参考,以丰富此博文所写的当时的世界观和知识背景,请大神多多指出错误,谢谢。


  ROS的书籍 <ROS_robot_programming>, <learning robotic using python>, <Learning ROS for robotics programming 2nd>
  
  Arduino IDE, Visual Studial 2017, 建议大家直接从Visual Studial2017上安装Anaconda3,里面有spyder, 并且有插件开发C++的Arduino代码,这个插件可以互补IDE的不足。 (安装这些就是为了修改ros_arudino_bridge的代码使用)
  
  硬件:树莓派3b,Arduino 2560 *3或者Due *3,建议都用Due, MUP6050 *3, 减速电机*6,要带编码器的那种,L298n驱动板要12A以上的,光是这些材料估计就过1000块RMB了,看到这里,如果没预算的朋友就不要看下去了。
  网上找Serial通信的例子玩了一下,最后以RX1,TX1口的乱码和数据无法通过串口助手传输为结束,之后看RS485的资料介绍时候,才了解到这几天做的是RS232的通信,只能点对点,无法组网,于是专心搞RS485的 Modbus代码在Arduinos上,估计rosserail_arduino也是基于RS232通信的,无法组网就没意义了,毕竟机器手上需要很多IO口来控制各种部件。
  =================
  经过几天的arduino的modbus代码库尝试失败后,找到了一篇2017年土耳其人写的论文,用rs485 modbus, mpu6050做的项目,然后根据其文章内使用的functions与今天找到的一个arduino的modbus库比较,感觉2者可以使用,现列举出来:
  arduino modbusSlave的示例代码链接:
  https://www.cooking-hacks.com/documentation/tutorials/modbus-module-shield-tutorial-for-arduino-raspberry-pi-intel-galileo/
  其中使用了regBank.SetId(); regBank,add(); regBank,set(); 这几个函数传mpu6050的数据, mpu6050也是用示例代码中的raw的代码,但是算法不是Kalman filter, 而是使用了Complementary Filter.
  今天review了Baxter的limb.py代码,发现joint是来自float64的msg,换句话说就是从底层的单片机上通过modbus传回来的是float64类型数据,这几天用的Modbus Poll可以看的float选项里我看不懂,于是我又网上查询了Modbus float64发现有软件展示float类型的功能, 下载链接如下:
  https://www.protoconvert.com/SoftwareTools/Modbus/ModbusMasterSimulator.aspx
  #因为本次学习目的只是做一个简单的测试代码,这个代码是可以控制底层组网的单片机s,以完成简单是机器手testing,所以Baxter代码里的joint_trajectory_action.py就不在研究进程里,不需要调用Baxter的Bazier算法,而且我自己的机器手设计不是仿工业的设计,而更像Nextage,所以data_flow.py和limb.py是主要研究对象,对应的是Youbot的DataTrace.cpp,DataTrace.hpp, testing等。
  =============================
  limb.py里面的Subscribers有2ge, 3个Publishers, 里面都是有TCP nodely=True,说明走TCP的ROS传输,我记得Rethinkrobotic是今年还是上一年倒闭的,而cobot的领头羊一下子就变成Universal robotics了,而后者还是继续沿用了RS485传输的,说明串口线在工业应用中的地位还是很重要的,在油管上也看到了UR的关节拆解视频,里面只有485线和电源线走过,很简单。 如果我还是要坚持使用python来做上位机控制的话,那么limb.py这里的TCP部分就要改了,哪怕不用ROS的通信机制也没关系,毕竟测试阶段浪费了很多时间的安装ROS系统上了,不应该这样的。
  说回正题,百度早该倒闭了,上面查的modbus的帖子很多都不详细,比起视频解说来的没竞争力,最后我都是通过油管和youku找到了视频介绍的,其中youku上一个介绍modbus poll和modbus slave 是需要一个虚拟串口来支持的,现在留下链接:
  https://v.youku.com/v_show/id_XMTQxODY1NDIzMg==.html?spm=a2h0k.11417342.soresults.dposter
  https://dl.pconline.com.cn/download/825163.html
  者2个链接应该足够完成modbus poll, modbus slave的测试了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值