Giter Club home page Giter Club logo

easymqos's Introduction

Introduce

easyMQOS is a simple and fast program to learn robot ,Distributed development framework for robots ,it supports c/c++ python webjs .based on mqtt protocol.

easy_mqOS 是我仿照ROS 搭建的基于MQTT的简易机器人分布式开发框架,是一种轻量级并且十分容易上手的框架,支持多个节点的主题的订阅和单topic发布,节点之间独立、解耦合。没有复杂的文件配置,一定的make编程基础,像正常启动服务一样,就可以运行。甚至可以在嵌入式linux上使用,而不用安装Ubuntu没有复杂的插件,很容易上手和学习。支持c.c++ ,python,js.MQTT协议特点

使用发布/订阅消息模式,提供一对多的消息分发,解除应用程序耦合。
搭配纸质书《轮式自主移动机器人编程实战》学习更快。

公众号 视觉动力机器人

目的

打造低成本的室内slam建图车和导航车;
打造户外GPS定位导航的自动驾驶车;

说明

每个对应的节点下有对应的说明请仔细阅读
xxx22表示ubuntu22.04的系统

本工程终端 的节点

easymqOs_IMU_node IMU的发布节点
easymqOs_base_OdomControl 和底盘stm32通信的节点使用串口和自定义的通信协议 ,包头0xaa
easymqOs_odom_imu_fusion 多传感器的融合航向角和位移 发布最终的位移和航向角度
easymqOs_gpsKalmanfilter gps filter node publish gps node gps滤波节点并发布
easymqOs_lidarA1_node slamtech lidar a1 publish distance 发布雷达360度的距离
easymqOs_lidardelta2_node delta 2 物美价廉的激光雷达 360度 单位,mm
easymqOs_opticalFlow_gl9306 GL9306光流传感器 串口接收 用于定位 调试中
easymqos_waypoint_save receive gps waypoints dats and save 接收规划路径的航点并保存
easymqOs_collect_datas 收集里程计和雷达数据 用于离线建图
easymqOs_detectDistance_vl53 收集 vl53l0的测距数据用于神经网络避障
easymqOs_detectDistance_sonaras 收集 sonars超声波的测距数据用于神经网络避障
easymqOs_AStar_planning A star path planning ,规划路径并发布路径信息

pytorch节点

neural_network_avoidance 采集正前方5个角度的激光雷达测距消息 使用神经网络完成避障功能
orangepizero2
easymqOs_oledssd1306 采集bmm150 地磁计并显示oled
easymqOs_navigation 截至2023/7/26 B站视频播放的使用该避障导航的程序

python 节点

使用python发布节点和接收,支持发布图片 。 跑深度学习 摄像头实时目标检测,

webjs的节点

指南针
轨迹航向显示
twist 键盘控制
baidu map 百度地图定位和路径规划 traject 显示雷达点云、图片流等

安装使用

首先在树莓派或者其他的Linux系统安装 mosquito

ubuntu 机器人终端

sudo apt-get install mosquitto-dev
sudo apt-get install mosquitto-clients
然后在 /etc/mosquitto/mosquitto.conf 添加支持wensocket的协议和端口
port 1883
listener 8083
protocol websockets
allow_anonymous true #2.0.11 高版本 注意:
mosquitto version 1.4.15 不需要认证
mosquitto version 2.0.11 需要连接认证

下一步
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
分别执行对应的程序

其他Linux系统

源码编译 mosquitto

web 的安装

跳转到web文件夹查看

硬件

img
img
img

stm32 源码和PCB 链接 在 github opencrobotics 中
https://github.com/horo2016/openCRobotics/blob/master/%E7%94%B5%E6%9C%BA%E9%80%9F%E5%BA%A6%E9%97%AD%E7%8E%AF%E6%8E%A7%E5%88%B6RCT6.rar

B站视频

https://www.bilibili.com/video/BV1R8411m7b5/?spm_id_from=333.999.0.0&vd_source=2056365a3e689ccb27ee312065d1714c

室内建图效果

img
img
imng
img
img

户外定位导航

easymqos -web 交互

img
img
img

easymqos's People

Contributors

horo2016 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.