基于ROS的机器人设计

2019-04-15 16:45发布

如果从头设计一个基于ROS的机器人,下位机单片机里应该封装些什么?下位机从上位机ROS系统中读取什么?上位机ROS给单片机发送什么?
1.单片机通过串口连接主机,单片机负责电流环,主机负责速度环和位置环,单片机上报发布里程计数据,主机下发速度控制指令。
ROS探索总结(四十六)—— ROS产品化探索之应用功能篇
这里写图片描述
问:图中分为两个部分,ros的程序一部分,下面实时系统一部分。控制层是和ros部分跑在同一个计算机上的还是控制层单独在下位机?因为看图中ros部分已经通过simple message层将上面的规划部分的数据传送到下面了,那控制层是在底层的控制板上做的?还是说除了跑着ros的上位机,机器人上还有台计算机跑着控制层的程序,上位机将ros规划好的数据发给机器人的计算机上,机器人的计算机做完插补,正逆解,等工作在发给底层的控制板? 答:
1. 这种架构的优势就在于可以跑在一台电脑上,也可以是在两台电脑上,很灵活
2. 可以这么理解,使用ROS的moveit完成上层运动规划,然后把数据发到和ROS无关的控制层做实时控制 问:
1.假如在一台电脑上,那中间的simple message层相对于控制层,还是在上面相当于同时跑ros部分和另一个控制层的程序?
2.使用一台电脑的话,对实时性要求比较高的任务像差补也在上位机做,这样是不是有点像离线插补?这样的话通过上位机打实时补丁也能保证实时性吗? 答:
1. 是的,一个是实时进程,一个是非实时进程而已
2. 必须要打实时补丁的,否则保证不了实时性 问:那这样的话底层控制板就只是接受数据负责执行,没有任何数据处理的部分了是吗? 答:差不多,主要就是计算插补输出,还有计算正逆解。