Skip to content

amov-lab/kk-robot-swarm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kk-robot-swarm

KKswarm

简介

KK目标

开源机器人集群项目KKSwarm,由易科机器人实验室阿木实验室联合匠心打造。

KKSwarm项目旨在为研究人员搭建一个高效、易用的集群研究平台。结合ROS强大的开源生态,让研究人员或者工程师能够快速上手开发。同时也兼顾到理论研究和工程落地之间的跨度,KKSwarm项目通过搭建轻量级的仿真环境,再通过参数拟合让仿真和真实环境一致,让仿真环境和真实环境高度匹配,可以实现多智能体等算法的直接过渡,配合上低成本的机器人集群,可以快速在物理环境中验证算法,以达到工程落地的目的。

KKSwarm项目通过视觉定位,获取当前机器人的位置和方向。然后根据当前位置和方向,通过算法来控制其下一步的行为。目前KKSwarm项目拥有的功能有:

KK由来

KK(Kilo Ken)Swarm,致敬Kevin Kelly机器社会进化论,一个奉行极简主义的自组织机器人集群,具有丰富的机器人功能,如视觉、控制、学习、协同。同时追求超低成本、超大规模,致力于使群 体智慧走进物理世界。众多低成本机器人互相连接,进而产生他们的信息交流和反馈,相互学习,产生 秩序,以达到集体目标,Kevin Kelly将其称为“群智涌现”。

项目功能

KKSwarm项目正在成长之中,目前已正式推出的功能有:

  1. 独创的全局视觉定位系统,为大规模机器人集群提供低成本、高精度定位服务
  2. 提供基于MATLAB/simulink仿真与算法开发环境,可一键生成ROS代码并部署至KKSwarm机器人系统
  3. 提供KKSwarm集群协同simulink模板,可快速上手集群功能
  4. 提供KKDeep深度强化学习Simulink模板,免去繁琐的环境配置,训练后控制器可一键生成代码部署至机器人集群
  5. 提供ROS rviz在线可视化功能,直观展示集群运行情况
  6. 提供Matlab ROS 日志分析功能,方便采集数据进行分析,提升研发效率
  7. 支持虚拟雷达,低成本实现复杂分布式算法测试

系统说明

系统数据流向图

kkswarm项目通过路由器搭建局域网,集群小车为客户端。所有的算法和定位系统均在服务器主机上进行计算。然后通过TCP/IP协议,将控制指令发送给集群小车,从而控制小车的运动。同时主机服务器通过摄像机实时获取集群小车的位置和方向。

软件安装

系统要求

ubuntu18.04 以及 ROS Melodic

KKswarm项目安装

git clone https://github.com/kkswarm/kk-robot-swarm

海康威视相机Linux SDK

  1. 进入海康威视官网,选择机器视觉工业相机客户端MVS V2.1.0(Linux) 进行下载

注意

根据实际情况,版本可能有小更新。选择 机器视觉工业相机客户端MVS V2.1.x (Linux)。本项目使用的是 2.1.0版本

  1. 下载完成以后,解压。解压后将会显示适应各种架构的计算机的压缩包。这里选择 MVS-2.1.0_x86_64_20201228.tar.gz 这个压缩包进行安装。

  2. 解压第2步选择的压缩包

    tar -xvzf MVS-2.1.0_x86_64_20201228.tar.gz
    cd MVS-2.1.0_x86_64_20201228
    sudo bash setup.sh

    相机驱动将会安装在 /opt/MVS

    启动相机界面的命令为

    cd /opt/MVS/bin
    ./MVS.sh

    相机驱动的动态链接库路径为 /opt/MVS/lib/64

    相机驱动头文件路径为 /opt/MVS/include/

  3. 安装完毕后,将海康威视的动态库加入到系统动态库中。否则程序将无法运行。

    cd /etc/ld.so.conf.d
    sudo vim hik.conf ## 如果不会vim,则输入 sudo gedit hik.conf
    #在第一行加入相机驱动的动态链接库路径
    /opt/MVS/lib/64
    sudo ldconfig # 刷新配置

Apritag以及Apritag_ros

apriltag官方简介

apriltao_ros官方简介

KKSWARM 项目采用的标签家族是 Tag36h11,尺寸是7cm。 详情见 doc/apritags1-50.pdf。您也可以通过软件自动生成该家族标签。详情点击通过openmv生成apriltag标签

apritag安装
cd ~/kk-robot-swarm/
git clone https://github.com/AprilRobotics/apriltag.git
cd apriltag
mkdir build
cmake ..
make -j4
sudo make install
  1. Apriltag相关头文件将会被安装在 /usr/local/include/apriltag
  2. Apriltag相关的库将会被安装在 /usr/local/lib/
  3. 有关Aprilt

编译

cd ~/kk-robot-swarm
catkin_make

仿真Demo演示(基于Matlab)

单车航点

单车边界回弹

基于强化学习的多车跟随

队形变换仿真

分布式自主导航

真车Demo演示(基于ROS)

单车航点

单车边界回弹

基于强化学习的多车跟随

队形变换

分布式自主导航

pure pursuit

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages