0-1双足机器人仿真环境搭建记录,20道Linux运维工程师面试必问题

虚拟机与主机共享复制粘贴问题:通过设置,使得可以非常方便的将主机信息复制粘贴到虚拟机https://blog.csdn.net/qq_39362509/article/details/119740379。 【经验:虚拟机终端里面的复制粘贴 快捷键 与一般图形化界面不一样,为:ctrl+shift+c, ctrl+shift+v】
3. ROS 安装(neotic)
1)注意:每一个版本的Ubuntu都有(唯一)适配的ROS版本,不能混起来,版本适配信息在https://blog.csdn.net/maizousidemao/article/details/119846292
2)ubuntu20.04对应ROS neotic 版本
较好安装教程https://zhuanlan.zhihu.com/p/515361781。简单总结下ROS安装流程:
①准备:Ubuntu系统软件源、添加ROS源和密钥
②安装ROS:很简单,一条指令
③后续处理(比较多,老实照抄就行):设置环境变量→初始化rosdep→安装rosinstall→运行与自检(roscore开启→roswtf自检)
④案例测试:小海龟仿真
3)ros机器人应用中主要辅助工具(可选)
①可视化工具 rqt:图形化界面显示ROS节点通信数据(完全版自带)
②RViz:urdf可视化工具–用于查看机器人urdf模型https://blog.csdn.net/baidu_38485156/article/details/81201079

以上为系统基础环境
—————————分界线—————————————
以下为项目特殊工作环境

  1. OCS2安装(其实是下载+编译)
    OCS2安装的官网https://leggedrobotics.github.io/ocs2/installation.html#prerequisites,也有较好的中文教程https://zhuanlan.zhihu.com/p/682704448。建议使用中文的教程。具体的流程大致总结如下:
    1)首先是安装依赖的库
    Eigen3(C++的矩阵运算库):自动安装的最新版本3.3.7
    catkin编译系统相关内容:即ros的编译系统【安装python的相关编译工具】
    其他依赖库
    2)其次是正式下载编译OCS2
    值得注意的是,安装OCS2的路径是 ROS的一个工作空间 ocs2_ws,即OCS2作为 ROS的一个功能包安装(编译),这个功能包依赖于其他很多功能包。这一步是最麻烦的部分。
    经验1:git加速经验。下载git clone github.com/…的时候,想要提高效率,改为git clone githubfast.com/… 或者git clone kkgithub.com/…很好用】
    经验2:编译错误问题的经验。 在按照上述流程操作后,编译的时候仍然出现了编译失败:1 package,abundon 60+ package等问题。(经过非常多的折腾,才发现编译失败的绝大部分原因,都是依赖库的安装没有完成!)
    git clone 自动调用与梯子问题:catkin build 指令执行后,有些地方需要git clone一些包,而自己build的时候没有搭梯子,所以遇到了无法下载的问题,从而导致了后续一连串的错误!(一个功能包编译错误/缺少,导致后续所有依赖于这个包的功能包都被abundon)
    缺少依赖包的问题: 有 could not find 的错误一般都是缺少ros依赖包,查询并安装即可(一般sudo apt-get install libxxx-dev即可安装, xxx是特定包名称,错误提示中会有描述,但是错误提示的只是关键词而不是全称; 有些则需要特定的下载安装方式)。

    经验3:编译错误C++: fatal error: Killed signal terminated program cc1plus,其实是临时虚拟机内存不足,我的解决方案是,扩大分配内存到16g,解决了】
    经验4:编译一个功能包的时候,这个包自动git clone失败,而且搭梯子也没用的时候,可以根据错误提示,找到这个包的路径下的cmakelist.txt 文件,将其中的默认下载路径改为 经验1中的 两个替代路径,基本可以成功】
    下面是编译成功结果
    在这里插入图片描述
  2. Hunter仿真下载编译
    1)hunter的编译,上一节ocs2安装教程后就有(https://zhuanlan.zhihu.com/p/682704448)。
    hunter机器人 (相对于 ocs2的ros工作空间) 重新单独建立了一个ros工作空间。
    经验:两个ros工作空间的链接,是通过ros设置环境变量实现的(每个工作空间都需要向~/.bashrc文件写入自己的路径,同时source一下),上述教程,下载hunter并新建ros工作空间后,没有提示。可以按照下面的教程,专门设置环境变量https://blog.csdn.net/weixin_42237429/article/details/90238000
    按照github编译hunter的时候,尽管还未安装mujoco,按照官方例程好像也可以完成编译。下面是编译成功的界面:
    在这里插入图片描述
    在这里插入图片描述
    2)hunter的初步使用
    视频教程在这里
    https://www.bilibili.com/video/BV18w4m1Z76H/?spm_id_from=333.337.search-card.all.click
    严格按照视频的顺序执行,走起来了。下一步是熟悉这个仿真设置界面,然后再研究控制算法替换
    在这里插入图片描述
  3. mujoco210 安装
    根据hunter项目编译结果,mujoco没有安装,也能打开mujoco相关的包。听人说是安装了LCM就可以了。
    本处仍然记录mujoco的安装过程,可能后续会用到。(mujoco先于ocs2安装,会有ros编译问题,会改变catkin build的依赖包的默认路径(python相关的,会调用conda内部的,而不是Ubuntu系统自带的)。此问题原因不明,所以将mujoco放在ocs2后面是最好的)
    mujoco210是 mujoco2.1.0的简写。安装教程:https://zhuanlan.zhihu.com/p/535806578
    主要流程为:
    1)mujoco本体安装
    ①准备工作:安装anaconda,安装git
    【安装anaconda不是上述链接那么简单,步骤很少但还是有点,参考https://blog.csdn.net/thy0000/article/details/122878599。 并且遇到安装成功后不能conda init的现象,提示“未找到conda 命令”,是环境配置的问题,解决方案在这里https://blog.csdn.net/m0_37872216/article/details/107951206#解决方案:
    ②安装mojoco210:wget-获取安装包,mkdir选择安装路径,tar解压【个人理解:Linux中似乎很多软件都没有安装过程,只是解压后就可以使用了(具体是进入到解压包的某个路径,通过终端打开某个文件),包括后续的Clion这款编辑器】
    ③环境变量配置:添加.bashrc中关于mujoco210的内容, 并执行source ~/.bashrc【告诉操作系统,现在添加了这个 mujoco 这个软件,以便于mujoco引用系统的库】
    ④测试mujoco是否正式安装好
    2)安装mujoco-py流程:
    【个人理解:不知道这个软件包是什么意思,据说是mojoco+python强化学习这一套餐中需要用到,暂时理解为:mujoco使用python的接口,python负责强化学习控制算法编写,mujoco则负责动力学仿真计算以及可视化展示。】
    ①conda创建一个虚拟环境
    ②安装python编译开发环境:一大堆东西,装就完了
    ③下载安装mujoco-py
    ④测试是否正式完成

———————————分界线——————————————

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

码?

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-q1rjvuYd-1712934803270)]

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值