MATLAB与ROS联合仿真(慕羽)虚拟机镜像文件使用方法

2023-05-16

   前段时间进行了为期两个月的MATLAB与ROS联合仿真探索开发,现将仿真时,我搭建的虚拟机镜像的具体情况,及使用方法进行介绍说明

   一、该虚拟机镜像的具体情况

   大家,拿到手后是一个名为Ubuntu20.04的压缩包,大小为7.78GB,如下图所示

   解压后为一个同名的文件夹,大小为17.7GB

   该虚拟机搭建于VMware16.1.1,为Ubuntu20.04系统,内部已手动安装了ROS Noetic、Visual Studio Code、VMware Tools、net-tools(网络配置工具)、gparted(可视化分区工具)、openjdk-11-jdk(JAVA环境)、lib32z1(32位运行库)、python3(python解析器,并已配置好)、gazebo11、synaptic(软件包管理器)、及一些SLAM建图及导航的必备功能包

   此外内部已经添加好了,一些常见的gazebo模型,足足1.1GB,大家无需再去外网下载

   当然,里面也配备了我改写的名为ackerman_sim的ROS功能包,可独立进行ROS的仿真,包括SLAM建图及基于move_base的导航等,具体情况可见,我前面发的博客:为期两个月的MATLAB与ROS联合仿真探索总结——因为热爱,所以无所畏惧【点击可跳转】


   二、使用方法

   大家只需要下载并安装好VMware虚拟机,推荐使用VMware16.1.1及后续版本,下载链接如下:

   【获取方式(附安装步骤,提取码:MUYU):请点击此处进行跳转】

   安装完成后,大家选择打开虚拟机,找到下载并解压后的虚拟机镜像文件夹
在这里插入图片描述
   选择Ubuntu20.04.vmx的虚拟机配置文件后,选择打开在这里插入图片描述
   然后选择开启此虚拟机
在这里插入图片描述

   打开虚拟机后,会弹出一个对话框,具体内容不记得了,大概内容是说该虚拟机正在使用,是否获取虚拟机的控制权/使用权,应该有两个选项,一个是T获取控制权/使用权,二是C退出,这里我们选择第一个T获取控制权/使用权

   接着又会弹出第二个对话框,大概内容是,检测到虚拟机已经发生了移动,问你是移动了虚拟机,还是复制了虚拟机,这里选择移动了虚拟机

   接着会出现名为名为gly的用户,点击一下,输入密码123456,就可以正常打开虚拟机了

   (gly何许人也?–吾之舍友,在我的电脑上做配置虚拟机的时候,设置的虚拟机大小为109G(尽管只用了30G),但是压缩陷入死循环,无奈之下,在舍友的电脑上,按照我编写的文档资料,重新搭建了一个虚拟机,并配置好环境,顺便验证了我编写的文档是没有问题的,只用了17.7GB,变成压缩包后7.78GB,传播比较方便)

   开机后按Ctrl+Alt+T,打开终端,输入以下指令查看虚拟机地址,如下图所示,我的是192.168.3.129

     ifconfig

在这里插入图片描述
   然后点击左侧的文件夹,打开后,按住ctrl+h显示隐藏的文件,选择.bashrc文件,双击打开,如下图所示:

在这里插入图片描述

   然后点击左侧的文件夹,打开后,按住ctrl+h显示隐藏的文件,选择.bashrc文件,双击打开,如下图所示,将最后一行的地址修改为之前我们查询到的虚拟机地址,比如我的应该是192.168.3.129,修改后保存退出,然后按住Ctrl+h,隐藏隐藏的文件。
在这里插入图片描述
   然后在终端中输入roscore,验证一下,如果roscore正常运行,那么恭喜你,可以愉快的开始使用本虚拟机镜像了

在这里插入图片描述
   如果你对SLAM建图和导航感兴趣,可以尝试运行如下图所示目录下的实验指令汇总文件内的实验指令,去进行愉快的体验了

在这里插入图片描述
   如果你对SLAM建图和导航感兴趣,可以尝试运行如下图所示目录下的实验指令汇总文件内的实验指令,去进行愉快的体验了


   附录:下面对上图中的指令进行简单的说明

   1、roslaunch bringup racecar_noworld.launch

   运行后 该命令将运行 racecar_noworld.launch 文件,打开 gazebo,并加载阿克曼 小车模型及相关控制器,不加载地图,配合键盘控制指令可实现基本运动

   2、rosrun racecar_description keyboard_teleop.py
   该命令将运行键盘控制节点,在 ROS 下通过键盘控制小车运动

   3、roslaunch bringup racecar_gazebo_rviz_easyworld.launch
   该命令运行 racecar_gazebo_rviz_easyworld.launch 文件,打开 gazebo, 并加载阿克曼小车模型及相关控制器,加载仿真环境 map_easyworld,并打开 rviz,用于建图或导航相关的实验

   4、roslaunch bringup slam_gmapping.launch
   该命令将运行 slam_gmapping.launch 文件,调用 gmapping 开源库,进行 建图仿真,配合键盘控制,实现手动建图
   5、rosrun map_server map_saver -f /home/jzx/catkin_ws /src/ackerman_sim/bringup/map/map2
   该命令将建好的地图保存为文件,可供后续导航使用,其中后半部分 /home/jzx/catkin_ws/src/ackerman_sim/bringup/map/map2 中最后的 map2 是保存的地图名字,其余的是该文件将要存放的路径,需要根据自己的情况进行 修改

   6、roslaunch bringup move_base_easy.launch
   该命令将运行 move_base_easy.launch 文件,调用 move_base,并加载地图 map_easyworld,进行导航控制,配合 rviz 中的按钮,可实现手动设定导航点, 并自主导航

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

MATLAB与ROS联合仿真(慕羽)虚拟机镜像文件使用方法 的相关文章

  • 使用简单矩阵乘法时出错

    我在一次简单的乘法运算中偶然发现了一个错误 这让我感到非常惊讶 我一直以为这里发生了什么 只为矩阵乘法 http www mathworks nl help matlab matlab prog operators html x 2 y z
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • Matlab:2行10列的子图

    如何在 matlab 中绘制 20 幅图像 2 行 10 列 我知道我必须使用 子图 功能 但我对给出的参数感到困惑 我尝试给予 子图 2 10 行索引 列索引 但它似乎不起作用 请帮忙 的前两个参数subplot函数分别给出图中子图的总行
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • MATLAB问题:在图块中引用变量的值[重复]

    这个问题在这里已经有答案了 可能的重复 matlab 绘图标题中的变量 https stackoverflow com questions 5629458 matlab variable in plot title 我想在图中引用 m 文件
  • Matlab strcat 不返回字符串?

    imgstr 无法识别 strcat 的输出字符串 homedir C Users images for img 01 bmp 02 bmp 03 bmp imgstr strcat homedir img I imread imgstr
  • MATLAB:图像角坐标和引用元胞数组

    我在比较不同元胞数组中的元素时遇到一些问题 这个问题的背景是我正在使用bwboundariesMATLAB 中的函数可追踪图像的轮廓 该图像是结构横截面 我试图找出整个部分是否具有连续性 即 只有一个轮廓由bwboundaries命令 完成
  • 图像处理方面的空间和时间表征有什么区别?

    我是学习图像处理的初学者 我对空间和时间表征的概念有点困惑 那么 对于空间表征来说 是不是像一张二维地图 包含了一些关于地图的统计信息呢 就时间特征而言 值是相对于时间的吗 这意味着什么以及我们为何关心 谢谢 当您在不同时间拍摄一系列图像时
  • 在 MATLAB 图中用值标记点

    以下命令确实用正方形标记了点 但没有在其中放入值 例如 21 0 X 21 8 2 1 0 Y 0 1 2 3 4 plot X Y k s 我应该添加哪个参数以便全部5点值出现在图上吗 这些值不能一一键入 因为它们是随机数 因此它们可能会
  • 将值从 C++ MEX 文件返回到 MATLAB

    我正在编写一个从 C 代码中检索数据的 MATLAB 程序 为此 我在 MATLAB 中创建了一个 MEX 文件和一个网关 mexFunction 虽然可以在 MATLAB 中读取读取值 但我无法检索它来使用它 如果不清楚 我有与这里完全相
  • MATLAB - 从目录读取文件?

    我希望从目录中读取文件并对每个文件迭代执行操作 此操作不需要更改文件 我知道我应该为此使用 for 循环 到目前为止我已经尝试过 FILES ls path to folder for i 1 size FILES 1 STRU pdbre
  • 如何使用最小生成树方法将边缘连接到图像中的节点

    我正在做我的手写图像图形匹配项目 我想在图形中表示给定的单词图像 我使用下面的算法 Algorithm input Binary image B Grid width w Grid height h Output Graph g V E w
  • Matlab 错误:()-索引必须出现在索引表达式的最后

    我有这段代码 想要在制表符分隔的 txt 文件中写入一个数组 fid fopen oo txt wt for x 1 length s fprintf fid s t n s x 1 end fclose fid 但我收到此错误 Error
  • 如何调整x轴和y轴的大小

    如何调整 x 轴和 y 轴的大小 我想要什么 更具体 3900 60 30 0 60 120 180 3600 我做了什么 a 0 0 1 10000 plot a 我应该写什么才能按预期调整 x 和 y 轴的大小 EDIT 我不想 390
  • 如何从一个清晰的例子计算二维图像中的吉布斯能量

    我有一个关于矩阵的有趣问题 在吉布斯分布中 吉布斯能量U x 可以计算为 这是所有可能的派系 C 上的派系势 Vc x 的总和 右图 团 c 被定义为 S 中站点的子集 x 蓝色像素的邻域是左图中黄色像素的邻居 其中每对不同的站点都是邻居
  • 如何使用 MATLAB 的“等值面”函数创建三角球体

    如何创建一个三角球体 其中每个三角形的面面积相同 我想要这样的东西 http imageshack us a img198 5041 71183923 png http imageshack us a img198 5041 7118392
  • 在 Matlab 中将绘图从高斯混合变换为均匀分布

    考虑以下抽签2x1Matlab 中的向量 其概率分布是两个高斯分量的混合 P 10 3 number draws v 1 First component mu a 0 0 5 sigma a v 0 0 v Second component
  • Matlab 中的多行匿名函数? [复制]

    这个问题在这里已经有答案了 是否可以在 Matlab 中创建多行匿名函数 没有合适的例子在文档中 http www mathworks com help matlab matlab prog anonymous functions html
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA

随机推荐