此工具箱为机器人仿真和算法开发提供了实用程序。这包括:
- 用于机器人几何形状的2D运动模型,如差动驱动器,三个和四轮车辆,包括前进和反向运动学
- 可配置的激光雷达,对象和机器人探测器模拟器
- 占用地图中的机器人车辆和传感器的可视化
MATLAB和Simuli万博1manbetxnk的例子和文档
Mathworks学生比赛团队(2021年)。移动机器人仿真工具箱(https://github.com/mathworks-robotics/mobile-robotics-simulation-toolbox),github。检索到。
这是一个非常强大的工具箱。
我想问一下,如何让机器人在(多机器人环境)中在一张二进制地图中检测物体、障碍物和其他机器人?
谢谢
这个工具箱包括函数中的Monte Carlo定位算法吗?并且可以在真正的硬件中实现代码?
非常感谢。
mrsDiffDriveWaypointLogicModel文件没有正常运行,并且没有沿着路径点移动。
@ganesh,那个错误是针对称为“机器人游乐场”的不同文件兑换提交,当您尝试以交互方式设置障碍时,它会出现,而无需安装图像处理工具箱。
@Jose,当我“设置障碍”时,我会收到以下错误:
“错误评估'MaskDialog'回调RP障碍环境块(掩码)'无标题/障碍环境'。回调字符串是'setobstaclesui(gcb)'
无法识别的函数或变量'IMRECT'
@andres,确保工具箱中的文件位于Matlab路径上。如果您下载了“StartMobileroboticsSimulationToolbox.m”,则在工具箱文件夹中有一个脚本应该从工具箱文件夹运行。随时可以免费发送RoboticsArena@mathworks.com。
我再次安装了一个错误我安装了Matlab 2020并首次运行这个工具箱示例我得到:
无法识别的函数或变量'差异滴度'。
mrsDiffDriveNavigation错误(第10行)
DD =差异(R,L);
怎么了?我有所有必需的工具箱
@Jose,非常感谢您的解决方案帮助我整理问题!
@安德烈斯,我想你指的是移动机器人训练工具箱中的一块。我们在她的评论中回答了这个问题://www.tianjin-qmedu.com/matlabcentral/fileexchange/62961-mobile-robotics-training-toolbox
使用Simu万博1manbetxlink块我收到了错误:
S函数的错误错误'无标题/机器人模拟器/软实时':S函数'sfun_time'不存在
请帮忙
你好,朋友,感谢这个伟大的工具箱!我试图让汽车在一条直线上行驶,并计算逆运动学。你能告诉我怎样连接一条直线(画黑线的地图)并计算逆运动学问题吗?
@andres,你可以确保安装了机器人系统工具箱吗?您可能没有安装的工具箱中的一个。
我得到了一个错误:“未定义的函数或变量‘controllerpurepursuist’”,我能做些什么来修复它。
非常感谢您的工具箱。很高兴使用,文件一直如此乐于助人。对所有相关人员来说,谢谢您将项目取得成功!
运行此项目时,我遇到以下错误
'MRSMultirobotavoidance / Multi-Robot Lidar传感器/多机器人Lidar Sensor'的“输入端口2”未连接。
组件:Simulin万博1manbetxk |类别:阻止警告
在“MRSMultirobotavoidance / Multi-Robot Lidar Sensor / Visuals”(输出端口:1)上找到未连接的输出线
组件:Simulin万博1manbetxk |类别:阻止警告
运行模拟时出错,模拟已终止
由:
调用“MultiRobotLidarSensor”的“stepImpl”方法时发生MATLAB系统块“mrsmmultirobotavoidance /Multi-Robot LidarSensor /Multi-Robot LidarSensor”错误。错误从'
C:\Users\Utente\AppData\Roaming\MathWorks\MATLAB Add-Ons\Collections\Mobile Robotics Simulation Toolbox\ MathWorks - Robotics - Mobile - Robotics - Simulation - Toolbox -7066fa0\src\environment\+internal\ createapfromname。在第39行
'C:\ Usente \ appdata \ roaming \ mathworks \ matlab附加工具箱\ mathworks-tobotics-mobile-toolotics-toolbox-7066fa0 \ src \环境\ lidarsensor.m'34.
'C:\ Usente \ appdata \ roaming \ mathworks \ matlab附加工具箱\ mathworks-tobotics-mobile-toolotics-simulation-toolbox-7066fa0 \ src \环境\ multirobotlidarsensor.m'83'。
地图名称“地图”必须是机器人.occupancyGrid或机器人.BinaryoccupancyGrid对象。
你好,朋友,谢谢你的这个伟大的工具箱!
我想跑机器人,但找到机器人可以通过地图,你能告诉我如何解决这个问题吗?
hii,
我使用的是Matlab R2018A。这个工具箱与我的Matlab兼容吗
嗨,塞巴斯蒂安,谢谢你的快速回复。我实际上使用的是MatlabR2019B(平台:macOS)。我将尝试下载旧版本,看看它是否有效。
@Mohanned这是因为您使用的是比R2019b更旧的MATLAB版本,这是本次提交的最新版本所必需的。请查看GitHub上的一些旧版本,看看它们是否与您的版本匹配,否则请尝试升级:https://github.com/mathworks-robotics/mobile-robotics-simulation-toolbox/releases
你好
我在尝试运行mrsMultirobotaviance.slx Simulink模型时出现此错误:万博1manbetx
"""
运行模拟时出错,模拟已终止
由:
调用“MultiRobotLidarSensor”的“stepImpl”方法时发生MATLAB系统块“mrsmmultirobotavoidance /Multi-Robot LidarSensor /Multi-Robot LidarSensor”错误。错误从'
'/users/moshahin/desktop/mathwards-robotics-mobile-robotics-simulation-toolbox-7066fa0/src/environment/+internal/createmapfromname.m'win
'/users/moshahin/desktop/mathworks-robotics-mobile-robotics-simulation-toolbox-70666fa0/src/environment/lidarsensor.m'14
'/users/moshahin/desktop/mathworks-robotics-mobile-robotics-simulation-toolbox-7066fa0/src/environment/multirobotlidarsensor.m'在线83'。
映射名称“Map”必须是robotics.OccupncyGrid或robotics.BinaryOccupncyGrid对象。"""
还有这个警告:
“”警告:变量“map”最初保存为robotics.OccupencyGrid不能实例化为对象,将作为uint32读入。""
似乎是错误的,我正在逐步跟随群体机器人的视频?
关于以下问题,我在诊断回顾中也得到了以下信息:
警告:变量'map'最初被保存为一个机器人。OccupancyGrid不能被实例化为一个对象,而会被读入为一个uint32。
你好,朋友,早上好!
我正在尝试使用相同的代码运行omniwhels脚本,包括版本2018b中的arduino,以使用链接过程执行:
//www.tianjin-qmedu.com/help/万博1manbetxsupportpkg/arduinoio/ug/ster-two-wheel-robot.html.
起代码:A = Arduino('com4','mega2560','libraries','rotaryencoder')
使用旋转编码器库进行测距。您是否有Arduino或任何其他微控制器的示例,以限制这些代码的路径?
非常感谢,我期待着!
Marcio.
%%示例:三重OmniWheel离散模拟
%版权所有2018 Mathworks,Inc。
CLC.
清除所有
= arduino(‘COM4为’,‘Mega2560’,‘库’,‘RotaryEncoder’);
channela1 ='d2';
通道B1=‘D3’;
channelA2 =“D18”;
ChannelB2 ='D19';
Encoder1 = rotaryencoder(A,ChannelA1,ChannelB1,102);
Encoder2 =旋转态镜(A,ChannelA2,ChannelB2,102);
motor1speedpin ='d6';
motor1DirectionPin =“D7”;
motor2SpeedPin='D9';
motor2directionpin ='d8';
方向= 0;
initialpwmvoltage = 3;
writeDigitalPin (motor1DirectionPin,方向);
writePWMVoltage (a、motor1SpeedPin initialPWMVoltage);
WRITEDIGITALPIN(A,MOTER2DirectionPin,方向);
Writepwmvoltage(a,motor2speedpin,initialpwmvoltage);
暂停(3);
rpm=读取速度(编码器1);
% rpm2 = readSpeed (encoder2);
FPRINTF('速度DOMOTORÉ:%.2F \ n',rpm);
%fprintf('velocade do moth:%.2f \ n',rpm2);
%%定义车辆
WheelRadius = 2.5E-3;%轮径[m]
Robotradius = 8.5E-3;%机器人半径[m]
WheelAngles = [0,2 * pi / 3,-2 * pi / 3];%车轮角度[RAD]
车辆= TriporomniWheel(WheelRadius,Robotradius,WheelAngles);
% %仿真参数
Sampletime = 0.01;%采样时间[S]
敏感= [0;0;PI / 4];%初始姿势(x y theta)
BodyMode = True;对于身体帧速度,%是正确的,对于世界帧速度为假
targetSpeed = 500;
%初始化时间,输入和姿势阵列
executionTime=0:sampleTime:10;%时间数组
vxRef = 0.2 * 1(大小(executionTime));速度百分比参考x
vyRef = 0.1 * 1(大小(executionTime));参考速度%
WREF = ZEROS(大小(executiontime));%参考角速度
WREF(ExecutionTime <5)= -0.5;
WREF(executiontime> = 5)= 0.5;
vel = [vxref; vyref; werf];
构成= 0(3元素个数(executionTime));%构成矩阵
姿势(:,1)=刘敏;
%%仿真循环
对于idx=2:numel(执行时间)
解逆运动学,求出车轮速度
中频车身模式
RPM = underedkkematics(车辆,vel(:,Idx-1));
别的
REFWORD=世界人体(水平(:,idx-1),姿势(:,idx-1));
rpm = underedkinematics(车辆,refworld);
结尾
%计算速度
Velb =转发kematics(车辆,rpm);
vel=身体世界(velB,姿势(:,idx-1));
%执行前向离散集成步骤
姿势(:,idx)=姿势(:,idx-1)+ vel * sampletime;
结尾
%平行电机:
Writepwmvoltage(a,motor1speedpin,0);
%%显示结果
关闭所有
图形
坚持,稍等
情节(姿势(1,1),姿势(2,1),'RO',......
姿势(1,结束),姿势(2,结束),'走',......
姿势(1,:),姿势(2,:),'b-');
轴相等
标题('车辆轨迹');
包含(“X [m]”)
ylabel(“Y [m]”)
传说('开始','结束','trajectory')
@bernd - 有一个Simulink万博1manbetx的首选项,可以让您从较新版本加载模型,我相信应该为这些模型工作,因为除了以R2019B格式保存它们之外还没有任何专业://www.tianjin-qmedu.com/help/万博1manbetxsimulink/gui/simulink-preferences-model-file-pane.html#brti7y2-1.
MATLAB释放兼容性告诉工具箱与R2018A合作到任何版本。今天在R2018B中的安装通过附加资源管理器显示,仅支持R2019B(Simulink Models不起作用)。万博1manbetx万博1manbetx此外,GitHub存储库仅包含版本2.1和2.2,而且没有版本2.0在其他计算机上使用R2018B进行学生项目。这使得有点复杂和不可预测。
@rakeshwar:这些地图需要根据机器人系统工具箱是占用地图对象。此外,该工具现在只有绘图循环机器人,但您可以始终自定义源代码,以绘制正方形如果您喜欢。如果您想要更多详细信息或澄清,请在roboticsarena@mathworks.com上发送电子邮件至我们。
在这个工具箱示例“mrscArrrt.m”1)是如何创建“compleasmap.mat”的原因是因为当我创建了一个地图时,它不接受,当我试图加载该程序时!
2) 在模拟过程中,机器人显示为圆形,但请您指导如何使机器人看起来像汽车而不是圆形。
一种
@manish:是的,应该是可能的。单个机器人航路点之后有几个例子,它只是使用与多机器人环境相同的功能的问题。
嗨,我正在尝试执行多机器人环境(说3个机器人),每个机器人跟随路径点。它是否可能与当前的工具箱工具?如果是,请举个例子。
轮子的角度是轮子指向的角度,相对于机器人的身体框架。当你旋转轮子的时候,这个角度会影响运动的方向——例如,三重全轮模型的轮子在0度、+120度和-120度。如果您查看帮助文件,应该有一个图表来解释它。
@克丽丝蒂:我想你的问题是关于UAV库的,它是一个单独的文件交换提交。不过,我的理解是,四旋翼机不需要单独的航路点跟随器,因为你可以完全控制运动方向,并且可以瞬间改变方向,不像固定翼飞机,它的转弯半径有限。
我对通用OmniWheels示例有一个问题。
“车轮角度”到底是什么意思?
我的意思是,车轮角度的坐标是多少?
如何使固定翼航路点路径跟踪模型适应四旋翼机?我可以更改航路点跟随器块、无人机制导模型块和无人机动画块的类型,但固定翼的航向控制保持不变,制导模型需要横滚、俯仰、偏航和推力,我只看到横滚和偏航来馈入。
@juan pablo:您可以使用Matlab中的VideoWriter功能。//www.tianjin-qmedu.com/help/matlab/ref/videowriter.html.
如何从模拟中创建视频mp4或avi?
@thanh:因为差动驱动机器人只能在体x方向上移动!
在“差速驱动模拟”模块中,车身速度包括Vx和Vy。为什么强制Vy=0?
@dabarshi - 不,它没有。由于工具箱所需的MATLAB功能,您将需要至少R2016B。
你好
我想知道这个工具箱是否与Matlab R2015A合作,因为在我的情况下,我无法访问此工具箱的Simulink库。万博1manbetx
非常感谢。
嗨,关于我的最后一个问题。我现在解决了这个问题!我将工具箱安装成2个不同的折叠,所以Matlab无法找到新图书馆!
Hello Sebastian先生和每个人,
我需要一个模拟环境来应用噪声的传感器模型和差动驱动器的嘈杂运动模型。据我所知,这个工具箱对于此目的而言就足以添加噪声的修改。我仍然想问你,你认为我可以用这个研究吗?
提前谢谢!
@Truong - 截至昨天,有一个新的Multirobotenv确实支持多机器人(以及等效的Simulink功能)。万博1manbetx万博1manbetx给它看看:)
谢谢这个伟大的工具箱塞巴斯蒂安。如果Visualizer2D为多机器人工作,我打赌此工具箱对学术和应用目的非常有用。
谢谢你的意见,马丁!
确保将此条目添加到您的观察列表中,以便您知道我们何时进行更新。
此外,如果还有其他任何您想要联系我的信息,您可以通过RoboticsArena@mathworks.com发送给我们发电子邮件
嗨塞巴斯蒂安,
也许你可以记住我们去年开放的Robocup德国人已经见面了。我不在新大学工作,并改变了从救援机器人到工业应用的研究领域。但仍然在移动机器人领域。
多个机器人会很好。我知道它在更复杂的模拟中是本质的,但为了快速而易于可视化,在机器人可视化工具中会很棒。只需绘制更多机器人,额外的是将机器人的外部脱落墨水(作为盒子或圆圈)和额外的Y轴贴上额外的额外的机器人。
谢谢你的快速回复。
嗨,马丁,
现在它只是单机器人,但我有一个未来的计划,可以让它与多个机器人合作。很高兴人们在问它!
我的想法是用一个“漂浮”的方块来代表世界本身,然后你放入的每个机器人都会在地图上标出自己的位置。
你好,我在移动机器人和控制系统研究领域工作。我想更多地使用这个工具箱。我开始实现我自己的运动学,我想比较不同的解。万博 尤文图斯
我对机器人可视化工具进行了问题。
在一个绘图中使用更多机器人或同时使用更多的情节是本地的吗?如果我试试,我总是出错。
用脚本对移动机器人的运动学建模进行了简单的分析。例如当机器人向左移动,向右移动,向前移动,并在中心旋转移动。