【NEUQ RM SI战队项目开源】gazebo仿真开源

2023-05-16

【NEUQ RM SI战队项目开源】gazebo仿真开源

    • 写在前面
    • 演示视频
    • 第一部分:机器人仿真环境
    • 正文:基于gazebo的RM仿真环境
    • 贡献
    • 照片墙

写在前面

一个新冠疫情,打乱了所有队伍的备赛计划,转战云备赛是不得已的选择。今年二月份,我们就开始陆续进行云备赛了。过程中,仿真环境的选择和搭建是必须要过的第一关。我们开发出了一个基于gazebo的rm仿真环境,现在开源给各位,供各位参考。
本文分为两部分,第一部分总结了各类常用的机器人仿真环境,第二部分才是正文。正文包括模型介绍、典型用法和配置步骤。对机器人仿真环境比较熟悉的同学可直接跳至分割线后阅读正文。

演示视频

点击链接:https://v.qq.com/x/page/e31016be5tc.html

第一部分:机器人仿真环境

RM论坛上的仿真主要分为三类,算法仿真、机械仿真、基于游戏引擎的仿真。算法的仿真通常是基于matlab的。Matlab编程简单,能够快速地实现一些简单地想法,但是不如一些有gui的仿真环境直观,而且matlab受限于其解释性的编程语言,运行速度慢,对于大型的程序无能为力。如果搭配一些现有的机器人工具箱,会使仿真直观得多。

matlab中的机器人工具箱:

matlab中的机器人工具箱
这里给出机器人工具箱的网址:机器人工具箱
Github项目地址:Github项目
最近在论坛上有一款机械仿真环境很火,那就是admas。通过admas可以检验所设计的机械结构的合理性以及一些动力学特性。
甚至还有大佬用游戏引擎unity开发了一款RM仿真环境。

基于unity的rm仿真环境:
基于unity的rm仿真环境
此仿真环境非常适合操作手练习,甚至还支持局域网对战。这里放出链接:https://bbs.robomaster.com/forum.php?mod=viewthread&tid=6101
https://bbs.robomaster.com/forum.php?mod=viewthread&tid=10288
https://bbs.robomaster.com/forum.php?mod=viewthread&tid=9288

除了论坛大佬开源的仿真以外,我们还可以使用一些成熟的机器人仿真软件,如gazebo、webots和V-REP(coppeliasim)。我们最熟悉的可能是gazebo(http://gazebosim.org/),gazebo支持动力学仿真,内置了许多传感器,诸如激光雷达,各种单目、双目以及深度摄像头,还有接触传感器等。在gazebo中,我们可以构建机器人模型,也可以使用内建的模型搭建机器人。不仅如此。Gazebo还支持TCP/IP通信。有人还基于gazebo开发了一个无人机仿真环境Rotors(https://github.com/ethz-asl/rotors_simulator)。
但是,总体来看,我个人认为webots(https://www.cyberbotics.com/)比gazebo更强大一些,维护得也更好,在gazebo已有功能的基础上,webots还支持更多的平台(win, mac, Linux)以及更多的语言(c, c++, python, java, ros, matlab)。V-REP(现更名为coppeliasim)我没有使用过,但就官网(https://www.coppeliarobotics.com/features)提供的信息来看,这个仿真环境似乎也很强大。

coppeliasim介绍:coppeliasim介绍

正文:基于gazebo的RM仿真环境

我们基于gazebo开发了一个RM仿真环境,它具有友好的接口(ROS),有完整的机器人模型和地图模型,而且方便各位二次开发,现在开源给大家。下面我分模型介绍、典型用法和配置步骤三个方面叙述。

模型介绍
内含的机器人模型有步兵和哨兵。步兵的底盘类型为四轮全向,底盘上方是一个二自由度的云台,云台上安装有发射机构。

步兵urdf模型:

步兵urdf模型
步兵坐标系示意图:

步兵坐标系示意图
步兵上配置有单目摄像头传感器。
哨兵模型相对简单,目前仅能在轨道上正常运动。

哨兵urdf模型:

哨兵urdf模型
场地模型包括2V2和步兵竞速射击,都是严格按照手册1:1构建的。

步兵竞速射击场地俯视图:

步兵竞速射击场地俯视图
步兵竞速射击场地:

步兵竞速射击场地
2v2场地:

2v2场地
步兵竞速射击的场地中,小陀螺和大风车都可以根据给定的规律旋转。

典型用法
这个仿真环境的典型用法分两类,一是代码架构测试,二是算法测试。
代码架构测试是指将不同队员编写的代码嵌入仿真环境中,以检验数据流或接口的正确性。对于第一年参加比赛的新队伍来说,完成第一版代码并不是一件容易的事情,特别是上位机的一些算法。很多时候代码是由多个同学合作完成的,这就需要代码块之间有良好的接口。如果代码是基于ros的,将会大大提升团队合作的效率。在将代码块合并之前,需要对每个代码块分别单独进行测试。每个模块测试无误后,再将其连接到一起,看有没有bug。这个过程可以在此仿真环境中完成。
此仿真环境还可以做一些算法测试。例如,要验证视觉伺服算法的正确性,只需要将对应代码嵌入此仿真环境:仿真摄像头可以生成视频流,以视频流作为视觉伺服的输入。通过观察云台动作,就可以直观地看到是否有bug。更进一步,可以将计算结果与仿真环境的真实数据做比较,以分析算法的各方面性能。此外,还可以用于哨兵定位算法的测试。

配置步骤

首先下载本工程:
git clone https://github.com/bkxcyu/neuq_gazebo_rm.git

如果没有安装gazebo,需要安装
sudo apt-get install ros-kinetic-gazebo-ros-pkgs
sudo apt-get install ros-kinetic-gazebo-ros-control

接下来安装一些依赖
sudo apt-get update
rospack profile
sudo apt-get install ros-kinetic-position-controllers
sudo apt-get install ros-kinetic-effort-controllers
sudo apt_get install ros-kinetic-joint-state-controller

下面进行编译
cd neuq_gazebo_rm
catkin_make
cd neuq_gazebo_rm/src/rm_description/src
chmod u+x move.py
chmod u+x rviz.py

如果编译无误了,可运行demo
(若编译遇到问题,可联系杜泽文(duzewen@neuqrm.cn)。

加载场地模型和步兵模型demo
roslaunch rm_description test.launch

键盘控制demo
roslaunch rm_description gazebo_node.launch

另外,还提供了rviz版
roslaunch single_2101t display.launch
roslaunch rm_description rviz_node.launch

更多详细内容参见此git项目的readme文件。
(https://github.com/bkxcyu/neuq_gazebo_rm/tree/master/neuq_gazebo_rm)

贡献

包晓雨:此项目总负责人
万瀚阳:步兵云台关节控制、步兵云台urdf文件。
李斐菲:单目相机、步兵云台urdf文件。
汤伊静:小陀螺和能量机关上色、仿真开源测试。
罗俊宇:步兵云台urdf文件。
张舒羽:步兵竞速与场地射击场地urdf文件、2v2比赛场地urdf文件、模型汇总。
王嘉浩:哨兵底盘urdf、哨兵底盘与云台urdf的整合。
杨克楠:哨兵云台urdf。
杨子悦:哨兵云台设计。
张雨辰:哨兵轨道urdf、哨兵底盘运动控制、汇总哨兵文件,哨兵readme。
杜泽文:步兵底盘urdf文件、汇总步兵文件,步兵底盘控制、rviz仿真、小陀螺和能量 机关关节控制、步兵readme文件。

照片墙

在这里插入图片描述

文案汇总:包晓雨
审阅:刘苏程
排版:王涵
NEUQRoboMaster-SI战队
扫描二维码 关注我们

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【NEUQ RM SI战队项目开源】gazebo仿真开源 的相关文章

随机推荐

  • 视觉SLAM十四讲 安装libcxsparse3.1.2报错

    版权声明 xff1a 本文为博主原创文章 xff0c 未经博主允许不得转载 http blog csdn net qq 29985391 article details 79007693 经常会暗示自己学会动脑思考 xff0c 先自己去想解
  • PX4多旋翼航线算法代码解析

    文章目录 前言一 航线算法二 代码解析1 GPS经纬度转地理系下坐标2 scale值的计算3 位置坐标转换4 飞机当前位置距离目标位置误差小于一个单位15 飞机当前位置距离目标位置误差大于等于一个单位16 新计算出的期望位置归一化到单位圆坐
  • ROS入门(八)——仿真机器人四(Gazebo+Rviz+雷达、摄像头、kinet仿真显示)

    所用的学习链接 xff1a 奥特学园 ROS机器人入门课程 ROS理论与实践 零基础教程P278 288 以上视频笔记见http www autolabor com cn book ROSTutorials 官方参考链接 xff1a htt
  • ROS入门(一)——ROS安装(vmware16+ubuntu20.04+ROS-Noetic)

    嵌套 xff1a ROS可以在Ubuntu上运行 xff0c Ubuntu在虚拟机Vmware中安装 从 虚拟机vmware安装 ubuntu安装 ros安装 xff0c 逐步介绍安装ROS环境的过程 整个过程是我一步步跟着各种博客安装实现
  • [原创]人生感悟

    女人最有力的武器不是尖酸刻薄和斤斤计较 xff0c 而是温柔和宽容大度 世界万物都将求一个平衡 xff0c 所有的善行不一定能有回报 xff0c 但是自己种的果实往往都会自己食用 xff0c 不要在年轻的时候鲁莽地为自己挖坑 xff0c 感
  • win10找不到d3dx9_43.dll,无法正常启动0xc000007b

    Win10电脑 xff0c 安装PhoenixRC时 xff0c 安装好后点击运行 xff0c 报错找不到d3dx9 43 dll 按照网上的一些教程下载d3dx9 43 dll并放到C Windows System32 下再运行regsv
  • 收录一些欧美优秀css网站

    http www dezinerfolio com 漂亮欧美风格博客 http hellomac pl http divplayers com http skipvine ro http www tooopen com 虽然是国产的 xff
  • 几种非易失性存储器的比较

    SRAM为数据访问和存储提供了一个快速且可靠的手段 由系统电源或其他备用电源 xff08 如电池 xff09 供电时 xff0c 他们就具有非易失性 表1给出了几种给定的非易失性存储器存储技术的优缺点 表1非易失性存储器比较 NVSRAM中
  • C#向Excel报表中插入图片的2种方法

    这几天做向Excel插入数据 xff0c 其中有插入图片的需求 xff0c 经试验 xff0c 下面2种方法都可以插入图片 xff0c 但各有不同的用处 现将这2种方法共享出来 xff0c 希望需要的朋友进行参考 xff0c 代码中已经有详
  • Response.Redirect 打开新窗口的两种方法

    一般情况下 xff0c Response Redirect 方法是在服务器端进行转向 xff0c 因此 xff0c 除非使用 Response Write 34 lt script gt window location 61 39 http
  • C# 实现向浏览器的兼容性视图列表中添加、删除网站和检查网站是否在兼容性网站列表中

    今天回答论坛上的一个问题 xff0c 搜索了一下网上 xff0c 并没有找到一个完整的例子 xff0c 下面根据网上的一些资料 xff0c 经过转换 完善成一个完整的例子 下面的例子可以实现添加 删除 检测网站是否在兼容性网站列表中的功能
  • Excel中 ColorIndex 属性值和颜色对照表

    Excel中 ColorIndex 属性值和颜色对照表 资料参考 http msdn microsoft com en us library cc296089 aspx http www mvps org dmcritchie excel
  • AJAX(XMLHttpRequest)进行跨域请求方法详解(一)

    注意 xff1a 以下代码请在Firefox 3 5 Chrome 3 0 Safari 4之后的版本中进行测试 IE8的实现方法与其他浏览不同 跨域请求 xff0c 顾名思义 xff0c 就是一个站点中的资源去访问另外一个不同域名站点上的
  • AJAX(XMLHttpRequest)进行跨域请求方法详解(二)

    注意 xff1a 以下代码请在Firefox 3 5 Chrome 3 0 Safari 4之后的版本中进行测试 IE8的实现方法与其他浏览不同 2 xff0c 预检请求 预检请求首先需要向另外一个域名的资源发送一个 HTTP OPTION
  • 将文本文件的内容或者文字保存成图片

    调用方法 xff1a ConvertTextFileToImage Server MapPath 34 Log txt 34 Server MapPath 34 Log png 34 实现代码 xff1a void ConvertTextF
  • 2011年终总结:为了娜娜的微笑

    蒙娜丽莎为什么笑 xff1f 这个问题 xff0c 如果达 芬奇自己都没有交代过 xff0c 那么就没有人知道答案了 xff0c 后来所有的答案都是推测的 xff0c 答案众说纷纭 xff0c 这里就不做评论了 作为计算机运行的代码 xff
  • 安装windows+两个ubuntu(三系统)成功案例

    在已有的win10 43 ubuntu18 04双系统基础上 xff0c 再安装一个ubuntu20 04 原有配置 1T固态硬盘 43 2T机械硬盘 xff1b 固态硬盘上已经安装了win10 xff0c 机械硬盘上一个分区已经安装了ub
  • Windows 文件资源管理器中搜索带特殊字符文件名的方法

    今天处理一些文件 xff0c 文件夹这包含有类似 16年普通高等学校招生全国统一考试 英语 的文件名 xff0c 想全部找出来删除掉 xff0c 直接在文件资源管理器里面输入 是搜索不到想要的文件的 xff0c 这些是特殊字符 xff0c
  • ROS学习记录——Gazebo 里添加自己的物体模型

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 目录 前言 一 下载3D模型 二 编辑三维模型 1 使用sketch up 2 使用blender编辑 三 将三维模型导入Gazebo 1
  • 【NEUQ RM SI战队项目开源】gazebo仿真开源

    NEUQ RM SI战队项目开源 gazebo仿真开源 写在前面演示视频第一部分 xff1a 机器人仿真环境正文 xff1a 基于gazebo的RM仿真环境贡献照片墙 写在前面 一个新冠疫情 xff0c 打乱了所有队伍的备赛计划 xff0c