前言
大家在学习这个的时候还是建议把零基础c++就业路线上的都达到了,这是基础根基。
并且不管是针对机器人相关知识,或者其他方向知识学习,这里阿甘还是先啰嗦一些,怎么让大家进行快速提效的学习。
难道是根据路线给的资源从头到尾一字不拉一个视频不拉的看吗,如果还在这么学习只能说终将被淘汰,甚至可以说不太适合搞程序员这个行业了。
我一直认为我们作为程序员,应该是对AI不管是熟悉,还是使用应该是最前沿的。针对我们学习上,更应该有借助AI进行提效学习的意识。
就比如我们机器人开发学习路线,应该怎么借助ai学习呢。我们对于某个新领域行业的学习,无外乎最迷茫的就是我应该学什么东西,学什么中间件,这个中间件应该学哪些方面,应该学到什么程度。
对于这些困惑,就是我们接下来的学习路线帮助大家解决的,但是应该怎么学,怎么快速掌握呢?这应该是大家思考的。难道是根据我给的文章,给的视频,一个字不拉的看,一个视频不拉的看吗,那效率得低成什么样子,以及自己能保证高效的吸收吗?
阿甘建议,就是大家根据我给的这个路线,比如告诉你学ros2,推荐你去看哪个资料。然后去你这个资料看什么呢?重点看这个中间件整体都分为哪几块,都有哪些知识点,然后你根据要掌握的知识点,直接去问ai,让ai给你编写要熟悉它的demo,借助ai快速掌握,而不是上面的说的紧盯着屏幕看文字,看视频太低效了。
(学习思路建议按照上面咱们给的思路哈,ai时代了,一定要善于用ai提效哈)
前置知识
首先一定要先把零基础cpp就业路线上写的都掌握了,因为这是基础,是让你具备c++编程的基础。
让自己有了编程基础,但是对机器人工程东西还不是熟悉的,这才是这篇文章给大家弥补的。
(我们最新开发的ros2机器人项目,覆盖底盘通信、传感器处理、Nav2 导航、SLAM、路径跟踪、任务调度、设施联动、车队协同、REST/VDA 集成、Gazebo/RViz 仿真等等。学习时可以把它当成一个小型机器人公司软件栈,而不是一个单点 demo。)
整体学习路线说明
我们按照机器人开发从底层到上层整体流程进行书写,同时如果你想具体投哪个岗位,去专门的学习就可以了
比如你slam部分,你想搞算法就要去仔细的研究,单纯想找开发工作了解了解就可以了。
整体可以分为如下几部分:
(1)ros相关
了解基本的概念,起码知道什么是节点,节点是怎么通信的等等 不然后面看到具体模块,是怎么联系的,完全看不懂
(2)机器人模型、传感器与 TF
这一部分,可以用网上大家常说的一句话“让机器人在软件世界里有身体” 这部分至少要懂得各个坐标系之间的关系
(3)底盘控制与硬件接入
(4)导航、定位与 SLAM
重点理解地图、定位、代价地图和 Nav2 调试;不要闷头去搞slam算法相关的
(5)任务调度(任务编排)
这也是企业机器人软件开发岗位最复杂,有含金量的一部分
尤其那种机器人工作场景特别多的
像我们项目中写的接订单、排队、取货/卸货/等货、多车协同、低电量回充等等,可以梳理梳理这部分业务,看看任务状态机怎么实现的。如果面试的时候能和面试官讲透会很加分。
像我们c++搞机器人中间层,更多的主要是业务的逻辑,比如像项目开发的任务调度,任务编排,还有就是结合不同的机器人,不同的业务,以及不同场景的处理,这个就需要进入实际工作看你开发机器的场景进行学习了。
(6)仿真
让我们可以验证自测
资料网址资料
对于网上资料,大家一搜,应该搜的最多的就是古月居的ros21讲和鱼香ros的动手学ros2
资料都挺不错的,在这里也再次感谢下开源精神。
网址链接:
(1)古月居 https://github.com/guyuehome/ros2_21_tutorials
(2)鱼香ros: https://fishros.com/d2lros2/#/
(3)官方文档:https://docs.ros.org (还是建议要看看的,不要只看哪些中文别人咀嚼过给你的。 比如在查 API、确认 Jazzy 版本差异时)
(4)创客智造 ROS2:https://www.ncnynl.com/
(5)Robook ROS2 中文文档:https://ros2docs.robook.org/humble/index.html
(6)Nav2 documentation: https://docs.nav2.org/
(7)slam_toolbox repository/documentation:https://github.com/SteveMacenski/slam_toolbox
(8)VDA 5050 official repository: https://github.com/VDA5050/VDA5050
其实按照上面资料里的文章顺序看挺好的,写的很详细了,重点是要借助ai快速,深入学习
ROS/ROS2
对于ros,要学或者说开发要用的,无非就是先对下面的了解:
ROS2 topic / service / action / parameter / launch,以及使用场景
msg / srv / action 的接口设计差异
colcon build、colcon test、source install/setup.bash
ROS2 package 结构、package.xml
借助ai编写demo了解会运用之后,可以再看看项目 (下面阶段学习也类似)
可以去README.md`看看项目是如何构建、启动的
以及本项目robot_interfaces*部分,可以看看msg / srv / action 是怎么拆分的。
机器人模型、传感器与 TF
对URDF / Xacro了解下,知道如何描述机器人几何、link、joint、传感器坐标
对TF 主链:map -> odom -> base_footprint -> base_link -> lidar_link / imu_link (很重要)
LaserScan、IMU、Odometry 的字段含义和 frame_id 约束(让ai给你编写一下教学demo编程程序,然后让它给你逐行解释讲解便会了)
了解以后可以看项目代码部分,如下:
robot_description:机器人模型、URDF/Xacro、传感器坐标
robot_sensors:传感器数据处理、标准 topic 发布或过滤。
robot_hardware:里程计、底盘状态和硬件数据入口。
底盘控制与硬件接入
理解学习下,下面的东西就可以了:
/cmd_vel 速度命令约定、geometry_msgs/msg/Twist、差速运动学、轮速、里程计积分
多速度源仲裁和安全限速的通用设计思路
急停、限速、人工接管、输入超时等移动机器人底盘安全策略
Serial / UDP 通信、半包/粘包、超时和协议鲁棒性
ros2_control SystemInterface 和 diff_drive_controller
对于本项目可以看下面的:
● robot_hardware:mock / Serial / UDP 后端、自定义 CMD/ODOM/STATE 协议、ros2_control 接入。
● robot_teleop:twist_mux / cmd_vel_mux_node、cmd_vel_safety_gate_node 和人工速度输入如何进入速度仲裁链路。
● robot_utils:本项目系统状态和安全相关工具逻辑
导航、定位与 SLAM
● Nav2 的 planner、controller、behavior、BT navigator。
● slam_toolbox、Cartographer、map server、localization。
● robot_localization EKF、里程计和 IMU 融合。
● costmap、keepout / speed filter、语义区域。
● Pure Pursuit、Stanley、tracking error、终点停止
与本项目联系的部分:
● robot_navigation:Nav2 / SLAM / EKF / costmap 参数、launch 和地图。
● robot_path_tracking:Pure Pursuit、Stanley 和路径跟踪误差计算。
● robot_experiments:导航、SLAM、路径跟踪的实验和 benchmark 入口。
任务调度
这一部分我只根据本项目列列,一般不管做什么项目,多来点场景,业务多点搞复杂点,面试能聊清楚就可以了
● AMR 任务调度通用概念:任务队列、优先级、抢占、暂停 / 恢复 / 取消。
● BehaviorTree / 状态机在任务流和恢复策略中的作用。
● 站点、路网、资源预约、交通管制和路径资源锁的通用思路。
● 设施资源交互:门、电梯、充电桩、载荷、人工确认。
● Fleet management、remote task、VDA5050、REST / MQTT
本项目设计部分:
● robot_tasks:mission queue、mission runner、workflow、BehaviorTree helper。
● robot_interfaces_mission:任务调度相关服务、消息和 action。
● robot_interfaces_facility:门、电梯、充电、payload 等设施资源接口。
● robot_interfaces_fleet:车队协同、远程任务和路权相关接口。
● robot_interfaces_business:统一订单入口 /v2/submit_order 和业务接口。
仿真
Gazebo world、ros_gz bridge、动态实体、RViz marker / display 的基本用法,了解下应该就可以了 具体可以看看上面资料仿真章节,挺不错的
总结
对于上面列的,不要上来每一个东西都学的很深,没有必要重点是还是看你对哪个方向感兴趣,把自己这个方向设计到的深入学学即可
可以结合下面这个看:
| 机器人软件工程师(综合) | robot_bringup | src/robot_bringup/launch/src/robot_interfaces*/ | |
| 导航 / 运动规划工程师 | robot_navigation | src/robot_navigation/map_manager_node、zone_filter_masks、config/) | |
| SLAM / 定位工程师 | robot_navigationrobot_sensors | robot_navigation/launch/slam.launch.pyrobot_hardware/launch/hardware_ekf.launch.py | |
| 运动控制工程师 | robot_path_trackingrobot_hardware | diff_drive_controller | robot_path_tracking/src/robot_hardware/src/chassis_kinematics.cpp |
| 嵌入式 / 底盘驱动工程师 | robot_hardware | hardware_interface 插件、里程计积分 | robot_hardware/src/chassis_packet、serial/udp_backend、chassis_hardware_interface) |
| 感知 / 传感器工程师 | robot_sensors | src/robot_sensors/src/ | |
| 任务调度 / 系统工程师 | robot_tasks | robot_tasks/src/mission_runner_node、*_workflow、*_behavior_tree) | |
| AMR 车队 / Fleet 工程师 | robot_tasksrobot_interfaces_* | robot_tasks/src/fleet_*、facility_*、station_*、submit_order_router) | |
| 功能安全工程师 | robot_teleoprobot_utils | robot_teleop/src/robot_utils/src/(system_monitor、fault_supervisor) | |
| 仿真 / 工具链工程师 | robot_simulationrobot_description | robot_simulation/worlds/、amr_sim_*_node)、robot_description/urdf/ | |
| 后端 / 上位机 / 集成工程师 | scripts/tools/ | scripts/rest_api_gateway.pyscripts/vda5050_*、tools/operator_console.html | |
| 测试 / DevOps 工程师 | scripts/test/ | scripts/check_robot.shtest/、.github/、docker/ |
文章链接
https://www.yuque.com/u41022237/xy0omf
知识星球介绍(公认的cpp c++学习地)
星球名字:奔跑中的cpp / c++
专注cpp/c++相关求职领域的辅导
加入星球福利,后续如果有其他活动、服务,不收费,不收费,可以合理赚钱就收取下星球费用,但是不割韭菜,保持初心
如果想了解星球或者有其他疑惑的也可以加阿甘微信:

感兴趣的微信扫下面的码,然后下载知识星球app登录即可
(1)高质量的项目合集






以及最近出的ros机器人项目
同时如果项目,遇到任何困惑也会第一时间进行解答的
(2)高质量精确性八股资料


(3)详细的学习路线
(4)活跃的学习氛围,星球打卡不只是一个形式,而是每天观看,针对同学们的学习情况提出合理化的建议,同时也有高质量的星球微信内部群


(5)星球提问简历修改,提供意见的同时,还会给安排一对一腾讯会议辅导

(6)星球同学offer情况,以及对应学习情况,给大家提供参考
(7)全网最全cpp相关面经整理

(8)编程实战能力提升平台(大家都可以使用的,免费的)
访问网址 cppagancoding.top
星球同学的评价
(9)每周也会进行直播答疑,同时有时也会给星球内部同学开一些知识、路线分享会。
具体可以看B站放的视频,up名字:cpp辅导的阿甘
(10)奖励金激励,会根据大家打卡学习/ 面经打卡整理情况,每个月每个季度发放奖励金。有的人陆陆续续已经获得了数千月的奖励金,是加入星球费用的数十倍了

(11)全网最全的26届校招、27届实习/校招整理表汇总
等等,可能还有一些其他服务,目前没想起来的,以及后续也会增加的服务
夜雨聆风