前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >有趣免费的开源机器人课程实践指北-2019-

有趣免费的开源机器人课程实践指北-2019-

作者头像
zhangrelay
发布2022-04-29 20:50:54
8590
发布2022-04-29 20:50:54
举报

如果对机器人方向学习有些迷茫,推荐先阅读如下文章:

  1. 机器人工程师学习计划(4.3k+赞):https://zhuanlan.zhihu.com/p/22266788
  2. 开源机器人学学习指南(376+赞):https://github.com/qqfly/how-to-learn-robotics

有趣免费的开源机器人课程实践指北(含ROS)

机器人学科是非常有趣的,对理论和实践的要求都比较高。掌握C/C++/Python/Matlab,能够使用V-Rep/Webots/Gazebo等仿真软件。这里需要重点强调一下仿真软件,由于学校和学生教育资金投入,仿真可以算是极低成本门槛而又有直观效果的工具了。

这里的免费是指参考书都无需购买,连下载币都不需要~

代码语言:txt
复制
极低成本的仿真实践(CARLA)    

当然,机器人推荐Cozmo和Tello,成熟稳定,价格实惠,远低于1k,输入设备推荐游戏手柄和LeapMotion,输出设备伺服电机等。

1. 入门篇

知名学府的公开课(ETH,MIT,Stanford,Carnegie Mellon等),例如:

讲解了机器人学入门,运动规划,传感器,概率机器人学,蒙特卡罗定位,场景识别,同步定位和地图构建等,课程最大的特点是侧重实践,资料十分丰富具体。(链接内附有课程全部文档资料)

  • 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编程入门课程)
  1. 中文翻译版本-ROS编程基础课程2019更新版资料和习题解答说明(ETH苏黎世联邦理工学院):https://cloud.tencent.com/developer/article/1909778

2. 进阶篇

选择一些仿真和真实机器人,多使用,多看源码,多思考,多练习。

案例包括了地上跑,工厂用,天上飞,水里游等多场景仿真和实物。

2.1 turtlebot3

这款机器人案例十分丰富,参考文档如下:

http://emanual.robotis.com/docs/en/platform/turtlebot3/overview/

代码语言:txt
复制
turtlebot3文档    

几乎涵盖的服务机器人的全部要点,基础概念,自动驾驶,泊车,跟随,导航,SLAM,全景图,遥控,机器学习,ROS2等。

代码语言:txt
复制
自动驾驶仿真案例    

2.2 工业机器人

industrial_training:https://github.com/ros-industrial/industrial_training

支持版本:indigo,kinetic,melodic。

代码语言:txt
复制
ROS Industrial    

2.3 quadrotor

空中机器人可以参考hector_quadrotor:

有室内室外两种典型仿真环境,室外仿真如下图所示:

代码语言:txt
复制
Gazebo    
代码语言:txt
复制
Rviz    

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://cloud.tencent.com/developer/article/1387054

2.7 tello

资源链接:https://cloud.tencent.com/developer/article/1389865

如今获取机器人知识的途径非常多了,并且大部分都是免费开源的,选择一些有趣的案例进行实践,才能真正掌握。

本博文为第三方分享,不客观,不严谨,仅供参考。

更多案例参考:

Fin

参考网址:

机器人学相关系列课程

  • EDX:机器人MICROMASTERS,宾夕法尼亚大学
  • 机器人学院,昆士兰科技大学
  • Coursera:机器人技术专业,宾夕法尼亚大学
  • Coursera:现代机器人技术专业,西北大学
  • Udacity:机器人学纳米学位 Robotics Nanodegree
  • Udacity:自动驾驶汽车纳米学位 Self-Driving Car Nanodegree
  • Udacity:飞行汽车纳米学位 Flying Car Nanodegree

个人机器人课程

EDX

  • 自动移动机器人,ETHZurich
  • 飞行机器人自动导航,慕尼黑工业大学
  • 欠驱动机器人,麻省理工学院
  • 机器人技术,纽约市哥伦比亚大学
  • 机器人力学与控制第一部分和第二部分,首尔国立大学

Coursera

  • 控制移动机器人,佐治亚理工学院

其他课程资料

  • 自治智能系统,弗莱堡大学
  • 机器人简介,斯坦福工程无处不在
  • 机器人技术简介,麻省理工学院开放式课程
  • 简介空中机器人,科斯塔斯·亚历克西斯博士,内华达大学
  • 自驾车的深度学习麻省理工学院6.S094:自动驾驶汽车的深度学习
  • SLAM播放列表,Cyrill Stachniss博士
  • 机器人技术I,De Luca教授罗马大学

实践课程

  • MIT赛车,麻省理工学院
  • SLAM讲座,Clause Brenne
  • 由Penn Engineering提供的F1/10
  • Donkey Car
  • DIY Robocars

博客

  • MIT RaceCar Team 5文档
  • Jetson Hacks
  • Reality Bytes by Andrew Dahdouh

有用的概念

  • 人工智能与机器学习
  • 卡尔曼滤波与贝叶斯思想
  • 控制系统: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

算法和技术访谈

  • Andreis Interview Repository
  • 算法游乐场 Algorithm Playground

相关资源列表

  • 令人惊叹的人工智能
  • 令人惊叹的计算机视觉
  • 令人惊叹的机器学习
  • 令人惊叹的深度学习
  • 令人惊叹的深度视觉
  • 令人惊叹的强化学习
  • 令人惊叹的机器人
  • 令人惊叹的机器人资源库
  • David Silver:相关的在线课程

 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) Slides (PDF, 395 KB) Solutions (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

Line Extraction (ZIP, 1.9 MB) Slides (PDF, 706 KB) Solutions (ZIP, 1.9 MB)

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

Line-based Extended Kalman Filter (ZIP, 2.1 MB) Slides (PDF, 3.2 MB) Solutions (ZIP, 2.1 MB)

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/

CARLA 0.9.5(开发)

编译版

  • [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。

CARLA 0.9.4(开发)

编译版

  • [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_changelane_typeget_right_lane()get_left_lane()
  • 添加了用于在运行时更改无渲染模式和同步模式的世界设置
  • 增加了获取交通信号灯极点指数和其所有交通信号灯的方法
  • 添加了性能基准测试脚本来测量模拟器的渲染性能
  • 添加manual_control_steeringwheel.py到使用罗技G29方向盘(以及其他)的控制代理

查看完整的CHANGELOG。

CARLA 0.8.2(稳定)

编译版

  • [Linux] CARLA_0.8.2.tar.gz
  • [Windows] CARLA_0.8.2.rar (实验)

新功能/修复

  • 改进驾驶基准
    • 将名称从基准更改为驾驶基准
    • 完全重新设计了模块的架构
    • 添加了更多文档
    • 现在您可以停止并恢复运行的基准测试
  • 将车辆的位置回滚到网格的枢轴而不是边界框的中心
  • 添加了车辆边界框与测量,玩家和非玩家的相对变换
  • 为每个传感器测量添加了“帧编号”,因此可以根据生成的帧同步所有测量
  • 改进车辆产卵器以更好地处理产卵失败
  • 步行者现在使用更近的角度来检测车辆,因此如果汽车经过附近,他们就不会停止移动
  • 固定照明假象导致道路根据与摄像机的距离改变其亮度
  • 修复了在低模式下过度曝光的拍摄图像
  • 修复了资产名称中的非法字符
  • 固定编辑CarlaWeadther.ini中的太阳方位角没有任何影响
  • 修复了在DirectX中使用非标准图像大小时崩溃的问题(Windows)
  • 修复了使用多个“SceneCaptureToDiskCamera”的问题

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 有趣免费的开源机器人课程实践指北(含ROS)
    • 1. 入门篇
      • 2. 进阶篇
        • 2.1 turtlebot3
        • 2.2 工业机器人
        • 2.3 quadrotor
        • 2.4 UUV
        • 2.5 tiago
        • 2.6 Cozmo/Vector
        • 2.7 tello
      • 机器人学相关系列课程
        • 个人机器人课程
          • EDX
          • Coursera
          • 其他课程资料
        • 实践课程
          • 博客
          • 有用的概念
          • 有用的工具
          • 算法和技术访谈
          • 相关资源列表
      • Autonomous Mobile Robots - Spring 2019
      • Main content
      • Artificial Intelligence for Robotics
      • Main content
        • Short Description
          • Requirements
          • Perception and Learning for Robotics
          • Main content
            • Short Description
              • Requirements
                • 编译版
                • 强调
                • 编译版
                • 强调
                • 编译版
                • 新功能/修复
            相关产品与服务
            访问管理
            访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档