机器人操作系统

(柯文德)ME3322025秋 2024秋 2023秋 2022秋 2022春 2021春 2020春  
2025秋 2024秋 2023秋 2022秋 2022春 2021春 2020春
6.5(2人评价)
  • 课程难度
    中等
  • 作业多少
    很少
  • 给分好坏
    一般
  • 收获大小
    一般
选课类别:专业任务 教学语言:双语
课程类别:专业选修课 开课单位:机械与能源工程系
课程层次:本科 获得学分:3.0
课程主页:暂无(如果你知道,请点右上角“编辑课程信息”添加!)
点评写点评
排序学期
评分评分2条点评
user avatar   Robert_Hime     2024秋
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:一般

幽默机械系课程,先谈谈为什么有七分。一分给这门课让我装了Ubuntu双系统,一分给这门课让我恋上了树莓派,一分是这门课让我知道了ROS这个东西,一分是让我更加熟练使用Github,两分是助教靠得住,还有一分是给柯老师给分好的印象。

首先本课程无考试,分数主要取决于平时签到和报告(40%)和一个期末大项目(60%)。从课程内容上来看,几乎可以完全依赖自学。上课内容基本上就是跟着官方教程一步一步来,没有什么难度,中间有同学遇到一些bug需要解决非常浪费时间,而且没有任何意义。课程没有针对性训练使用ros从而满足高级的需求,基本上都是复制粘贴开源代码,所以很难说有什么重要知识点。即便是期末的大项目,和同组同学讨论后我们认为完全不依赖这门课的情况下满打满算二十四个小时自学可以完成项目所有要求(这次期末项目出题阴间,导致大量同学前一天熬夜通宵调整参数)。ROS这个平台以及互联网已经提供了充足的开源项目和课程学习,所以这门课的处境非常尴尬。

综上所述,想要选择本课程的非机械系同学请慎重考虑,并综合对比我校其他类似课程;机械系同学可以尝试本课程,但是仍推荐自学。

最终得分A,推荐通过本课程提高绩点。

user avatar   Joanne_Mathis     2025秋
  • 难度:中等
  • 作业:很少
  • 给分:一般
  • 收获:一般

课前提醒:一定要按照要求装Linux的22.04版本和ros2 Humble!

这门课主要是学习ros2的。课上跟着老师过一遍ros2知识,老师这方面可以放心。讲的很好,很耐心,不会学不会的。助教们很负责,会在下面解决学生的bug。课下是实验报告作业。课程最后需要做一个很大的project。总体上就是这样。

先说上课内容:如果没有机器人开发经验,或者C++/Python面向对象编程基础,计算机基础(包括对计算机的理解),前面的基础知识,如节点,话题等也只能听个皮毛,不能透彻理解其内涵,也只能做到最基础的使用。当然,这些东西你听不懂也可以,反正最后project用不太上。前期的基础知识还好,跟着学就行,写写实验报告。中期讲rviz(可视化),gazebo(3D物理世界仿真平台,project主要就是围绕这个展开的),URDF/SDF(机器人描述文件格式,project的机器人需要用这样的文件描述),建图。后期的ros2安全,内存管理,通信等内容对大部分人来讲应该都是没啥用的,太深奥了,不符合短期的需求。建议听听就行,导航等。听做项目也可以),以后需要来再学。一门课了解了ros,camke,xml,C++,Python,urdf,sdf,yaml,rviz,gazebo,webots,nav,moveit,opencv,PX4,QGground……这很符合机器人专业杂而不精,会用就行的特点。

课程令人难以忘却(此处原来是一个情感较重的词汇)的地方在于,ros这个东西不是一个像windows一样成熟的操作系统(甚至就不是一个操作系统),linux也十分复杂,毕竟是开源嘛,整个课程需要面对大量的报错,无法工作等问题,大量的时间用于改bug(问题是很多bug不像代码一样是逻辑问题,就是什么接口不匹配,编译环境不对,找不到文件路径,版本不对,工具包没安装,cmake少一行,以及各种与核心知识无关的离谱报错。让一个ros是什么都不知道的萌新小白第一天就面对这些,这简直是在劝退),报错信息发AI问,反复改。要是什么代码逻辑报错,修改修改bug那还能学到什么东西,这些报错会让人对计算机感到怀疑。时间被浪费在了这些事情上,严重磨灭了学生对ROS学习信心,也压缩了真正学习ROS核心内容的时间。我可以负责任的说,新手去改这些不该由他们改的Bug毫无意义。整个课程学会了复制粘贴问AI。

再说project:与其叫ros2的project,不如叫gazebo的project。因为主要要围绕gazebo展开,ros2相对还是比较底层的。3人小组需要建模底盘和机械臂(solidworks转urdf文件),让底盘在地图里面导航,机械臂能抓取物体。同时实现语音和手势识别,交互。其中导航是会教的,机械臂完全不讲,自己鼓捣,语音视觉也是自己学,但是挺简单的。建议用Ubantu22.04+ros2humble,24.04+jazzy的生态很差,很多功能都不全,ros2control(用于桥接moveit和gazebo),Moveit(用于规划机械臂)的教程基本都是22.04版本的,用24.04版本能报错到你怀疑人生。project还有个问题,作为一个占课程总分百分之50的大项目,基础分居然只占project的70分,剩下30分叫“加分项目”,包含“统一环境仿真”“语音控制”“手势识别”。这样有什么意义?不直接全叫项目要求就行了,还美其名曰基础分和加分项?难道不是应该基础分90-100分,加分项作为bonus之类的吗?并且评分标准就是个黑箱,不是说你实现了要求就能给满分的,还看你实现的“好不好”,有没有“超标准完成”,但是“好不好”没个明确标准。我对这个project分数组成持负面评价。你完全可以告诉我们满分的标准是什么,而不是让我们去猜。建议搞明白什么叫“加分项”。目前成绩还没出,如果出了之后与我描述不符,这一部分删掉。整个project基本用不到前面学到的东西,这一点让我怀疑前面学习内容的意义。现在成绩出了,如我所料,真就不高。并且直接出总评,连小分都没有。真是黑箱外面又套了个黑体。

课程下来收获没有想象中那么多,但也不能说完全没收获。比如了解了机器人的基本知识,这对我一个大二的还是有提纲挈领意义的。同时你能学到很多AI提问技巧。还有就是学会了耐心,冷静,尤其是你在面对一个报错改半天的时候。不过这些可能是我个人问题,需要以后多实践。


teacher avatar

柯文德

机械与能源工程系

教师主页

其他老师的「机器人操作系统」课

柯文德老师的其他课