您的位置:首页 > 其它

ROS(1和2)机器人操作系统相关书籍、资料和学习路径

2017-10-09 08:41 701 查看

ROS机器人相关书籍与资料(更新日期2017年11月)

ROS发展10年了,已经逐渐成为通用的机器人操作系统标准。ROS 2相关资料链接:http://blog.csdn.net/zhangrelay/article/details/78778590
之前写过一篇博文总结过相关书籍(流行版本和相关书籍汇总),但是并没有具体介绍。
学习ROS基础知识以官网和书籍为主,如果需要了解ROS最新成果和进展,以论文和会议资料为主。使用ROS进行机器人设计与开发,那就需要在掌握机器人相关基本理论和知识的基础上,大量阅读源码,学习参数优化、算法改进等。
ROS learning curve is a little steep and to become proficient is pretty hard for a complete beginner. 掌握ROS并非易事。

需要掌握一定的Linux基础、C++和Python之后,具备机器人结构、电子、运动学等知识之后再学习ROS工具进行功能包开发。
查阅了几乎全部已有的ROS资料,发现最主流的ROS课程还是以基础内容+专题形式展开介绍:



同时也会辅助一些有趣的竞赛:



下面介绍一下学习ROS的英中文书籍和资料。

1 ROS in 5 days

这个系列由四本书构成,分别为基础、感知、导航、操作。



基础篇:介绍ROS特点,模块化和复用性以及基本的工具、概念等。主要内容包括控制机器人,读取传感器数据,并行任务处理,复杂数据和视觉信息的可视化等,课程分为两个部分,第一部分,学习ROS并练习,执行代码并使用不同的机器人完成仿真;第二部分,开发一个项目,应用之前学过知识,完成一个控制机器人的项目。
具体目录:0,简介;1,基本概念;2,主题-发布;3,主题-订阅;4,服务-调用;5,服务-提供;6,行为-调用;7,行为-提供;8,调试工具;9,课程项目。当然也可以在ROS官网找到对应章节内容进行学习:topicserviceaction
感知篇:机器人要实现自动控制,感知是必不可少的重要内容。书中介绍在ROS中实现机器人的感知。
导航篇:书中介绍了关于导航的基础知识,地图创建、定位、路径规划、可视化导航过程数据、使用RViz调试、配置不同的导航点等。
操作篇:ROS操作主要是在环境中通过机器人对物体进行操作的术语,通过基本工具了解ROS如何操作物体并实现。
比较全面,移动机器人参考导航,工业机械手参考操作,功能全面服务机器人需要融合导航和操作。

2 A Systematic Approach to Learning Robot Programming with ROS

使用ROS学习机器人编程的系统方法通过对简单代码示例以及相应操作理论的详细解释,全面介绍了ROS的基本组件。本书探讨了ROS的组织,如何理解ROS软件包,如何使用ROS工具,如何将现有的ROS软件包纳入新的应用程序,以及如何开发新的机器人和自动化软件包。它还通过准备读者更好地了解现有的在线文档来促进继续教育。



这本书分为六部分。
1. 首先介绍ROS基础,包括编写ROS节点和ROS工具。消息,类和服务器也被覆盖。
2. 本书的第二部分是ROS的仿真和可视化,包括坐标变换。
3. 本书的这一部分讨论了ROS中的感知处理。它包括在ROS中使用摄像头,深度成像和点云以及点云处理。
4. 本书第四部分介绍了ROS中的移动机器人控制和导航。
5. 本书的第五部分包含机器人手臂在ROS中的使用。本节探讨机器人手臂运动学,手臂运动规划,使用Baxter Simulator进行手臂控制以及物体抓取包。
6. 本书的最后一部分重点介绍系统集成和更高级别的控制,包括基于感知和移动操作。

3 更多书籍

http://wiki.ros.org/Books


 

 

 

  


 

 

 

 


 

 

 

 


 

 

 

 


 

 

 

 


 

4 论文集 Robot Operating System (ROS) 



    




5 重要会议 ROSCon 2012-2017



6 官方网站和源码 ROSGithub


    


7 视频资料



学习路径:ROS官网初级教程+中级教程+坐标变换(TF)+机器人模型(URDF)+可视化(RViz)+行为库(actionlib)+插件库(pluginlib)+nodelets+导航(navigation)+工业机器人(ROS-I)+ROS(1、2)等;
然后,结合所需要使用的场景,选择1-3本书籍进行系统练习与复习。





参考资料目录:
01 张建伟, 张立伟, 胡颖等 开源机器人操作系统----ROS[M]. 科学出版社, 2012.
02 马丁内斯, 费尔南德斯 刘品杰 ROS机器人程序设计:Learning ROS for robotics programming[M]. 机械工业出版社, 2014.
03 Quigley M, Conley K, Gerkey B P, et al. ROS: an open-source Robot Operating System[C]// ICRA Workshop on Open SourceSoftware. 2009.
04 王之元, 周云,易晓东等. 机器人操作系统研究型课程建设[J].计算机教育,2016, No.253(1):77-80.
05 肖军浩, 卢惠民,薛小波等. 将机器人操作系统(ROS)引入本科实践教学[J].科技创新导报,2016(22):157-158.
06 R.帕特里克・戈贝尔,戈贝尔,罗哈斯.ROS入门实例[M].中山大学出版社,2016.
07 R.帕特里克・戈贝尔,戈贝尔,罗哈斯.ROS进阶实例[M].中山大学出版社,2017.
08 李振伟. ROS入门与实战[M].中国矿业大学出版社,2016.
09 恩里克·费尔南德斯等著,刘锦涛、张瑞雷译 ROS机器人程序设计(原书第2版)[M]机械工业出版社2016
10 杰森 M. 奥凯恩著; 肖军浩译 机器人操作系统浅析[M]国防工业出版社2016
11 周兴社 机器人操作系统ROS原理与应用[M]机械工业出版社2017
12 郎坦·约瑟夫(LentinJoseph)机器人系统设计与制作:Python语言实现[M]机械工业出版社2017
13 何炳蔚,张立伟,张建伟 基于ROS的机器人理论与应用[M]科学出版社2017
14 陈金宝 ROS开源机器人控制基础[M]上海交通大学出版社2016
15 卢惠民,肖军浩,郑志强 ROS与中型组足球机器人[M]国防工业出版社2016
16 Wyatt Newman A Systematic Approach toLearning Robot Programming with ROS[M]Chapman and Hall/CRC 2017
17 Lentin Joseph ROS Robotics Projects[M] Packt Publishing 2017
18 Anil Mahtani, Aaron Martinez, EnriqueFernandez Perdomo, Luis Sánchez Effective Robotics Programming with ROS - ThirdEdition[M] PacktPublishing 2016
19 Fairchild, Carol and Harman, Dr. Thomas ROS Robotics By Example[M]Packt Publishing 2016
20 Quigley, Morgan and Gerkey, Brian andSmart, William D. Programming Robots with ROS[M] O'Reilly Media 2015
21 Lentin Joseph Learning Robotics using Python[M] PacktPublishing 2015
22 Koubaa A. Robot Operating System (ROS)The Complete Reference (Volume 1) [M]. Springer International Publishing, 2016.
23 Koubaa A. Robot Operating System (ROS)The Complete Reference (Volume 2) [M]. Springer International Publishing, 2017.

-End-
附录课程大纲汇总:

ROS BASICS IN 5DAYS
Learnthe main concepts required to create and understand ROS programs
Abrief summary
ROSIn 5 Days is the ideal course if you are new to ROS. Here you will learn ROSfast!!!
Theobjective of this course is to give you the basic tools and knowledge to beable to understand and create any basic ROS related project. You will be ableto move robots, read their sensor data, make the robots perform intelligenttasks, see visual representations of complex data such as Point Clouds anddebug errors in the programs.
Whatyou will learn
Atthe end of this course, we will feel comfortable about the following subjects:
1.       ROSBasic Structure
2.       ROS Topics
3.       ROSServices
4.       ROSActions
5.       ROSDebugging Tools
 
Unit 0: CoursePreview
1.       Interactingwith a simulated robot
2.       Whatyou will need to learn to program a robot with ROS
Unit 1: Guide forROS in a Single Week
1.       It ispossible to learn ROS fast if you have the proper method
2.       Robotswe are going to use along the course
3.       MainObjective of this course
4.       LearningROS: attack in two ways
5.       Applywhat you learnt to a Robot Project
6.       How toproceed with the whole course
Unit 2: ROS Basics
1.       BasicConcepts
2.       Move aRobot with ROS
3.       What'sa ROS Package
4.       What isa launch file
5.       Createa ROS Package
6.       Yourfirst ROS program
7.       ROSNodes
8.       Compilinga ROS Package
9.       ParameterServer
10.  ROSCore
11.  EnvironmentVariables
Unit 3: ROS Topics- part 1
1.       TopicPublisher
2.       ROSMessages
3.       Exercises
Unit 4: ROS Topics- part 2
1.       TopicSubscriber
2.       CustomTopic Message Compilation
3.       ROSTopics Mini Project
Unit 5: ROSServices - part 1
1.       Topics- Services - Actions
2.       ServicesIntroduction
3.       How tocall a ROS Service
4.       Exercises
Unit 6: ROSServices - part 2
1.       How togive a Service
2.       How tocreate your own service message
3.       CustomService Compilation
Unit 7: ROSActions - part 1
1.       Playingwith the Quadrotor simulation
2.       Whatare ROS Actions
3.       Callingan Action Server
4.       Performingother tasks while the Action is in progress
5.       Theaxclient
Unit 8: ROSActions - part 2
1.       Writingan Action Server
2.       Creatingyour own Action Server Message
3.       CustomAction Messages compilation
Unit 9: DebuggingTools
1.       ROSWhat The F*ck
2.       ROSDebugging Messages and RQT-Console
3.       Plottopic data and RQT Plot
4.       NodeConnections and RQT graph
5.       Recordexperimental data and ROSBags
6.       VisualizeComplex data and RViz
Unit 11: CourseProject
1.       Win theSphero Race
2.       WhatSphero provides to program It
3.       Ideasto start working on
4.       Stepsyou should cover
Unit 12: TurtlebotProject
1.       Win theTurtleBot Race!
2.       WhatTurtlebot provides to program It
3.       Ideasto start working on
4.       Stepsyou should cover
Unit 13: What todo after the Course?
1.       KeepLearning 
ROS NAVIGATION IN5 DAYS
Learnhow to make your wheeled robot navigate using ROS
Abrief summary
Theobjective of this course is to give you the basic tools and knowledge to beable to understand and create any basic ROS Navigation related project.
Youwill be able to create maps of environments, localize the robot in theenvironment, make the robots perform path planning, visualize data of thedifferent Navigation processes, debug errors using RViz and configure thedifferent Navigation nodes.
Whatyou will learn
Atthe end of the course you will be comfortable with the following subjects:
1.       The ROSNavigation Stack
2.       What isneeded to work with the Navigation Stack
3.       What isthe move_base node and why it is so important
4.       Whichparts take place in the move_base node
 
Unit 0: BasicConcepts
1.       What isneeded to perform robot navigation with ROS
2.       How toconfigure your Robot
3.       TheNavigation Stack
4.       HardwareRequirements
5.       Themove_base node
Unit 1: Guide forROS Navigation in 5 Days
1.       It ispossible to learn ROS fast if you have the proper method
2.       Robotswe are going to use along the course
3.       MainObjective of this course
4.       LearningROS Navigation: attack in two ways
5.       Applywhat you learnt to a Robot Project
6.       How toproceed with the whole course
Unit 2: Mapping
1.       VisualizeMapping in RViz
2.       SimultaneousLocalization and Mapping (SLAM)
3.       HardwareRequirements
4.       Transforms
5.       Creatinga launch file for the slam_gmapping node
6.       Build aMap Using Logged Data
Unit 3:Localization
1.       VisualizeLocalization in RViz
2.       MonteCarlo Localization (MCL)
3.       TheAMCL Package
4.       HardwareRequirements
5.       Creatinga launch file for the AMCL node
6.       AMCLthrough Services
Unit 4: PathPlanning 1
1.       VisualizingPath Planning in RViz
2.       Themove_base package
3.       TheGlobal Planner
4.       GlobalCostmap
Unit 5: PathPlanning 2
1.       TheLocal Planner
2.       LocalCostmap
3.       RecoveryBehaviors
4.       ClearCostmap
5.       OscillationSuppression
6.       DynamicReconfigure
Unit 6: NavigationProject
1.       Navigatethe Summit Robot
2.       Whatthe Summit provide for programming it
3.       Stepsyou should cover
 
ROS PERCEPTION IN5 DAYS
LearnOpenCV, FaceRecognition, Person tracking and object recognition.
Abrief summary
Perceptionis probably one of the most important things when we talk about autonomy.
Inthis course you will learn how perception is performed by robots using the ROSFramework.
Whatyou will learn
Atthe end of this course you will fell comfortable about making robots do thefollowing things:
1.       Trackobjects by its color blobs
2.       Navigatefollowing floor lines with only RGB camera
3.       Detecthuman faces and track them
4.       Recognizedifferent faces
5.       Track aperson through a 3D environment
6.       Recognizeflat surfaces like tables where object might be placed
7.       Recognizeobjects and track them in 3D space with PointCloudSensors
 
Unit 1: Perceptionwith ROS Intro
1.       WorkingExample: Mira Robot Follows the Ball
2.       Overview
Unit 2: VisionBasics Blob Tracking
1.       Roll ,Pitch and Yaw
2.       Blobtracking with OpenCV and python part 1: color encoding
3.       Blobtracking with OpenCV and python part 2: start blob tracking with cmvision
4.       Exercises
Unit 3: VisionBasics Follow Line
1.       GetImages from a ROS topic and show them with OpenCV
2.       ApplyFilters To the Image
3.       Movethe TurtleBot based on the position of the Centroid
4.       AdditionalStep: Follow Multiple Centroids
5.       PIDcontroller with perception
Unit 4: Surfaceand Object Recognition
1.       TableTop Detector
2.       2D and3D Object Finder
3.       Moveand spawn objects
4.       3DObject Detection
Unit 5: FaceDetection and tracking
1.       FaceDetector in ROS
2.       FaceDetector Client
3.       Visualizethe Face Detections
Unit 6: FaceRecognition
1.       Startingthe Face Recognition package
2.       MultipleFace Detection at the same time
Unit 7: PeopleTracking
1.       ROSpackage for tracking people
2.       LegDetector
3.       DetectUpperBody
4.       Pedestriandetector
5.       Combiningall together
Unit 8: AiboPerception Project
1.       YourOwn Simplified Aibo ERS7
2.       RGB,Depth and Point Cloud
3.       TheCamera-Optic frame problem
4.       Elementsof the Simulated World
5.       Projectexercises
Unit 10: What todo next
1.       KeepLearning ROS MANIPULATION IN 5 DAYS
Learnhow to make your manipulator interact with the environment using ROS
Abrief summary
ROSManipulation is the term used to refer to any robot that manipulates somethingin its environment.
Themain goal of this Course is to teach you the basic tools you need to know inorder to be able to understand how ROS Manipulation works, and teach you how toimplement it for any manipulator robot.
Whatyou will learn
Atthe end of this Course you will feel comfortable about the following subjects:
1.       Basicsof ROS Manipulation
2.       How tocreate and configure a MoveIt! package for a manipulator robot
3.       How toperform Motion Planning.
4.       How toperform Grasping.
 
Unit 1:Introduction to the Course
1.       What isROS Manipulation
2.       Do youwant to have a taste?
3.       Whatyou will learn with this Course
4.       How youwill learn it
5.       Minimumrequirements for the course
6.       SpecialThanks
Unit 2: BasicConcepts
1.       Whatyou need to perform ROS Manipulation
2.       Structureof a Manipulator Robot
3.       BasicTerminology
Unit 3: Creating aMoveIt package
1.       What isMoveIt!
2.       GeneratingMoveIt! configuration package using Setup Assistant tool
3.       Themove_group node
4.       BasicMotion Planning
5.       MoveIt!planning scene
6.       MoveIt!kinematics handling
7.       MoveIt!collision checking
8.       Movingthe real robot
Unit 4: PerformMotion Planning programmatically
1.       Exercise
2.       Planninga trajectory
3.       Planningto a joint space goal
4.       Gettingsome useful data
5.       Executinga trajectory
Unit 5: AddingPerception
1.       Exercise
2.       AddingPerception to MoveIt!
Unit 6: Grasping
1.       What isGrasping
2.       Graspingusing MoveIt!
3.       Creatinga pick and place task
4.       Graspingin the Real Robot
Unit 7: Project
1.       Buildthe MoveIt! package
2.       Connectthe MoveIt! package with the simulation
3.       PythonScript
4.       AddPerception to the MoveIt! package
5.       Grasping
Unit 8: FinalRecommendations
1.       KeepLearning 
ROS AUTONOMOUSVEHICLES 101
Introductionto Autonomous Vehicles in the ROS ecosystem
Abrief summary
Thegoal of this course is to show you the basic knowledge you need to master inorder to program autonomous cars for a Level 3 of autonomy.
Thismeans, it is expected that all task should be performed autonomously, but atthe same time it is expected to intervene a human driver whenever required.This level is called conditional automation.
Whatyou will learn
Inthis course you are going to learn the essentials for doing autonomous carscontrol using ROS.
Youare going to learn:
1.       Whatare the sensors required for an autonomous car and how to access them using ROS
2.       How todo autonomous navigation using a GPS
3.       How tocreate an obstacle avoider for an autonomous car
4.       How tointerface ROS with a car that follows the DBW interface
 
Unit 1: Unit 0:Introduction
1.       Introduction
2.       Sensors
3.       Autonomousnavigation
4.       The DBWinterface for autonomous cars and CAN-Bus
5.       Minimumrequirements for this course
6.       Specialthanks
Unit 2: Unit 1:Sensors
1.       BasicSensors List
Unit 3: Unit 2:GPS Navigation
1.       Introduction
2.       Creatinga GPS Subscriber
3.       Move ToWayPoint GPS ACTION Server
4.       Move ToWayPoint GPS ACTION Client
Unit 4: Unit 3:Obstacles and Security
1.       Controlethe Car movement Data Flow
2.       SystemFailure Mesures and DeadMansSwitch
3.       ObstacleDetection
Unit 5: Unit 4:CAN-Bus
1.       HowCan-Bus messages look like
2.       How weuse CAN-Bus in the simulation
3.       Exercises
Unit 6: Unit 5:Microproject
1.       Instructionsand the Project itself
Unit 7: Finalrecommentations
1.       KeepLearning 
OPENAI GYM FORROBOTICS 101
Learnwhat is needed to be able to use OpenAI-Gym in your next project
Abrief summary
Theobjective of this course is to teach how to use OpenAI-Gym through environmentsdefined for Gazebo Simulator.
Thismeans that although the examples in this course will be exclusively in GazeboSimulator, the knowledge acquired will be applicable to any system. You will beable to define environments for Gazebo, but also for other simulators or evenother systems.
Whatyou will learn
Atthe end of the course , the following topics will have been addressed:
1.       Basicsof openai-gym API
2.       Definitionof environment files for openai-gym, centered in gazebo-ROS simulations.
3.       Importingof environments and communication with Gazebo Simulations through ROS.
4.       Registeringof learning results and data plot
5.       Createyour own environment through a hands on example with a drone in Gazebo.
 
Unit 1:introduction openai-gym
1.       What isOpenAI-Gym
2.       What'sin this OpenAI Gazebo-Gym Course
3.       How youwill learn all that
4.       Minimumrequirements for this course
5.       SpecialThanks
Unit 2: Running anenvironment
1.       Makethe robot learn how to move
2.       Selectthe environment
3.       Startup the monitoring
Unit 3:Environment file configuration
1.       Whereto find the environment files
2.       Exercises
Unit 4: Plotresults
1.       PlotResults from Monitor
2.       Exercises
3.       UploadResults from Monitor
Unit 5: MicroProject
1.       Knowyour environment
2.       Whatyou have to edit and create
3.       Use theEnvironment just created to learn
Unit 6: FinalObservations
1.       KeepLearning RTAB-MAP IN ROS 101
Learnhow to use the rtabmap_ros package for performing RGB-D SLAM
Abrief summary
RTAB-Map(Real-Time Appearance-Based Mapping) is a RGB-D SLAM approach based on a loopclosure detector.
Theloop closure detector uses a bag-of-words approach in order to determinate if anew image detected by an RGB-D sensor it is from a new location or from alocation that it has been already visited.
Ofcourse, this is a very summarized explanation, you will get more details on howthis loop closure detector works inside this Course.
Whatyou will learn
Duringthis Course you will address the following topics:
1.       Basicsof RTAB-Map.
2.       How touse the rtabmap_ros package.
3.       Howdoes loop closure detection work internally.
4.       How tocreate a 3D Map of an environment.
5.       AutonomousNavigation using RGB-D SLAM.
 
Unit 1:Introduction to the Course
1.       What isRTAB-Map
2.       Demo
3.       Whatyou will learn with this Course
4.       Minimumrequirements for the Course
5.       SpecialThanks
Unit 2: BasicConcepts
1.       SystemRequirements
2.       DataVisualization - RViz
3.       LaunchingRTAB-Map
4.       SubscribedTopics
5.       Arguments
Unit 3: AutonomousNavigation with rtabmap_ros
1.       Brief Introduction
2.       MappingMode
3.       LocalizationMode
4.       AutonomousNavigation
Unit 4: FinalRecommendations
1.       KeepLearning 
TF ROS 101
Tofinally understand TF and Robot State Publisher in ROS
Abrief summary
Anyphysical system, specially robotics systems, have many coordinate frames thatchange over time.
Arobotic arm, for example, has many different physical parts, each one with itsown coordinate frame, that can move at the same time.
WithTF, you will know how a hand "knows" the position of an object basedon the position of the camera, for example.
Whatyou will learn
Thiscourse will centre on hands on experience, making you able to:
1.       Publishand Subscribe to TF data topics
2.       Use thetools necessary to visualize TF data
3.       Publishfixed TF transforms
4.       UseRobotStatePublisher to generate TF data for robots to complex to publish itmanually
5.       Understandthe use of JointStatePublisher and how it relates to RobotMovement Controllers
 
Unit 1: Intro toTF
1.       What'sin the ROS TF Course
2.       How youwill learn all that
3.       Minimumrequirements for this course
Unit 2: TF Basics
1.       Whatyou will be able to do after this Unit
2.       Whatthis have to do with TF anyway
3.       Get anidea of what is happening
Unit 3: TF Publishand Subscribe
1.       TFPublisher
2.       TFSubscriber
3.       Addingmore frames
Unit 4:RobotStatePublisher
1.       Knowhow Pi-Robot works
2.       Createyour own robot_state_publisher launch
3.       JointState Publisher
Unit 5: StaticTransforms
1.       Introduction
2.       Howit's done in launch files and command line
3.       PracticalApplication
Unit 6:MicroProject
1.       Spawn aURDF model
2.       Removea model from Gazebo
3.       Guidelinesand the project itself
Unit 7: What to donext
1.       KeepLearning 
ROS-INDUSTRIAL 101
Introductionof some basic ROS tools to control industrial robots with ROS
Abrief summary
ROS-Industrialis a project which main goal is to bring ROS closer to the robotics industrialworld. It is a HUGE project, composed of many packages and tools.
ThisCourse is not meant to make you learn all the things you can achieve withROS-Industrial, but just to introduce you to some basic concepts you need toknow if you want to begin exploring all the ROS-Industrial capabilities.
Whatyou will learn
Duringthis Course you will address the following topics:
1.       Overviewof how to create an URDF file for an industrial robot.
2.       How tocreate a MoveIt! package for your industrial robot.
3.       How toperform motion planning using Python.
 
Unit 1:Introduction to the Course
1.       What isROS-Industrial
2.       Whatyou will learn with this Course
3.       How youwill learn it
4.       Minimumrequirements for the Course
5.       SpecialThanks
Unit 2: Creatingthe URDF
1.       Buildingthe URDF
2.       Buildingthe Xacro
Unit 3: Building aMoveIt package
1.       Buildinga MoveIt! package
2.       BasicMotion Planning
3.       Movingthe robot in the simulation
Unit 4: MotionPlanning through code (Python)
1.       Planninga trajectory
2.       Planningto a joint space goal
3.       Gettingsome useful data
4.       Executinga trajectory
Unit 5: FinalProject
1.       Buildthe URDF
2.       Buildthe MoveIt! package
3.       Connectthe MoveIt! package with the simulation
4.       PythonScript
Unit 6: FinalRecommendations
1.       KeepLearning 
ROS CONTROL 101
Learnhow to ROSify the control of your robot
Abrief summary
ROSControl are a set of packages and tools that allow you to send commands andcommunicate with the joints of your robot in order to be able to control them.
Themain goal of this Course is to teach you how to integrate this ros_controlutility within a simulated environment, so you can apply the same concepts touse this tool to control the joints of your real robot.
Whatyou will learn
Duringthis Course you will address the following topics:
1.       Basicsof ROS Control.
2.       How toconfigure ROS Control to work with your robot simulation.
3.       How tocreate a custom controller.
 
Unit 1:Introduction to the Course
1.       What isROS Control
2.       Whatyou will learn with this Course
3.       How youwill learn it
4.       Minimumrequirements for the Course
5.       SpecialThanks
Unit 2: BasicConcepts
1.       Theros_control packages
Unit 3:Configuring the controllers
1.       Configuringthe URDF - Transmissions
2.       Configuringthe URDF - Plugin
3.       Interactingwith the joints in a graphical way
Unit 4: Create acontroller
1.       Creatingthe package
2.       Creatingthe source code
3.       Updatingthe package.xml file
4.       Updatingthe CMakeLists.txt file
5.       Buildthe controller
6.       Writethe configuration file
7.       Createa launch file
Unit 5: CourseProject
1.       Examinethe simulation
2.       Buildthe control package
3.       Testyour package
4.       Createa controller
Unit 6: FinalRecommendations
1.       KeepLearning 
ROBOT CREATIONWITH URDF
Learnhow to create the URDF files to control your robot with ROS
Abrief summary
Inthis course you will learn how to go from a physical robot or even a robotdrawing to a full fledged simulation with physics, actuators and sensors.
Whatyou will learn
Duringthis course you will learn:
1.       How tocreate a URDF file that defines your robot in the Gazebo-ROS ecosystem.
2.       Definitionof weights, inertias, joints, links, sensor plugins and all that is needed tosimulate a robot.
3.       XACROfiles.
 
Unit 1: URDF Intro
1.       Introductionwith demo
2.       Why youneed to simulate robots
3.       How youwill learn about URDF files
4.       Requirements
5.       SpecialThanks
Unit 2: Creatingthe Visual Robot Model with URDF
1.       Introduction
2.       Learnhow to use the URDF creation tools and the creation procedure
3.       Linksand Joints
4.       See theURDF
5.       Learnabout the morphology of your robot
6.       Learnhow to import your 3D CAD models to Gazebo
Unit 3: Adapt URDFfor Gazebo Simulator
1.       AddCollisions
2.       Spawn arobot in Gazebo Through URDF Files
3.       AddInertias
4.       Addcontrollers
5.       AddingSensors
Unit 4: GurdyRobot
1.       Createthe Gurdy Robot
Unit 5: XACROfiles
1.       Basicson using XACRO
2.       Createyour own XACRO
Unit 6: MicroProject: Create your own Jibo
1.       Instructionsand the Project itself
Unit 7: What to donext
1.       KeepLearning 
ROS RVIZ ADVANCEDMARKERS
Learnhow to use RViz Advanced Markers for debugging and visualization
Abrief summary
Visualizingdata in the correct way is vital to extract meaningful conclusions. This isspecially true in Robotics.
Oneof the problems you always tend to have in robotics is to know what the robotis actually seeing, what is the virtual representation of the world in hismind. Its also very important to represent visually complex data in one placeonly.
That'swhy RViz and all its markers and plugins have made robotics much user friendlyand powerful than ever before!
Whatyou will learn
1.       How touse Basic RViz Markers.
2.       How toCreate BoundingBoxes Arrays that change dynamically.
3.       How toadd Overlay text, graphs and menus in RViz.
4.       DrawTFTRajectories, RobotFootsteps and occupancy grids that change based on realrobot data.
5.       Drawpictograms from FontAwsome to represent detections and real object in the world
6.       RepresentTwistStamped commands issued to the robot
7.       CreateInteractive displays in RViz that allow to execute programs from RViz withcustom icons.
8.       Recordvideos of Rviz
 
Unit 1:RvizMarkers Unit 0: Presentation in ROS
1.       Intro
2.       Let'sPlay
3.       Whatyou will learn with this Course
4.       How youwill learn all this
5.       Requirements
6.       SpecialThanks
Unit 2:RvizMarkers Unit 1: Basic Markers
1.       Firstget the feeling of the simulation
2.       Createyour first basic Marker
3.       Createa Custom Mesh Marker
Unit 3:RvizMarkers Unit 2: BoundingBoxes, RobotFootsteps, PolygonArray ,Ocupancygrids, Pictograms
1.       Whereto find all this elements in RViz
2.       BoundingBoxes
3.       RobotFootsteps
4.       PolygonArray
5.       OccupancyGrids
6.       Pictograms
Unit 4:RvizMarkers Unit3: Add Overlays
1.       Addingplots, piecharts and menus
2.       Plotsand PieCharts
3.       Menusand Text Overlay
4.       Completedemo
Unit 5:RvizMarkers Unit 4: Add Custom Panels to RVIZ and Extras
1.       Add aYES or NO interactive panel
2.       Add acustom GUI
3.       Drawtrajectories and TwistStaped in RViz
4.       RecordRViz Sessions
Unit 6:RvizMarkers What to do Next
1.       KeepLearning 
MASTERING WITHROS: SUMMIT XL
Masterthe robot SUMMIT XL from Robotnik. Learn all the basics to work with the realrobot.
Abrief summary
Whatyou will learn
1.       How toset up the navigation stack to make it navigate in an indoor environment,generating maps by its own.
2.       How tocreate a program to navigate in outdoors environments through GPS data.
3.       How todetect persons with the Hokuyo laser sensor.
4.       How todetect person with its PTZ RGB camera.
5.       How torecognise person with its PTZ RGB camera and tell if it has permission to bethere or not.
6.       How toSet WayPoints in a map to make it follow that path to patrole.
7.       Createa reactive programs based on all previously mentioned and create a patrolingprogram that reacts to person detections.
 
Unit 0: Unit 0:Robotniks Summit XL platform
Unit0: Summit XL Intro
Unit 1: Unit 1:Set Indoor Navigation Stack
Unit1: Set Indoor Navigation Stack
Unit 2: Unit 2:Set Outdoors Navigation
Unit2: Set Outdoors Navigation
Unit 3: Unit 3: Detectand localise person
Unit3: Detect and localise person
Unit 4: Patrolewith Summit XL Micro Project
Patrolewith Summit XL Micro Project
Unit 5: I havefinished, now what?
Ihave finished, now what? 
MASTERING WITHROS: JACKAL
Learnhow to create real world applications for a real robot. In this case Jackalrobot from ClearPathRobotics.
Abrief summary
Learnhow to create real world applications for a real robot. In this case Jackalrobot from ClearPathRobotics.
Whatyou will learn
1.       How toset up the navigation stack to make it navigate in an indoor environment,generating maps by its own.
2.       How tocreate a program to navigate in outdoors environments through GPS data.
3.       How todetect persons with the laser sensor.
4.       How todetect person with its RGB stereo camera.
5.       How togenerate waypoints and make jackal patrole.
6.       Use theStereoCam to generate PointCloud Data
7.       Createa reactive programs based on all previously mentioned and create a patrolingprogram that reacts to person detections.
 
Unit 0: Unit 0:Introducing ClearPath Jackal Robot
IntroducingClearPath Jackal Robot
Unit 1: Unit 1:Navitaion Indoor
NavigationIndoor
Unit 2: Unit 2:Set Outdoors Navigation
SetOutdoors Navigation
Unit 3: Unit 3:Detect and localise a person
Detectand localise a person
Unit 4: Patrolwith Jackal Micro Project
Patrolwith Jackal Micro Project
Unit 5: I havefinished, now what?
Ihave finished, now what? 
MASTERING WITHROS: SMART GRASPING SYSTEM
Learnhow to work with a robotic hand from Shadow Robot, including their SmartGrasping System.
Abrief summary
Withinthis Course, you are going to learn how you can start working with one of therobotic hands developed by the Shadow Robot Company, as well as how to usetheir Smart Grasping System.
Whatyou will learn
1.       BasicUsage and control of a Shadow Hand.
2.       How toattach a robotic hand to a manipulated arm.
3.       How tocreate a MoveIt package for a manipulated robot.
4.       How tointeract with the Smart Grasping System
5.       How tointegrate Perception with the Smart Grasping System
 
Unit 1:Introduction to the Course
Introductionto the Course
Unit 2: BasicUsage
BasicUsage
Unit 3: Attach thehand to a robotic arm
Attachthe hand to a robotic arm
Unit 4: MotionPlanning with MoveIt
MotionPlanning with MoveIt
Unit 5: SmartGrasping System
SmartGrasping System
Unit 6: Perceptionand Object Recognition
Perceptionand Object Recognition
Unit 7: Project
Project
Unit 8: FinalRecommendations
FinalRecommendations 
MASTERING WITHROS: TURTLEBOT3
Learnhow to work with a Turtlebot3 robot.
Abrief summary
Withinthis Course, you are going to learn how you can start working with a Turtlebot3robot using its both versions, Burger and Waffle.
Whatyou will learn
1.       BasicUsage and control of the Turtlebot3 robot.
2.       How toperform Navigation with Turtlebot3.
3.       Followa line with Turtlebot3.
4.       ObjectRecognition with Turtlebot3
5.       MotionPlanning in Moveit with Turtlebot3
 
Unit 1:Introduction to the Course
Abrief introduction to the Course, including a demo.
Unit 2: BasicUsage
BasicConcepts and Usage of the Turtlebot3 robot
Unit 3: Navigationwith Burger
Howto make Turtlebot3 robot navigate
Unit 4: Follow aline
Howto create a script in order to make Turtlebot3 follow a line in the floor
Unit 5: BlobTracking
Blobtracking with RGBD camera
Unit 6: ObjectRecognition
Detectobjects with RGBD camera
Unit 7: MotionPlanning with MoveIt
Howto perform Motion Planning with MoveIt and the Open Simulator arm
Unit 8: ProjectPart 1
1stpart of the Project, involving Navigation
Unit 9: ProjectPart 2
2ndpart of the project, involving Motion Planning
Unit 10: FinalRecommendations
Whatto do after finishing the course 
MASTERING WITHROS: TIAGO
Learnhow to work with a TIAGo robot from PAL Robotics.
Abrief summary
Withinthis Course, you are going to learn how you can start working with a TIAGorobot from PAL Robotics.
Whatyou will learn
1.       Controlof TIAGos joints.
2.       Navigationwith TIAGo.
3.       MotionPlanning with MoveIt!
4.       Perceptionwith OpenCV
5.       Perceptionwith PCL
 
Unit 1:Introduction to the Course
Abrief introduction to the Course, including a demo.
Unit 2: Control
Howto control the different joints of TIAGo robot
Unit 3: Navigation
Howto Navigate in indoor environments with TIAGo robot
Unit 4: MotionPlanning with MoveIt: Part 1
MotionPlanning with MoveIt and TIAGo
Unit 5: MotionPlanning with MoveIt: Part 2
MotionPlanning with Octomap
Unit 6: MotionPlanning with MoveIt: Part 3
Executea Pick and Place task with TIAGo
Unit 7: Perceptionwith OpenCV
Howto perform Perception with TIAGo using the OpenCV library
Unit 8: Perceptionwith PCL
Howto perform Perception with TIAGo using the PCL library
Unit 9: MicroProject
AMicro Project to apply the knowledge acquired during the course
Unit 10: FinalRecommendations
Whatto do after finishing the Course 
ROS PROJECTS:TURTLEBOT3
Thisis a ROS Project where you will have to apply different ROS knowledge in orderto solve all the exercises.
Abrief summary
Thisis a full ROS Project where you will have to apply different ROS concepts inorder to solve all the exercises that are presented. This project is based onthe Turtlebot3 robot.
Whatyou will need for the project
1.       BasicROS knowledge
2.       BasicPython knowledge
3.       ROSNavigation knowledge
4.       ROSPerception basic knowledge (Object Recognition)
5.       ROSManipulation knowledge (MoveIt and Python API)
 
Unit 2: Part 1:Navigation
Makethe Turtlebot3 robot navigate applying ROS Navigation concepts
Unit 3: Part 2:Perception
Makethe Turtlebot3 robot be able to detect objects applying some ROS Perceptionconcepts
Unit 4: Part 3:Motion Planning
Makethe Open Manipulator arm perform motions applying some ROS ManipulationConcepts 
PROGRAMMING DRONESWITH ROS
Inthis Course, you are going to learn all the basics you need in order to startprogramming autnomous drones.
Abrief summary
Inthis Course, you are going to learn all the basics you need in order to startprogramming autnomous drones. You are going to use a Parrot AR Drone.
1.       Whatyou will learn
2.       BasicControl of a drone.
3.       Droneexploration
4.       DroneNavigation
5.       SimulationIn The Loop
 
Unit 1:Introduction to the Course
Abrief introduction to the Course, including a demo.
Unit 2: BasicControl of a drone
Our6th ROS Summer School took place at the Aachen UAS from 14th August - 25thAugust, 2017.
The ROS Summer Schoolcovered common topics regarding mobile robotics:
1.       Introductionto Mobile Robotics
2.       ROSFile System
3.       ROSCommunication
4.       Hardwareand Sensors
5.       ROSSerialand Teleoperation
6.       ImageProcessing with OpenCV & ROS
7.       LandmarkDetection
8.       Localizationand Navigation
9.       Mapping
10.  Introductionto SLAM Algorithms
11.  Participationat Urban Challenge Competition
Visitto Paris, France
Weused the Middleware ROS (Robot Operating System) as standard Operating Systemfor Robots. After having learnt the theory all topics were experienced on realhardware using our mobile robots developed at the Aachen UAS. In the end we hada competition where participants had to use their skills to program the robotto drive around a course.
Agendaof the 6. ROS Summer School, 14th-25th August, 2017:
Monday,August 14th: ROS-Demo / Show, welcome BBQ
Tuesday,August 15th: ROS Basics: Navigating in Linux and ROS file system
Wednesday,August 16th: ROS Basics: ROS internal communication
Thursday,August 17th: Hardware interfaces, Transforms in ROS
Friday,August 18th: Introduction to GAZEBO simulator, AR tag recognition
Saturday,August 19th: Day trip to Paris (France)
Sunday,August 20th: Day at leisure
Monday,August 21st: Localization & Mapping
Tuesday,August 22nd: ROS control, Path planning
Wednesday,August 23rd: Industrial exhibition
Thursday,August 24th: Exam, free hacking
Friday,August 25th: Free hacking, competition, farewell BBQ
Additionally,we offer excursions during the week to explore Aachen and other nearby cities(e.g. Cologne, Maastricht or Bonn).
Option:UAV Workshop on August 26-27th, 2017
Saturday,August 26th: Basic principles of UAV design, components and functions, examplesetup of a multicopter, first flight setup guide
Sunday,August 27th: Flight modes, GPS based behaviours, Interfacing with ROS, AR_tagsand UAVs, autonomous flying 
Programming forRobotics - ROS
Maincontent
Abstract:This course gives an introduction to the Robot Operating System (ROS) includingmany of the available tools that are commonly used in robotics. With the helpof different examples, the course should provide a good starting point forstudents to work with robots. They learn how to create software includingsimulation, to interface sensors and actuators, and to integrate controlalgorithms.
Objective:
1.       ROSarchitecture: Master, nodes, topics, messages, services, parameters and actions
2.       Consolecommands: Navigating and analyzing the ROS system and the catkin workspace
3.       CreatingROS packages: Structure, launch-files, and best practices
4.       ROS C++client library (roscpp): Creating your own ROS C++ programs
5.       Simulatingwith ROS: Gazebo simulator, robot models (URDF) and simulation environments(SDF)
6.       Workingwith visualizations (RViz) and user interface tools (rqt)
7.       InsideROS: TF transformation system, time, bags
Content:This course consists of a guided tutorial and exercises with increasing levelof difficulty when working with an autonomous robot. You learn how to setupsuch a system from scratch using ROS, how to interface the individual sensorsand actuators, and finally how to implement first closed loop control systems.
 
Coursedates
Location:HG G1
Time:08.15-12.00
Dates:20.2.2017, 23.2.2017, 24.2.2017, 27.2.2017, 2.3.2017
 
Preparationbefore the course
Becausethe course will start already on the first day using ROS and Ubuntu, we expectyou to prepare your Laptop with a working environment before the course. Duringthe course, we will work with Ubuntu 14.04 and ROS Indigo Igloo. We highlyrecommend you to use a virtual machine and the provided image that alreadycontains a preinstalled environment with the following software:
Ubuntu14.04
ROSIndigo Igloo
EclipseNeon
Catkincommandline tools
Terminator
Git
Installvirtual machine
Torun the provided image you need the VMware Workstation 12 Pro (Windows, Linux)or VMware Fusion 8 (Mac OS X). This software can be ordered on the ETH Zurich’sIT Shop: https://idesnx.ethz.ch/ Pleasefollow the given instructions to download and install the software from VMware.
Downloadimage
Downloadthe complete folder “Ubuntu ROS-Course” from polybox:https://polybox.ethz.ch/index.php/s/kPQFsNrpDinWQJL
Werecommend you to have at least 20GB of available memory on your computer to runthe virtual machine.
Startup virtual machine
OpenVMware Workstation
Openfile Ubuntu ROS-Course.vmx in the downloaded folder Ubuntu ROS-Course
Startvirtual machine with “Power on this virtual machine”
Tologin under Ubuntu use the provided account ROS Course:
User:student
Password:Ros.2017
Coursematerial
VideoRecording of the Lectures
     Topics Material
 
ROSarchitecture & philosophy
ROSmaster, nodes, and topics
Consolecommands
Catkinworkspace and build system
Launch-files
Gazebosimulator   
Videorecording
Lecture1 (PDF, 3.2 MB)
Updated22.02.2017
Exercise1 (PDF, 290 KB)
Updated22.02.2017
 
ROSpackage structure
Integrationand programming with Eclipse
ROSC++ client library (roscpp)
ROSsubscribers and publishers
ROSparameter server
RVizvisualization
Videorecording
Lecture2 (PDF, 4.1 MB)
Updated24.02.2017
Exercise2 (PDF, 210 KB)
Updated22.02.2017
HuskyHighlevel Controller Template (ZIP, 3 KB)
Updated22.02.2017
 
TFTransformation System
rqtUser Interface
Robotmodels (URDF)
Simulationdescriptions (SDF)
Videorecording
Lecture3 (PDF, 5.5 MB)
Updated24.02.2017
Exercise3 (PDF, 218 KB)
Updated01.03.2017
ROSWorlds (ZIP, 1 KB)
Updated13.02.2017
 
ROSservices
ROSactions (actionlib)
ROStime
ROSbags
Debuggingstrategies
Videorecording
Lecture4 (PDF, 966 KB)
Updated26.02.2017
Exercise4 (PDF, 477 KB)
Updated02.03.2017
ROSBag (BAG, 158.9 MB)
Updated13.02.2017
 
Casestudy: Using ROS in complex real-world applications
Casestudy video recording
Casestudy slides (click on download)
Exercise5 (PDF, 145 KB)
Updated01.03.2017
Settingup a developer's PC (after the course)
Ifyou will later work on a project involving programming with ROS under Linux, werecommend a native installation (not recommended for this course). You caninstall the same installation as you found on the virtual machine with theseinstructions (PDF, 77 KB). 
JustinHuang edited this page on 20 May · 18 revisions
Tutorials
C++crash course
ROSweb interfaces with Polymer
Touchscreeninterfaces
USBscale
ROSarchitectural tips
Simulatingpoint cloud locations
Controllingnavigation speed
Clonethis wiki locally https://github.com/cse481sp17/cse481c.wiki.git  Clone in Desktop
Welcometo CSE 481C, Spring 2017! A list of labs for the class is below.
Week7
Tuesday/ Thursday
Lab30: Introduction to point cloud processing
Lab31: Planar segmentation
Lab32: Euclidean clustering
Lab33: Fitting bounding boxes (optional)
Lab34: Object recognition
Week6
Tuesday
Lab27: Our first cpp package
Lab28: AR tags
Thursday
Lab29: Assignment 6 tips
Week5
Tuesday
Lab19: Cartesian space manipulation
Lab20: Checking for reachability
Lab21: Obstacle avoidance
Lab22: Path constraints
Thursday
Lab23: TF
Lab24: Transform arithmetic
Lab25: Fast IK with IKFast
Lab26: Advanced interactive markers, assignment 5 tips
Week4
Tuesday
Lab11: Visualizations in ROS with RViz
Lab12: Creating Custom Visualizations in RViz using Markers
Lab13: Creating Interactive Visualizations in RViz using InteractiveMarkers
Lab14: Odometry and rotations
Lab15: Driving with odometry
Thursday
Lab16: Mapping and navigation
Lab17: Sending navigation goals
Lab18: Map annotation with a hybrid web/RViz interface
Week3
Tuesday
Lab1: Starting ROS and the Fetch simulator and getting the starter code
Lab2: Controlling the base
Lab3: Controlling the gripper
Lab4: Running on the real robot
Lab5: Controlling the torso
Lab6: Controlling the head
Lab7: Controlling the arm
Lab8: Reading joint states
Thursday
Lab9: Robot web tools
Lab10: Robot frontends with raw JavaScript
Weeks1-2
Gettingset up
Whichtutorials should I use?
Productivitytips 
Programingfor the Robot Operating System
CourseDescription
Highcomplexity of tasks that the modern mobile robots are facing calls for using aprogramming infrastructure which enables efficient integration of independentlydeveloped subsystems into a single system enabling autonomous robot operation.The Robot Operating System (ROS) offers an environment for developing modularcontrol software, a communication infrastructure to connect the softwarecomponents and an open source library of implemented algorithms. In the lastfive years ROS has become the standard for robot control in the academiccommunity and its influence is spreading also in the industry. In the scope ofthis course we shall cover the practical development of software modules in theROS environment and their integration into a completely functional system forautonomous robot control.
GeneralCompetencies
Basicknowledge on using the Linux operating system and programming in the Pythonprogramming language. Basic understanding o the architecture and implementationof the Robot Operating System (ROS). Capability to implement ROS nodes:applications that communicat through the ROS middleware. Basic knowledge aboutsolving the mobile robot autonomous navigation problem and configuring the ROSnavigation stack.
LearningOutcomes
Usebasic Linux commands.
UseLinux tools to install additional software.
Solvesimple problems using the Python programming language.
Explainthe role of the Robot Operating System in autonomous robot control.
Producea ROS node: an application capable of exchanging data over the ROS middleware.
Applythe ROS navigation stack to enable autonomous mobile robot navigation.
Formsof Teaching
Lectures
Interactivelectures with examples and practical assignments.
LaboratoryWork
Assignmentsintegrated into lectures.
ProgrammingExercises
Projectassignment on the robot.
GradingMethod
ContinuousAssessment       Exam
Type   Threshold Percentof Grade  Threshold Percent of Grade
Homeworks         50 %   100%       0 %     0 %
Weekby Week Schedule
 
Linuxoperating system basics.
Pythonprogramming language basics.
Introductionto the Robot Operating System (ROS). Programming ROS nodes in Python (part 1).
ProgrammingROS nodes in Python (part 2).
Datalogging and processing using rosbag.
Robotmap building and navigation in ROS
C++programming in Linux.
ProgrammingROS nodes in C++.
AdvancedROS programming topics. Final project: controllling an autonomous robot in ROS. 
RobotProgramming
Sectionof Elective in Artificial Intelligence (Complementi di IntelligenzaArtificiale)
MasterArtificial Intelligence and Robotics (Laurea Magistrale in IntelligenzaArtificiale e Robotica)
A.A.2014/2015, 3 Credits, Semester I
Prof.Daniele Nardi
Programme:
Robotprogramming requires a deep knowledge of the programming techniques and theprogramming language chosen for software development. In addition, the softwarefor robotic applications is often built by means of specialized developmenttools. The goal of the course is to discuss a case study, in order to provide asystematic approach to robot programming. Specifically, robot programming isaddressed using C++ as basic programming language, ROS and NAO SDK asdevelopment frameworks. The target robotic platforms are a simple wheeled robot, that will be built during the class and the NAO humanoid robot. The courseaddresses examples of programming tasks in Perception, Localization andNavigation and Mapping, Actions and Plan execution, Human Robot Interaction.
Thecourse will rely on the technical support of the members of the RoCoCo lab. Ifyou wish to get started earlier you can start looking at the RoCoCo wiki andstart playing with the software tools.
Classesare Tuesday 15:45-19:00, starting September 30th, Room A5
Noticethe Room Change!!!
Planof the Lectures
September30th, Introduction: Robotics Software, Robot Operating System (ROS); Git;
October7th, Programming NAO-Robots: RoboCup, Nao: The B-Human Framework,
October14th, Using ROS on robots: Hardware: robot base and sensors, Robot set up withROS, bag for the homework, smaller bag for the homework;
October16th, The robot MARRtino;
October21st, Autonomous localization mapping and navigation: ROS Navigation;
October28th, Image processing with OpenCV: Image Processing: openCV;
November4th, Perception with RGBD sensor: 3D data processing, Using pcl, codice;
November11th, Actions and plans, Basic actions in ROS, Petri Net Plans, PNP in ROS,software, PNP ,
November18th, Human Robot Interaction, Human Robot Interaction in Natural Language,Code -->
Homeworks(see class notes)
Exam
Theexam requirements are the homeworks OR a project. The student can choose to dothe exams either with NAO, B-Human framework OR with the robot MARRtino and theROS framework. 
Introductionto Robotics
Fall2016
TA: Mr. Roi Yehoshua
Email:roiyeho@gmail.com
Courseweb site
Coursefrom semester Fall 2015
Notifications
13/4/17- The grades of ex.3 have been published.
9/3/17- The submission of ex.3 has been extended to 19/3/17. I have also updated thelaunch file of the exercise to include the amcl node for localization.
3/2/17- The grades of ex.2 have been published
1/2/17- Assignment no.3 has been published.
26/1/17- The submission of ex.2 has been extended to 29/1/17.
28/12/16- The grades of ex.1 have been published
25/12/16- The second assignment has been published.
20/12/16- The submission of ex.1 has been extended to 25/12/16.
7/12/16- The first assignment has been published. Good luck!
6/11/16- Welcome to the ROS tirgul website. Good luck in the semester!
Lectures
Slides  Topics Codedemos
Lecture1 
Introductionto ROS
ROScore concepts: nodes, topics, services and messages
ROSinstallation
ROSbasic commands
Lecture2 
catkinbuild system
IntegratingEclipse with ROS
Writingyour first node
Runningand debugging the node
hello.cpp
Lecture3 
ROStopics
Publishersand subscribers
Sendingvelocity commands to the robot
roslaunch
Creatingcustom messages
my_turtle.zip
Lecture4 
Gazebosimulator
Readingsensor data
Wander-bot
stopper.zip
Lecture5 
Mappingin ROS
ROSvisualization tool (rviz)
ROSServices
Loadingmap into memory
mapping.zip
Lecture6 
ROStransformation system (tf)
Getrobot's location on map
tf_demo.zip
Lecture7 
ROSnavigation stack
Navigationplanners
Costmaps
Sendinggoal commands
Lecture8 
ROSactions
Sendinggoals from code
Makingnavigation plans
send_goals.zip
Lecture9 
Createa 3D model of the robot
URDFand Xacro files
SDFmodel files
Lecture10
IntegratingOpenCV with ROS
Robotvision
Follow-bot
follow_bot.zip
Lecture11
Behavior-basedrobotics
Whereto go next?
Assignments
Assignment    Out     Due     Notes  Grades
Assignment1 7/12/16     25/12/16   Worth 10% of your final grade  Grades
Assignment2 25/12/16   29/1/17     Worth 15% of your final grade  Grades
Assignment3 1/2/17 19/3/17     Worth 15% of your final grade  Grades
Notes
ROSWiki
ROScheat sheet - Most used instructions

附录官方资料:
----ROS 2----



ROS 2

机器人操作系统(ROS)是一套软件库和工具,可帮助您构建机器人应用程序。从驱动程序到最先进的算法,以及功能强大的开发人员工具,ROS都可以为您的下一个机器人项目提供所需的内容。这都是开源的。在这里,您将找到关于如何安装和使用ROS 2的软件的文档,ROS 2正在大力开发之中。请参阅下面有关ROS 2的更多信息。如果您正在寻找有关ROS 1的信息(即,ROS已经存在10多年,现在可能会用到),请查看ROS网站文档wiki。在继续阅读之前,请阅读功能页面以了解当前ROS 2版本的内容。

安装

参阅请安装页面

教程和功能

ROS 2正在大力发展。您可以检查出的教程页面看到一系列的什么系统可以在当前状态下做的,如果它适合你的工程实例今天取决于具体的要求。有关当前功能的详细信息,请参阅功能

计划

ROS 2目前计划每六个月发布一个新版本(这是ROS 1的两倍),以便社区成员有机会提供有关不断发展的系统的早期反馈。有关即将推出的ROS 2功能的详细信息,请参阅路线图

约定

有关如何为ROS 2开发做出贡献的详细信息,请参阅贡献页面开发人员指南

报告或提出问题

查看联系页面

关于ROS 2

自2007年启动ROS以来,机器人和ROS社区发生了很大变化。ROS 2项目的目标是适应这些变化,充分利用ROS 1的优点,改进不是什么。有一个关于ROS 2的动机完整的文章在这里

在哪里可以找到更多信息

design.ros2.org上有关ROS 2设计的各种文章,例如:为什么要使用ROS 2.0?DDS上的ROS,以及ROS 1和ROS 2之间的变化。ROS 2的代码是开源的,分解成各种版本库。您可以在ros2 github组织中找到大多数存储库的代码。docs.ros2.org包含有关ROS 2内部设计和组织的最新详细信息。awesome-ros2是ROS 2软件包和资源的“备忘单”风格快速参考,它将获得(希望)在精选列表的列表中,以帮助GitHub用户了解ROS 2。以下是关于ROS 2的ROSCon讲座,并提供了有关ROS 2和各种演示工作的信息:
标题类型链接
ROS 2推动机器人发展未来的愿景ROSCon 2017演示文稿幻灯片  /  视频
ROS 2更新 - alpha发布摘要,架构概述ROSCon 2016演示文稿幻灯片  /  视频
评估ROS2通信层的弹性ROSCon 2016演示文稿幻灯片  /  视频
ROS 2的状态 - 演示和背后的技术ROSCon 2015演示文稿幻灯片  /  视频
ROS 2在“小型”嵌入式系统上ROSCon 2015演示文稿幻灯片  /  视频
ROS和ROS 2.0中的实时控制ROSCon 2015演示文稿幻灯片  /  视频
你为什么要使用ROS 2ROSCon 2014演示文稿幻灯片  /  视频
下一代ROS:建立在DDS上ROSCon 2014演示文稿幻灯片  /  视频
-ROS 1-ROS(Robot Operating System,机器人操作系统)提供一系列程序库和工具以帮助软件开发者创建机器人应用软件。它提供了硬件抽象,设备驱动,函数库,可视化工具,消息传递和软件包管理等等功能.ROS遵循BSD开源许可协议。ROS:
安装在你的机器上安装ROS。
入门学习ROS的相关概念,客户端函数库以及技术梗概等。
教程ROS手把手教程,提供每一步详细操作命令。
贡献如何加入ROS社区,比如分享你的代码。
支持遇到问题可以从这里寻求支持和帮助。

软件:发行版本查看ROS不同发行版本。
软件包查找几千个可用的软件包。
核心库按编程语言和主题划分的API。
常用工具开发或调试ROS应用程序时的常用工具。

机器人/硬件:机器人支持ROS的机器人平台。
传感器兼容ROS的传感器驱动。

出版物,课程以及活动:论文带开源代码的ROS相关论文。
书籍出版书籍,包括文档,教程和开源代码等。
课程使用或教授ROS的课程。
活动历史活动和相关资料。

ROS中国:中文社区收集了ROS相关QQ群,论坛和博客专栏等各种社区资源。

国产机器人平台收集了支持ROS的国产机器人,及相关文档,资源。

ROS维基翻译志愿加入ROS维基中文翻译。

世界各地维基它的镜像就是站点。
------------

十大机器人操作系统(ROS)书籍

作者: YUHONG LIN / 2017年9月4日,星期一 /  发表在 ROS












这篇文章展示了全世界现有的ROS书籍,包括最新版本和不同的语言版本:

(点击图片了解更多信息并购买图书)使用ROS进行机器人编程





 ROS简要介绍





 学习机器人编程(ROS)- 第二版





 在5天掌握ROS



 ROS Robotics By Example





 ROS机器人工程项目实践





 掌握机器人编程(ROS)- 第二版





 机器人高效编程(ROS) - 第三版





 机器人操作系统(ROS):完整的参考





 使用ROS学习机器人编程的系统方法





 

ROS其他语言的资源:

机器人操作系统测试技术(中文版)





 ROS机器人编程 - 第二版(韩文版):ROS로봇프로그</s>



 ROS机器人编程(日文版):免费PDF下载



 ROS的机器人编程(日文版)ROSではじめるロボットプログランング



 ROS机器人编程(韩文版)ROS编程编程


 ROSBook KR(韩文)


 ROS的简介(中文版)机器人操作系统(ROS)浅析


 基于ROS的机器人理论和应用


 ROS机器人程序设计


 机器人操作系统ROS原理与应用


 开源机器人操作系统 - ROS


 

--------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐