如果对机器人方向学习有些迷茫,推荐先阅读如下文章:
- 机器人工程师学习计划(4.3k+赞):https://zhuanlan.zhihu.com/p/22266788
- 开源机器人学学习指南(376+赞):https://github.com/qqfly/how-to-learn-robotics
有趣免费的开源机器人课程实践指北(含ROS)
机器人学科是非常有趣的,对理论和实践的要求都比较高。掌握C/C++/Python/Matlab,能够使用V-Rep/Webots/Gazebo等仿真软件。这里需要重点强调一下仿真软件,由于学校和学生教育资金投入,仿真可以算是极低成本门槛而又有直观效果的工具了。
这里的免费是指参考书都无需购买,连下载币都不需要~
![](https://i-blog.csdnimg.cn/blog_migrate/2512f4b6e463162031b7f37c88b07c8d.gif)
当然,机器人推荐Cozmo和Tello,成熟稳定,价格实惠,远低于1k,输入设备推荐游戏手柄和LeapMotion,输出设备伺服电机等。
1. 入门篇
知名学府的公开课(ETH,MIT,Stanford,Carnegie Mellon等),例如:
- Andrew Davison的机器人学讲座课程(2018年秋更新):http://www.doc.ic.ac.uk/~ajd/Robotics/index.html
讲解了机器人学入门,运动规划,传感器,概率机器人学,蒙特卡罗定位,场景识别,同步定位和地图构建等,课程最大的特点是侧重实践,资料十分丰富具体。(链接内附有课程全部文档资料)
- ETH - Robotic Systems Lab:http://www.rsl.ethz.ch/education-students/lectures.html
- 151-0851-00L Robot Dynamics M. Hutter, R. Siegwart, T. Stastny Material链接
151-0662-00L Programming for Robotics - Introduction to ROS D. Jud, M. Wermelinger, Marko Bjelonic, P. Fankhauser, M. Hutter Material链接 (经典ROS编程入门课程)
中文翻译版本-ROS编程基础课程2019更新版资料和习题解答说明(ETH苏黎世联邦理工学院):https://blog.csdn.net/zhangrelay/article/details/79463689
2. 进阶篇
选择一些仿真和真实机器人,多使用,多看源码,多思考,多练习。
案例包括了地上跑,工厂用,天上飞,水里游等多场景仿真和实物。
2.1 turtlebot3
这款机器人案例十分丰富,参考文档如下:
http://emanual.robotis.com/docs/en/platform/turtlebot3/overview/
![](https://i-blog.csdnimg.cn/blog_migrate/f695da6394131790b1d4a61bf5620751.png)
几乎涵盖的服务机器人的全部要点,基础概念,自动驾驶,泊车,跟随,导航,SLAM,全景图,遥控,机器学习,ROS2等。
![](https://i-blog.csdnimg.cn/blog_migrate/4bceedf2881aa3ba76152dbe5ac13e22.png)
2.2 工业机器人
industrial_training:https://github.com/ros-industrial/industrial_training
支持版本:indigo,kinetic,melodic。
![](https://i-blog.csdnimg.cn/blog_migrate/2afd30edba6795c4091140913450eef1.png)
2.3 quadrotor
空中机器人可以参考hector_quadrotor:
有室内室外两种典型仿真环境,室外仿真如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/8e7744867045c94be445c4348237e3ff.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8d6cecc56f79d636ad7954a2497a23cc.png)
2.4 UUV
水下机器人仿真参考:https://github.com/uuvsimulator/uuv_simulator
2.5 tiago
这是我个人最喜欢的一个案例,涵盖安装,控制,自动导航,MoveIt!,OpenCV,点云,多机器人协作等。
http://wiki.ros.org/Robots/TIAGo/Tutorials
2.6 Cozmo/Vector
资源链接:https://blog.csdn.net/ZhangRelay/article/details/83988827
2.7 tello
资源链接:https://blog.csdn.net/ZhangRelay/article/details/85563481
如今获取机器人知识的途径非常多了,并且大部分都是免费开源的,选择一些有趣的案例进行实践,才能真正掌握。
本博文为第三方分享,不客观,不严谨,仅供参考。
更多案例参考:
- https://blog.csdn.net/ZhangRelay/article/details/88958201
- https://blog.csdn.net/ZhangRelay/article/details/81083294
- https://blog.csdn.net/ZhangRelay/article/details/86286406
Fin
参考网址:
机器人学相关系列课程
- EDX:机器人MICROMASTERS,宾夕法尼亚大学
- 机器人学院,昆士兰科技大学
- Coursera:机器人技术专业,宾夕法尼亚大学
- Coursera:现代机器人技术专业,西北大学
- Udacity:机器人学纳米学位 Robotics Nanodegree
- Udacity:自动驾驶汽车纳米学位 Self-Driving Car Nanodegree
- Udacity:飞行汽车纳米学位 Flying Car Nanodegree
个人机器人课程
EDX
Coursera
- 控制移动机器人,佐治亚理工学院
其他课程资料
- 自治智能系统,弗莱堡大学
- 机器人简介,斯坦福工程无处不在
- 机器人技术简介,麻省理工学院开放式课程
- 简介空中机器人,科斯塔斯·亚历克西斯博士,内华达大学
- 自驾车的深度学习,麻省理工学院6.S094:自动驾驶汽车的深度学习
- SLAM播放列表,Cyrill Stachniss博士
- 机器人技术I,De Luca教授,罗马大学
实践课程
- MIT赛车,麻省理工学院
- SLAM讲座,Clause Brenne
- 由Penn Engineering提供的F1/10
- Donkey Car
- DIY Robocars
博客
有用的概念
- 人工智能与机器学习
- 卡尔曼滤波与贝叶斯思想
- 控制系统:Control Bootcamp,Steve Brunton
- 计算机程序的结构与解释
- 并行编程,Cuda:Udacity并行编程简介
- 函数式编程范例:Haskell + Real World Haskell,Scheme和Common Lisp
有用的工具
- C ++资源和Python
- ROS:快速学习ROS,机器人点燃学院 Robot Ignite Academy
- 源代码管理:GitKraken和GIT SCM
- Unix Shell和Shell Scripting
- 炫丽的文本编辑:Sublime 和 Atom
- MATLAB和LaTex教程,Michelle Krummel
算法和技术访谈
相关资源列表
NumberTitleLecturers
151-0851-00LRobot DynamicsR. Y. Siegwart, M. Hutter, K. Rudin, T. Stastny
151-0854-00LAutonomous Mobile RobotsR. Y. Siegwart
151-0664-00LArtificial Intelligence for RoboticsI. Gilitschenski, C. Cadena, R. Y. Siegwart
151-0634-00LPerception and Learning for RoboticsC. Cadena, J.J. Chung, R. Y. Siegwart
Courses
- Autonomous Mobile Robots - Spring 2019
- Autonomous Mobile Robots - Spring 2018
- Autonomous Mobile Robots - Spring 2017
Autonomous Mobile Robots - Spring 2019
Main content
- This course is jointly taught by Roland Siegwart, Margarita Chli, Juan Nieto and Nicholas Lawrance.
- It is given as an MOOC (Massive Open Online Course) under edx.
- Lecture: Weekly on Tuesday 10.15 - 12.00, NO C 60
- Exercises: Approximately every second week, Tuesday 14.15 - 16.00, HG F 7
- You can download a pdf version of the course schedule here (PDF, 79 KB).
# | Date of Lecture | Week title | Add-on slides | Lecturer |
---|---|---|---|---|
1 | 19.02.2019 | Intro and Motivation | Introduction and Overview (PDF, 14.3 MB) | R. Siegwart |
2 | 26.02.2019 | Locomotion Concepts | Locomotion Concepts (PDF, 6.6 MB) | M. Hutter |
Ex1 | 26.02.2019 | Introduction to V-Rep simulator | Introduction to V-Rep simulator (ZIP, 3.3 MB) | I. Sa, K. Bodie |
3 | 05.03.2019 | Mobile Robot Kinematics | Mobile Robot Kinematics (PDF, 2.3 MB) | R. Siegwart |
4 | 12.03.2019 | Perception I (to 4.3) | Perception I (PDF, 1.4 MB) | R. Siegwart |
5 | 19.03.2019 | Perception II (to 4.4) | Perception II (PDF, 26.9 MB) | M. Chli |
Ex2 | 19.03.2019 | Kinematics & control of a differential drive vehicle | Kinematics & control of a differential drive vehicle (ZIP, 2 MB) | A. Vempati, M. Brunner |
6 | 26.03.2019 | Perception III: Image Saliency (to 4.5) | Perception III (PDF, 22.7 MB) | M. Chli |
7 | 02.04.2019 | Perception IV: Place Recognition & Line Fitting (to 4.5) | Perception IV (PDF, 21.7 MB) | M. Chli |
Ex3 | 02.04.2019 | Line Extraction | H. Blum, L. Bernreiter | |
Q1 | 02.04.2019 | Quiz 1 | M. Grinvald, M. Breyer | |
8 | 09.04.2019 | Localization I (to 5.2) | Localization (PDF, 1.2 MB) | R. Siegwart |
9 | 16.04.2019 | Localization II | Localization II (PDF, 2.4 MB) | R. Siegwart |
Ex4 | 16.04.2019 | Line-based Extended Kalman Filter | H. Blum, L. Bernreiter | |
Week off - Easter Holiday | ||||
10 | 30.04.2019 | SLAM I | SLAM I (PDF, 22.1 MB) | M. Chli |
11 | 07.05.2019 | SLAM II | M. Chli | |
Ex5 | 07.05.2019 | EKF SLAM | EKF SLAM (ZIP, 2.1 MB) | T. Schneider, F. Tschopp |
12 | 14.05.2019 | Planning I (to 6.2) | N. Lawrance | |
13 | 21.05.2019 | Planning II (to 6.3) | N. Lawrance | |
Ex6 | 21.05.2019 | Dijkstra's alg. and the dynamic window | D. Dugas, R. Bähnemann | |
Q2 | 21.05.2019 | Quiz 2 | M. Grinvald, M. Breyer | |
14 | 28.05.2019 | Summary | R. Siegwart |
https://github.com/ethz-asl/ai_for_robotics
Artificial Intelligence for Robotics
Main content
Short Description
This course provides tools from statistics and machine learning enabling the participants to deploy them as part of typical perception pipelines. All methods provided within the course will be discussed in context of and motivated by example applications from robotics. The accompanying exercises will involve implementations and evaluations using typical robotic datasets.
Requirements
The students are expected to be familiar with the following material:
- Familiarity with different aspects of probability and statistics (e.g. by having taken courses like Recursive Estimation)
- Basic Knowledge of C++ / Python
- Good understanding of linear algebra.
The number of participants is limited to 50. Enrolment was only valid through registration until Sunday, December 18, 2016. Notifications of acceptance were sent out no on Sunday, January 15, 2017.
Perception and Learning for Robotics
Main content
Short Description
This course covers tools from statistics and machine learning enabling the participants to deploy these algorithms as building blocks for perception pipelines on robotic tasks. All mathematical methods provided within the course will be discussed in context of and motivated by example applications mostly from robotics. The main focus of this course are student projects on robotics, with an emphasis on robot perception.
Requirements
The students are expected to be familiar with material of the "Recursive Estimation" and the "Learning and Intelligent Systems" lectures. Particularly understanding of basic machine learning concepts, stochastic gradient descent for neural networks, reinforcement learning basics, and knowledge of Bayesian Filtering are required. Furthermore, good knowledge of programming in C++ and Python is required.
补充自动驾驶CARLA(http://carla.org/)
编译版
[Linux]
CARLA_0.9.5.tar.gz[Linux]
Town06_0.9.5.tar.gz[Linux]
Town07_0.9.5.tar.gz
强调
- 新城区07,农村环境狭窄的道路
- 重写了OpenDRIVE解析器和航点API
- 修复了XODR被错误解析的几种情况
- 暴露更多信息:车道标记,车道类型,车道部分id,s
- API更改:航点
lane_type
现在是枚举,carla.LaneType
- API更改:
carla.LaneMarking
不再是枚举,扩展了颜色,类型,换道和宽度 - API扩展:
map.get_waypoint
接受一个额外的可选标志参数,lane_type
用于过滤通道类型 - API扩展:
carla.Map
可以脱离XODR文件构建,carla.Map(town_name, xodr_content)
- API扩展:
id
属性到航点,唯一识别高达半厘米精度的航点
- API更改:将“lane_invasion”重命名为“lane_detector”,其服务器端传感器也添加为其他客户端可见
- API扩展:新的carla.command.SpawnActor以批量生成actor
- API扩展:
map.transform_to_geolocation
将Location转换为GNSS GeoLocation - API扩展:为SensorData添加了时间戳(经过的模拟秒数)
- API扩展:
client.apply_batch_sync
批量发送命令并等待服务器响应的方法 - API扩展:world.get_actors的可选参数“actor_ids”,仅请求具有提供的ID的actor
查看完整的CHANGELOG。
编译版
[Linux]
CARLA_0.9.4.tar.gz[Linux]
Town06_0.9.4.tar.gz[Windows]
CARLA_0.9.4.zip (实验性)
强调
- 增加了录制和播放功能
- 添加了同步模式,模拟器等待客户端发送“tick”提示,
client.tick()
- 允许来自客户端的改变地图,添加
client.load_map(name)
,client.reload_map()
和client.get_available_maps()
- 添加了脚本和工具,可以直接将.fbx和.xodr文件导入到模拟器中
- 车辆发动机和车轮的暴露最小物理控制参数
- 允许以“批处理模式”控制多个actor
- New Town06,“密歇根左”交叉口,包括:
- 两条高速公路之间的连接坡道
- 加入需要更换多个车道的高速公路,以便进入另一个出口
- 交汇处支持不同的场景
- 新的交通标志资产:单向,不转弯,更多限速,不进入,箭头楼层,密歇根左侧和车道终点
- 新的行人纹理添加更多变化
- 新的道路PBR材料
- 扩展航点与API
lane_change
,lane_type
,get_right_lane()
和get_left_lane()
- 添加了用于在运行时更改无渲染模式和同步模式的世界设置
- 增加了获取交通信号灯极点指数和其所有交通信号灯的方法
- 添加了性能基准测试脚本来测量模拟器的渲染性能
- 添加
manual_control_steeringwheel.py
到使用罗技G29方向盘(以及其他)的控制代理
查看完整的CHANGELOG。
编译版
[Linux]
CARLA_0.8.2.tar.gz[Windows]
CARLA_0.8.2.rar (实验)
链接
新功能/修复
- 改进驾驶基准
- 将名称从基准更改为驾驶基准
- 完全重新设计了模块的架构
- 添加了更多文档
- 现在您可以停止并恢复运行的基准测试
- 将车辆的位置回滚到网格的枢轴而不是边界框的中心
- 添加了车辆边界框与测量,玩家和非玩家的相对变换
- 为每个传感器测量添加了“帧编号”,因此可以根据生成的帧同步所有测量
- 改进车辆产卵器以更好地处理产卵失败
- 步行者现在使用更近的角度来检测车辆,因此如果汽车经过附近,他们就不会停止移动
- 固定照明假象导致道路根据与摄像机的距离改变其亮度
- 修复了在低模式下过度曝光的拍摄图像
- 修复了资产名称中的非法字符
- 固定编辑CarlaWeadther.ini中的太阳方位角没有任何影响
- 修复了在DirectX中使用非标准图像大小时崩溃的问题(Windows)
- 修复了使用多个“SceneCaptureToDiskCamera”的问题