10 Star 49 Fork 13

xshadower / openrobot

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

openrobot

介绍

采用主从结构,以类人机器人xshadower为示例的通用开源机器人系统,非ROS,操控真实机器人,无仿真环境。 本系统采用makefile整合platformIO CLI为开发环境,整合主从代码统一管理。方便集成到jenkins等CI系统中。 主控主机在win10下python语言开发。实现对其他主机和从机的管理功能。 主控主机使用flask作为web显示,udp通信进行远程cmd控制,usb串口实现与子系统的通信。 其他主机系统通过有线或者无线网络接入主控主机,其他主机会采用jetson nano和树莓派3B。 子系统分节点和叶节点,节点和叶节点都可以通过串口直接接入主机。节点可以利用串口接叶节点,叶节点无扩展功能。 节点采用nucleo_f303re开发板,mbed os开发。实现对电机控制和叶节点的透传。 叶节点采用STM32F103C8最小系统板,ardunio开发。实现对电机的控制。

软件架构

输入图片说明

ROS架构太过复杂且缺乏节点管理,此系统整合主控和节点,统一管理

编译环境

  1. 目前该系统只在windows操作系统上运行,依赖python3.6及库flask platformio pyserial,安装命令示意如下 pip install --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple/ platformio
  2. 运行cmd打开命令行窗口,env 命令列出所有机器人项目
  3. lunch 命令激活该机器人项目,如下图所示

输入图片说明

  1. make xxx 命令(xxx为nodes).如下图所示 eg: make right_arm 编译名为right_arm的节点 make right_arm-clean 清除right_arm及相关编译 make clean-all清除所有编译 输入图片说明

下载到目标板

  1. 连接目标板到主机。如下图所示,连接nucleo_f303re目标板到主机(基于mbed开发,可以修改配置使用其他兼容开发板) 输入图片说明
  2. 运行make xxx-burn下载对应bin文件到目标板。eg:make right_arm-burn。详见下图 输入图片说明 输入图片说明
  3. 串口发送程序check,程序是否正常。如图所示,会接收到很多@符号 输入图片说明

使用与控制

  1. 关闭串口工具。打开cmd窗口,运行start_host.bat。此批文件会调用 ./robot/xshadower/host/manager/xshadower_manager.py脚本,此脚本会自动打开所有串口,侦测是否有@符号,如果对应串口收到@,表示此端口有可用node板,自动发送reg命令获取node板信息。如下图所示: 输入图片说明 输入图片说明
  2. 打开cmd窗口,运行cmd.bat。此批文件会自动cd ./robot/xshadower/host/manager目录,运行xshadower_term.py,此工具可通过命令行发送指令控制对应node板进行对应动作。如下图所示,其中@xxx表示对应命令控制xxx节点,>为命令分割符。eg:@right_arm>REG (向right_arm发送reg命令) 输入图片说明
  3. node常用指令如下图

输入图片说明

  • REG:注册指令,将节点信息上报给host
  • SEND:将指令序列传送到node的命令FIFO
  • RUN:运行指令FIFO的所有指令
  • EXEC:立即执行对应指令
  • RST:重启node
  • 自定义指令:MOTOR,DELAY等。采用指令加4参数的格式,中间用|隔开。eg:@right_arm>SEND DELAY|200|0|0|0(发送延时200ms指令到right_arm指令FIFO中);@right_arm>SEND MOTOR|1|180|0|0(控制right_arm的1号舵机转到180度位置) 在进行电机控制时,因为电机从一个位置运行到另一个位置需要耗费时间,再加上指令传输时间耗时会将较长,同步控制会很麻烦。这里设计指令FIFO队列可以将控制入队列,一次执行push 10条指令到队列。
MIT License Copyright (c) 2019 golden Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

采用主从结构,以类人机器人xshadower为示例的通用开源机器人系统,非ROS,操控真实机器人,无仿真环境。 本系统采用makefile整合platformIO CLI为开发环境,整合主从代码统一管理。方便集成到jenkins等CI系统中。 主控主机在win10下python语言开发。实现对其他主机和从机的管理功能。 主控主机使用flask作为web显示,udp通信进行远程cmd控制,usb串口实现与子系统的通信。 其他主机系统通过有线或者无线网络接入主控主机,其他主机会采用jetson nano和树莓派3B。 子系统分节点和叶节点,节点和叶节点都可以通过串口直接接入主机。节点可以利用串口接叶节点,叶节点无扩展功能。 节点采用nucleo_f303re开发板,mbed os开发。实现... 展开 收起
C
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/xshadower/openrobot.git
git@gitee.com:xshadower/openrobot.git
xshadower
openrobot
openrobot
master

搜索帮助

14c37bed 8189591 565d56ea 8189591