1 简介
Easy_mqOS 是我仿照ROS 搭建的基于MQTT的简易机器人分布式开发框架,是一种轻量级并且十分容易上手的框架,
支持多个节点的主题的订阅和单topic发布,节点之间独立、解耦合。没有复杂的文件配置,一定的make编程基础,
像正常启动服务一样,就可以运行。甚至可以在嵌入式linux上使用,而不用安装Ubuntu没有复杂的插件,
很容易上手和学习。
支持c.c++ ,python,js.MQTT协议,特点:
-
使用发布/订阅消息模式,提供一对多的消息分发,解除应用程序耦合。
-
消息传输对有效载荷内容不可知。
-
使用TCP/IP提供基础网络连接。
-
有3个消息发布服务质量级别。
-
轻量传输,协议交换最小化,以降低网络网络流量。
-
提供一种机制,当客户端异常中断时,利用 Last Will 和 Testament 特性来通知有关各方。
对于不需要搭建太复杂的机器人,我觉得easy_mqos就可以满足自主巡航智能的功能.
在Download官网中可以看到支持 Ubuntu\debian\ rasbian。
在Linux 终端需要安装mosquitto的相关库:
sudo apt-get install mosquitto-dev
sudo apt-get install mosquitto-clients
2 目的
打造低成本的室内slam建图车和导航车;
打造户外GPS定位导航的自动驾驶车;
3 说明
每个对应的节点下有对应的说明请仔细阅读。
3.1终端节点
3.2 webjs的节点
安装使用
首先在树莓派或者其他的Linux系统安装 mosquito.
sudo apt-get install mosquitto-dev
sudo apt-get install mosquitto-clients
然后在 /etc/mosquitto/mosquitto.conf 添加支持wensocket的协议和端口.
port 1883
listener 8083
protocol websockets
下一步,
git clone this code 并查找libmosquitto.so 例如:
'sunrise@ubuntu:~/$ sudo find / -name libmosquitto*
[sudo] password for sunrise:
/usr/lib/aarch64-linux-gnu/libmosquitto.so.1
将 mqtt的libmosquitto.so 拷贝到每个节点的Mqtt/lib下,
cd 路径
make
分别执行对应的程序.
4 界面WEB JS
该程序配合mqtt使用 .
在树莓派或者其他派终端安装mqtt 工具包.
首先在树莓派或者其他的Linux系统安装 mosquitto.
sudo apt-get install mosquitto-dev
sudo apt-get install mosquitto-clients
然后在 /etc/mosquitto/mosquitto.conf 添加支持wensocket的协议和端口port 1883
listener 8083
protocol websockets
目前能用的功能有:
a 指南针功能
b 路径和航向显示轨迹显示, trajectory map.
c twist 键盘控制功能
见上图右侧。
d 户外机器人的地图规划
图片
5 最后看一下室内搭建的slam机器人效果
B站:
https://www.bilibili.com/video/BV1ed4y147rV/?spm_id_from=333.999.0.0&vd_source=2056365a3e689ccb27ee312065d1714c
源码地址
https://github.com/horo2016
来自 订阅号 视觉动力机器人 niceli123