1. 实验内容分析
对实验内容的理解及关键点:
理解这个实验的关键点在于理解如何使用CoppeliaSim和MATLAB来控制和操作机器人。需要熟悉这两个工具的基本操作,例如如何加载场景、如何修改机器人参数、如何使用MATLAB客户端程序来控制机器人等。此外,还需要理解机器人的基本运动原理,例如,改变车轮的速度会如何影响机器人的运动。这些知识和技能将对我们在机器人技术领域的进一步学习和研究有很大的帮助。
任务一及任务二的实验思路:
任务一:加载场景、修改机器人参数
- 首先,需要加载预设的场景文件。这可以通过菜单栏的File–> Open Scene…选项来完成,或者直接双击场景文件。
- 加载场景后,需要点击开始按钮(场景视图上方的播放按钮)来启动场景。
- 接下来,需要展开场景层次中的机器人模型,双击Bob_leftMotor的图标来打开joint property对话框。
- 在joint property对话框中,点击Show dynamic parameters来打开动力学参数对话框。
- 在动力学参数对话框中,更改选定电机的Target velocity(目标速度)。将其设置为90度/秒,这样机器人就会开始移动。
- 最后,对机器人的另一个电机Bob_rightMotor执行同样的操作,然后按下停止按钮。
任务二:利用MATLAB客户端程序实现对机器人的控制
- 首先,需要启动CoppeliaSim并加载场景文件。
- 然后,需要启动MATLAB,打开测试程序(test.m),并设置断点,按F10单步执行程序,观察每一步执行后场景的变化。
- 在程序的循环部分,添加代码向机器人发送不同的命令。可以添加一行代码bob_setWheelSpeeds(connection , 10, 10)将左右车轮速度设置为10 rad/s。
- 如果程序运行没有报错,并且CoppeliaSim成功执行仿真,那么这个实验就完成了。
2. 实验过程分析
- 机器人的运动:通过观察机器人在模拟过程中的运动,我们可以了解到机器人的运动状态,包括速度、方向等。如果机器人能够按照预期的路径和速度进行运动,那么说明我们对机器人的控制是成功的。
- 地图和路径的变化:通过观察地图和路径的变化,我们可以了解到机器人对环境的认知。如果地图和路径能够准确地反映出环境的实际情况,那么说明我们的环境感知和地图构建是成功的。
- 机器人的参数的变化:通过观察机器人的参数的变化,我们可以了解到机器人的内部状态。例如,我们可以通过观察轮速、编码器值、位置和方向的变化,来了解机器人的运动状态和位置状态。
- 全局地图的显示:全局地图显示了机器人的当前环境,包括地图段和路径段。如果全局地图能够准确地反映出环境的实际情况,那么说明我们的环境感知和地图构建是成功的。
- 目标位置的显示:目标位置显示了机器人的预期位置和方向。如果机器人能够按照预期的路径和速度进行运动,那么说明我们对机器人的控制是成功的。
3. 实验结果分析
3.1 加载场景、修改机器人参数
加载场景文件
修改Bob_leftMotor电机参数
修改Bob_ right Motor电机参数
3.2 利用 MATLAB 客户端程序实现对机器人的控制
设置断点,按F10单步执行程序,观察每一步执行后场景的变化。
可以看到目标位置在每一步模拟中的显示。目标位置显示了机器人的预期位置和方向
在循环中添加一行代码,将左右车轮速度设置为10 rad/s
全局地图
运行截图
实验结果分析:
通过观察机器人的参数的变化,我了解到机器人的内部状态。通过观察轮速、编码器值、位置和方向的变化,了解到了机器人的运动状态和位置状态。
4. 遇到的问题和心得
遇到的问题
- 在修改机器人参数,更改电机速度的时候不能够点击对话框按钮,最后发现是因为程序正在执行中不能够修改参数,关闭程序后,重新点击对话框按钮就可以设置参数了。
- 不理解test.m中的代码作用,通过单步执行,可以实时观察到地图场景以及机器人运行路线,方向。对代码有了更加清晰的认识和理解。
实验心得
通过这个实验我理解了机器人运动的基本原理:通过控制机器人的轮速,我可以观察到改变轮速会如何影响机器人的运动,从而理解机器人运动的基本原理。
熟悉了机器人模拟器的操作:通过加载场景、修改机器人参数、添加地图和路径段等操作。掌握了MATLAB和CoppeliaSim的使用:通过编写和执行MATLAB代码来控制CoppeliaSim中的机器人,掌握了如何使用MATLAB和CoppeliaSim来进行机器人仿真。
我不仅学会了这些操作和机器人运动背后的原理也提高了问题的解决能力:在实验过程中,可能会遇到各种问题,如代码错误、模拟器崩溃等,都会一直锻炼着我的能力,让我直面困难,勇于实践。