首页 > 其他分享 >《动手学》9.1 机器人仿真介绍

《动手学》9.1 机器人仿真介绍

时间:2022-12-09 21:06:26浏览次数:87  
标签:仿真 平台 机器人 https ROS Gazebo 9.1


《动手学》9.1 机器人仿真介绍

本系列教程作者:小鱼
公众号:鱼香ROS
QQ交流群:139707339
教学视频地址:小鱼的B站​ 完整文档地址:鱼香ROS官网
版权声明:如非允许禁止转载与商业用途。

《动手学》9.1 机器人仿真介绍_动手学ROS2

大家好,我是小鱼,本节课我们主要对机器人仿真进行介绍,同时对ROS2支持的常用仿真平台进行介绍。

​1.为什么需要机器人仿真​

所谓机器人仿真其实就是通过软件来模仿硬件的特性,用于验证机器人算法、架构等。

肯定有同学会问为什么要做机器人仿真,有这个用软件来模拟硬件的空挡,直接搞真实的机器人不行吗?

答案肯定是可以的,对于个人极客来说,直接动手比仿真要来的快和直接的多。单对于公司和非常复杂的项目来说,仿真就变得很重要了。

原因在于:

  1. 仿真可以解决真机资源不足,真实的机器人一般价格都很贵,搭建起来也很耗费资源,小鱼是从一家创业公司一路走来的,不同部门抢机器人的现象时常发生。
  2. 仿真可以保证环境的一致和稳定,举个例子,之前小鱼在部署导航系统时发现在A机器人上没问题,但在B机器人上老是丢位置,明明算法是一致的,后来发现是B机器人的IMU模块出现了松动。
  3. 仿真场景可以更加灵活,在测试机器人算法时可以通过仿真软件快速更改仿真环境,验证算法(甚至还可以让机器人原地起飞)

​2.仿有哪些缺点​

上面说完仿真的各种好,那仿真有哪些缺陷呢?

之前听一位做机械臂动力学的朋友说,他们做研发时候从来没做过仿真,原因在于仿真环境中的机器人和真实环境机器人差别过大。

所以机器人仿真的主要缺陷就是仿不全,现实世界中的环境非常复杂,光线、材质、电磁干扰等等,仿真平台无法做到100%的仿真。

​3.常用仿真平台​

相较于ROS,ROS2支持更多更专业的仿真平台,常用的有:

​3.1 Gazebo​

官网链接:​​https://www.cyberbotics.com/​

Gazebo是ROS中常用的机器人仿真平台,也是OSRF(开源机器人基金会)的作品之一,关于Gazebo的介绍,小鱼已经在第六章进行介绍了,忘记的同学可以翻看下。

​3.2 WeBots​

官网链接:​​https://www.cyberbotics.com/​

Webots由Cyberbotics公司开发,是一个用于模拟机器人的开源和多平台桌面应用程序。它提供了一个完整的开发环境来对机器人进行建模、编程和仿真。Webots内核基于开源动力学引擎ODE和OpenGL,可以在Windows,Linux和macOS上运行,并且支持多种编程语言(C/C++,Python,Java,MATLAB)。

​3.3 Ignition​

官网链接:​​https://gazebosim.org/​​​ 官方文档:​​https://ignitionrobotics.org/docs​

Ignition是继承于Gazebo的下一代仿真平台,Ignition Robotics基于开发库和云服务等丰富全面的工具箱,提供了一种全新的仿真方式,进一步简化仿真。高度逼真的传感器可在接近真实的环境中快速迭代更新机器人物理设计。在安全上可测试控制策略,并在持续的集成化侧重中利用仿真的诸多优势。

​3.4 Unity​

官网链接:h​​https://unity.com/​​​ UnityForROS2:​​https://github.com/RobotecAI/ros2-for-unity​

Unity Robotics软件包带有许多现成的接口,能让你轻松与ROS或ROS 2的交换信息。你也能用URDF Importer直接从URDF文件中导入机器人配置,在Unity高质量的渲染管线与高精度的物理模拟加持下开始训练机器人。Unity的Asset Store还售有大量现成的环境和道具,可用于补充机器人的训练环境、完善训练任务。只需几键,你搭建的模拟就可以构建并部署到Windows 10、Mac OS或Linux等任意主流操作系统。你甚至可以使用C#、Bolt可视化编程及Asset Store上的众多脚本和实用程序来根据自己的需求进一步定制模拟环境。

​4.我们用哪个仿真平台?​

鉴于从ROS和Gazebo中得到的大量经验,我们依然选择Gazebo作为本次进行仿真的主要平台。但在本章节的后面,小鱼会带你一起探索下其他的仿真平台。

让我们保持好奇心,下一节在上一章节机器人建模的基础上,为我们的机器人模型注入仿真需要的物理属性参数。


技术交流&&问题求助:

  • 微信公众号及交流群:鱼香ROS
  • QQ交流群:139707339
  • 版权保护:已加入“维权骑士”(rightknights.com)的版权保护计划


标签:仿真,平台,机器人,https,ROS,Gazebo,9.1
From: https://blog.51cto.com/u_15473553/5926505

相关文章

  • m基于MATLAB的MIMO_OFDM调制解调系统仿真
    1.算法概述        MIMO-OFDM系统的接收信号是多个发射天线发送信号的衰落与加性噪声的线性叠加,若采用通常SISO-OFDM系统或MIMO系统的估计算法估计信道,将会带来很......
  • Delfoi ARC机器人离线编程软件特点介绍丨衡祖仿
    DelfoiARC根据选定的参数和特征,程序可以有效地利用3DCAD模型和软件内部WPS(焊接工艺规范)数据库的特征。无论机器人品牌如何,通用软件都能创建准确、无差错、同质且高质量的......
  • m基于ACO蚁群优化的FCM模糊聚类算法matlab仿真
    1.算法概述蚁群算法是通过对自然界中真实蚂蚁的集体行为的观察,模拟而得到一种仿生优化算法,它具有很好的并行性,分布性.根据蚂蚁群体不同的集体行为特征,蚁群算法可分为受......
  • m基于ACO蚁群优化的FCM模糊聚类算法matlab仿真
    1.算法概述       蚁群算法是通过对自然界中真实蚂蚁的集体行为的观察,模拟而得到一种仿生优化算法,它具有很好的并行性,分布性.根据蚂蚁群体不同的集体行为特征,......
  • k8s 1.19.11 Ingress-nginx 的部署
    官网地址:https://kubernetes.github.io/ingress-nginx/github:https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx参考文档:使用ingress......
  • m基于ACO蚁群算法的考虑装载率的循环送货的最短线路规划MATLAB仿真
    1.算法概述        根据这些装载率再结合路径最短来设计几个循环送货的线路。最理想状态是一条循环路径出去把所有的货都能遍历,并且装载率也很高。但是显然理想状......
  • 个人微信号API接口,微信机器人
    自定义的微信机器人,需求是可以自己批量添加好友、批量打标签等进行好友管理,社群管理需要自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总,......
  • 基于Flocking算法的多智能体编队matlab仿真
    UP目录一、理论基础二、核心程序三、测试结果一、理论基础Flocking(有时也称为是warming或herding),拥有4项简单的规则,把它们组合在一起时,为自治主体群给出一个类似......
  • 【小技巧】matlab中进行并行运算仿真加快仿真速度
    在前一个小技巧学习中,我们学习了如何统计程序运行的时间。【小技巧】在matlab中如何精确统计一段程序的运行时间_fpga和matlab的博客-CSDN博客_matlab执行一条指令的时间......
  • 项目——基于GPS的种树机器人路径规划实战及详解
    项目——基于GPS的种树机器人路径规划实战及详解​​一、前言​​​​二、设计思路​​​​1、坐标系的转换​​​​2、输入的区域摆法及关系式​​​​3、设计流程图​​​......