
ROS2学习笔记与高校课程分享
文章平均质量分 76
ROS2学习笔记与高校课程分享
介绍Dashing发行版及后续版本的ROS2,安装、使用、调试和开发。
结合具体传感器和丰富的仿真案例进行项目式博客撰写,为日常应用型本科教学积累教案和素材。
zhangrelay
{23年6月之后由AI完全主导}2023年充分见证了AIGC的强大潜力,在被完全取代之前,依旧不忘初心,坚持更新。(2022年及之后,虽然课程教学所作的努力全部失败,但依然在努力寻找那微弱的光。2021年及以前:LoveRobot,Go!!!!人工智能和机器人粉,从事机器人工程专业本科教学和科研工作,研究方向包括多机器人仿真技术,控制与协作,机器人系统软硬件开发等。)
展开
-
ROS 1 和 ROS 2 的前世、今生、安装使用说明与资料汇总
----ROS 2 Ardent Apalone发布----现在,最常用的ROS indigo或ROS Kinetic等都是1.0时代的ROS,这个时代的ROS有一个master(roscore)。历经10年发展,不断壮大。那么问题来了为什么会有ROS 2.0?要想搞清楚这个问题,需要参考ROS 2.0设计网址:http://design.ros2.org/这里摘录一段话,选自Why ROS 2....原创 2017-11-01 20:40:29 · 15273 阅读 · 10 评论 -
机器人操作系统二(ROS2)- 仿真 Simulation
ROS2的相关课程第一次开设的时间是在2017年的“智能机器人技术综合实训课程说明”(2017-2018-1学期)。当时以一个专题的形式进行简要介绍,2018年扩展了安装、基础、导航等内容(2018-2019-1学期)。TheROS2 course was first held in 2017, "Instructions for Integrated Robotics Training Cou...原创 2019-08-21 09:51:56 · 4552 阅读 · 2 评论 -
机器人操作系统二(ROS2)- 实践 Practice
这里要偷懒了,都是已经发过的博文,在此列一下。Because these are blogsthat have been published before, so just list them here.桌面机器人:Desktop robot:Cozmo+ROS2:https://blog.csdn.net/ZhangRelay/article/details/93510762coz...原创 2019-08-21 09:44:14 · 1937 阅读 · 0 评论 -
机器人操作系统二(ROS2)- 启程 Departure
是时候放下ROS1,开启ROS2的旅程了。It's time to put down ROS1 and start the journey of ROS2.ROS2官方在线文档链接 ROS2 officialonline documentation:https://index.ros.org/doc/ros2/ROS2教程文档使用说明与为什么选择ROS2?ROS2 tutorial do...原创 2019-08-21 09:50:17 · 3758 阅读 · 2 评论 -
机器人操作系统二(ROS2)- 修行 Taoism
如果不了解ROS 2,推荐先体验一下吧,具体教程:机器人操作系统二(ROS2)- 启程 DepartureROS 2项目的目标是继承ROS 1的优点并改进不合适的部分。The goal of the ROS 2 project is to leverage what is great about ROS 1 and improve what isn’t.何为ROS 2?Why ROS 2?...原创 2019-08-21 09:51:17 · 11291 阅读 · 2 评论 -
URDF机器人模型ROS1&2案例(noetic+galactic)
URDF机器人模型ROS1&2案例_zhangrelay的专栏-CSDN博客ROS机器人URDF建模_zhangrelay的专栏-CSDN博客如上两篇博客所涉及案例,如下:zhangrelay / urdf_tutorial · GitCode为啥不使用github……主要是方便学生朋友使用,网络稳定且快速ros1 :master/noetic ros2 : galactic请注意分支选择,不要搞错了。ros1编译使用catkin; ros2编译使用co..原创 2022-03-10 22:10:35 · 36785 阅读 · 8 评论 -
两只机械狗狗的价格-Spot与CyberDog(铁蛋)
一只来自波士顿动力Spot:一只来自小米机器人部门CyberDog:价格:基本版Spot:50万+,高配版不敢想……基本版CyberDog:0.9999万!!!定价本身就是奇迹。原创 2021-08-12 11:03:23 · 1922 阅读 · 6 评论 -
为什么掌握了ROS1机器人开发工具并不能加速掌握ROS2呢???
个人使用体验,概念相似,但是“内核”差异很大。不推荐通过学习ROS1,掌握ROS2。看一段在官网论坛的反馈:简要的机器翻译如下:此文作者在Discourse上是新手,但对ROS来说并不陌生,并且是ROS1的长期“用户”(或者说是开发者更合适),来自布拉格CTU的MRS组的多旋翼飞行器领域。有兴趣可以参考他们公开的代码库:github.com/ctu-mrs/mrs_uav_system。当然他们正在慢慢地着手实现其他人开始问我们的系统对ROS2支持的程度,因此尝试它。从基础开始,原创 2021-02-02 21:46:41 · 42486 阅读 · 10 评论 -
webots和ros2笔记08-分封
如果阅读完webots_ros2源码,到此已经接近尾声了,为何?已经入门webots和ros2了。是否需要继续研究就看需求了!推荐阅读下文: ROS2机器人操作系统零基础快速入门 https://zhuanlan.zhihu.com/p/96940278 学完ros2基础和webots基础最多需要8+8=16小时足矣,每天学习3小时,一周搞定!分封就是在基础掌握之后,开始划分专业方向了,只有基础教程是所有使用ros2和webots的必修课。此处罗列一些官方案例,源码分析依据留原创 2021-01-18 22:19:54 · 57364 阅读 · 0 评论 -
webots和ros2笔记07-建国(turtlebot3)
在前篇王者https://zhangrelay.blog.csdn.net/article/details/112772586章节中,使用turtlebot进行导航任务。如何更好导航,涉及知识点很多,但是让机器人在自己的环境中实现导航任务的前提是建国¥_¥(建立环境地图-机器人仿真环境自我认知的王国)。这就是大红大紫的!!!SLAM!SLAM!!SLAM!!!调试过程并不复杂,{入城-新建-称王-建国}四部曲走一遍这个案例很容易理解,并且直接可以跑。SLAM考古派喜欢从.原创 2021-01-18 20:52:16 · 9860 阅读 · 15 评论 -
webots和ros2笔记06-王者(turtlebot3)
在学习完成05-新建:https://zhangrelay.blog.csdn.net/article/details/112756752之后,继续将ROS2功能包和webots仿真利器深度融合,如何做呢?在最初以epuck为例,介绍了一些基本知识点,本节将以turtlebot3为主!从epuck到turtlebot3!turtlebot系列是ROS最强的教学机器人。那熟悉的感觉又回来啦!!!注意事项,环境一定要正确配置,官网介绍非常详细,linux和windows通用,这里以wi原创 2021-01-18 16:21:28 · 9321 阅读 · 0 评论 -
webots和ros2笔记05-新建
在完成04-入门:https://zhangrelay.blog.csdn.net/article/details/112739671。如果将webots丰富的机器人库和ros2结合呢???官网教程非常简洁:https://github.com/cyberbotics/webots_ros2/wiki/Tutorial-Create-Webots-Robot https://github.com/cyberbotics/webots_ros2/wiki/Tutorial-Write-ROS2-原创 2021-01-17 20:39:47 · 2103 阅读 · 0 评论 -
webots和ros2笔记04-入城
在完成03-解析:https://zhangrelay.blog.csdn.net/article/details/112686566本文通过一个移动机器人案例入门webots和ros2吧,这里以官方教程epuck为例介绍。参考链接:https://github.com/cyberbotics/webots_ros2/wiki/Tutorial-E-puck-for-ROS2-Beginners这个教程适用于仿真的epuck和真实的epuck机器人,但是这里只介绍仿真。请务必确保we原创 2021-01-17 14:22:35 · 9002 阅读 · 11 评论 -
webots和ros2笔记03-解析
在完成02-启程:https://zhangrelay.blog.csdn.net/article/details/112675018那么会思考两个机械臂拿起易拉罐的过程是如何实现了。简要分析一下:launch(armed_robots.launch.py):import osimport launchfrom ament_index_python.packages import get_package_share_directoryfrom webots_ros2_core.uti原创 2021-01-15 20:37:21 · 12191 阅读 · 0 评论 -
webots和ros2笔记02-启程
看完01-资料篇https://zhangrelay.blog.csdn.net/article/details/112670542。是不是有点冲动,想跑一个案例看看效果如何呢?开始吧。安装包安装有两种方式,如果是linux就非常方便,使用如下命令就可以了。sudo apt-get install ros-$ROS_DISTRO-webots-ros2其中,$ROS_DISTRO为ROS2版本号,如foxy,命令如下:sudo apt-get install ros-foxy原创 2021-01-15 17:11:43 · 2962 阅读 · 0 评论 -
webots和ros2笔记01-资料
webots版本2020b1+ros2版本foxy,案例可以在windows和linux下使用。roswiki:http://wiki.ros.org/webots_ros2 github:https://github.com/cyberbotics/webots_ros2/wiki查看系统中ROS相关环境变量:linux: printenv | grep -i ROS windows: set | findstr -i ROS 下载源码包,使用colcon build原创 2021-01-15 15:43:25 · 3555 阅读 · 2 评论 -
ROS2Foxy和ArduinoESP32消息和速度指令发布调试笔记
ROS2对节点信息稳定性有要求,如果用wifi等节点间时延过长会导致无法成功,部分路由器也会有不兼容情况(DDS大法好奇妙),请一定注意!(turtlesim版)cmdelecho cmdvel手机热点IP和时延:手机热点IP时延-一般为20-30ms手机热点易出现无法连接成功的情况!DDS累觉不爱了……不爽了!一定要快,快,快!!!路由器IP和时延:路由器时延-大部分<5ms使用路由器稳定可靠,路由器越神奇(DDS爱它),ros2消息发布接收越稳定,就是容易成功建立连接。这样效.原创 2020-11-08 23:59:34 · 36343 阅读 · 0 评论 -
ROS1&2极简版安装配置案例(Noetic&Foxy@Ubuntu20.04)
Noetic:1:sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'2:sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --r..原创 2020-08-12 14:49:44 · 37285 阅读 · 4 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9行动进阶实战(九)- mobot区域巡逻
行动(action)比服务更为灵活和复杂。在给出行动具体说明之前,先简要复习一下:主题-服务-行动:场合具体细节服务/行动对比从上面可以非常明显的看出,服务和行动的差异。那么实践任务如下:用行动实现第8讲中,第三种服务的功能,单目标点多参数;行动实践1用行动实现mobot在室内环境各房间的巡逻,多目标点多参数;行动实践2用行动实现mobot在室外跑道的巡逻,多目标点多参数不确定。行动实践3-日光行动实践3-灯光由此,需要融合OpenAI,OpenCV和BT。从机器人主题,服务过渡.原创 2020-05-20 09:56:19 · 8230 阅读 · 9 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9服务进阶实战(八)- mobot行驶至目标位置
ROS2在基本概念上与ROS1相似,但是实现上差别较大,比如编程规范等。上一节是主题实战,有兴趣可以编写代码实现机器人速度发布和坐标订阅。https://zhangrelay.blog.csdn.net/article/details/106040763主题,节点,消息(主题消息)~那么服务呢,服务器<->客户端,如何实现一个机器人获取目标点坐标? 行驶到目标点? 显示行驶进度?这样,三步功能呢,课程复习同样放置在文末。先看效果吧(无解说):https://www.b原创 2020-05-19 22:58:49 · 8193 阅读 · 2 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9主题进阶实战(七)- mobot速度发布与里程计订阅
在ROS2课程中已经学过并掌握了一个基本的发布器和订阅器(C++),官网的教程全部掌握大致需要20分钟吧。这过程包括:创建一个功能包 编程实现一个发布节点 编程实现一个订阅节点 编译与运行这部分内容作为复习,放置于文末,本文在Gazebo 9仿真环境中,使用mobot编程实现一个速度发布器和里程计订阅。实现效果参考如下视频:ROS2和Gazebo9中mobot速度发布和坐标订阅在mobot/src文件夹,新建pub_vel.cpp和sub_pose.cpp。要点:随机速原创 2020-05-10 20:59:58 · 9401 阅读 · 7 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9激光传感器算法进阶(六)
二维激光雷达是室内机器人最常用的距离传感器之一。结合ROS暑期学校趣味竞赛案例,思考完成如下算法:读取环境基本特征 识别特征 给出一些关键值圆形:圆形环境识别为圆,给出直径?如何实现?三角形:三角形环境识别为三角形,并给出边长和角度?矩形:矩形环境识别为矩形,并给出边长和角度?掌握此案例,激光雷达算法基础又向前迈进一小步~~...原创 2020-04-26 14:54:19 · 9755 阅读 · 0 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9多机器人实践(五)
在第三个和第四个案例中,我们依然只使用了一个机器人,毕竟室内环境比较小,为了增加趣味性和竞技效果,通常环境中可以有多个机器人要么竞争或协作完成任务,本实践选用如下场景(aws_bookstore):多机器人-图书馆环境smallhouse案例可以测试单机器人SLAM,扫地机器人算法,室内导航,多点巡逻等。bookstore案例可以尝试更复杂的多机协作,例如共同构建环境地图,场地内协作等,更...原创 2020-04-26 14:40:37 · 8615 阅读 · 0 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9目标跟踪实践(四)
目标跟踪可以使用激光或视觉传感器,本节开始只提供思路,无教程,供有兴趣的朋友自主实践。激光测距 视觉识别 融合技术mobot awsracetrack gazebo如下图所示:mobot coke_can如何编写mobot_follow节点,识别coke_can并跟随coke进行运动呢?视觉:视觉?opencv4?激光:激光?参考指令:第一个终端开启仿真环境:r...原创 2020-04-25 15:12:24 · 9079 阅读 · 4 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9环境综合测试教程(三)
在完成教程(一)搭建机器人和(二)命令遥控可视化后,将仿真机器人用于更为逼真的环境,可以测试如SLAM,区域覆盖以及场馆巡逻算法,这里环境均采用aws提供模型,分别为smallhouse和bookstore,环境适用于ROS2和ROS1全部案例,但ROS1内容不做讲解,这里只简要叙述一下ROS2中调试和使用的过程。ROS2和Gazebo9中mobot室内环境仿真测试在环境中添加机器人模型...原创 2020-04-23 15:44:06 · 9907 阅读 · 15 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9命令遥控可视化教程(二)
上一篇,已经在Gazebo 9中放入了一个支持ROS 2的仿真机器人,具体参考:使用机器人操作系统ROS 2和仿真软件Gazebo 9搭建机器人教程(一)本篇,通过此案例学习并熟练掌握ROS2的如下内容:ROS2常用命令回顾 遥控机器人在环境中运动 rqt和rviz2 摄像头图像显示和激光数据可视化ROS2入门介绍参考:https://zhuanlan.zhihu.com/p...原创 2020-02-19 15:39:49 · 10248 阅读 · 11 评论 -
使用机器人操作系统ROS 2和仿真软件Gazebo 9搭建机器人教程(一)
参考链接:https://github.com/bunchofcoders/basic_bocbot本文为使用ROS 2和Gazebo9搭建仿真机器人详细指南。确保已按如下说明安装ROS和Gazebo:ROS 2安装。二进制软件包的安装足以满足该项目的需求,但是如果感兴趣,还可以选择从源代码搭建。Dashing或Eloquent均可。Gazebo安装。推荐9+以上版本。尽管此...原创 2020-02-13 15:24:58 · 15731 阅读 · 12 评论 -
ROS2之rover案例
欧洲航天局ESA的ROS2案例,源码在github上。使用:ros2 launch rover_simulation simulation_control.launch.pygazebo视角1:gazebo视角2:借助此案例可以复习之前学习和实践过的各类指令和算法,如:ros2 topic rqt rviz2rviz2:tf:...原创 2020-04-19 20:26:16 · 1818 阅读 · 6 评论 -
2020年ROS机器人操作系统用户官方调查
~此文为翻译~早在一月份,Marya和我就对ROS社区做了一个调查。我们的目标是收集一些数据,帮助我们建立起ROS社区的模型,以及它在文档方面的需求。更具体地说,我们希望得到一些数据来指导我们的文档开发。我们做了一个简短的调查,并将其搁置了大约六周。总的来说,我们的调查还算成功。我们总共收到了116份回复。上周,我把调查的数据拉了下来(它还在上面),并把它放到一个ipython笔记本里,让大家...翻译 2020-04-15 10:50:34 · 1930 阅读 · 7 评论 -
机器人实践课程镜像虚拟机使用说明(适用于Arduino/ROS/SLAM等专业课)
虚拟机可以使镜像适用于所有系统,并且不需要额外的硬件,在此文做详细介绍。课程镜像博文链接:https://blog.csdn.net/ZhangRelay/article/details/103868465这里使用VirtualBox-6.1.4-136177-Win,请确保虚拟化支持已经打开。安装界面安装路径配置,可自定义等待安装完成...原创 2020-02-28 13:54:51 · 37277 阅读 · 17 评论 -
MoveIt 2适用于ROS 2的运动规划框架
MoveIt 2-ROS 2,MoveIt 1-ROS 1。目前,支持ROS 2 Eloquent。将随ROS 2 F版本发布第一款正式版。MoveIt官网:https://moveit.ros.org/ 源码:https://github.com/ros-planning/moveit2支持编译安装:Ubuntu 18.04 ROS 2 Eloquent colcon gi...翻译 2020-02-20 10:04:37 · 5358 阅读 · 2 评论 -
计算机控制/SLAM/ROS2云班课等详细说明2019-2020-2学期
科技大突破通常伴随阵痛,战争和瘟疫之后新生产力和模式会层出不穷。唐诗人刘禹锡云:沉舟侧畔千帆过,病树前头万木春。从2015年开始,所有课程已经进行网络化试点,部分课程已经过3轮以上迭代改进。2019-2020-2学期课程网络资源与环境已经全部建设完成。课程时间严格按照学院规定和进度表开展,具体内容在文末。计算机控制技术课程说明:课程名片:PDF版本说明已经在云班课资...原创 2020-02-11 11:44:55 · 3780 阅读 · 4 评论 -
ROS2之机器人辅助医疗 (医护服务机器人)
将机器人融入现代医院,不是未来图景,而是当下逐渐普及的新潮流,有诸多优势。有报道指出,新型肺炎由机器人治疗(USA),有效隔离。在roscon2019,专题报告如下:Keynote: Robotics Middleware Framework for Hospitals - redefining the approachSelina Seah (Changi General Hos...原创 2020-02-02 21:40:25 · 26826 阅读 · 0 评论 -
机器人实践课程镜像分享及使用说明(Arduino+ROS1+ROS2+Gazebo+SLAM+...)
经过5年尝试和努力,在吸取indigo、kinetic版本经验后,融合Arduino、ROS1、ROS2、Gazebo和SLAM的适用机器人爱好者的实践课程镜像尝鲜版(bug是免不了的!_!)终于完成了。非常感谢给我宝贵建议的学生、老师以及热心的博客朋友们,祝福大家2020年新春快乐。留言提出建议和需求一经采纳,就有机会获赠如下小礼物(不要私信哦,太多了,无法回答了,并且其他朋友看不到):...原创 2020-01-07 16:52:48 · 15727 阅读 · 57 评论 -
ROS2实时性案例分析之倒立摆系统使用(Inverted pendulum)
倒立摆是自动控制原理或现代控制理论等经典分析案例,博客有数篇博文针对这样案例给出题目和分析:https://blog.csdn.net/ZhangRelay/article/details/89005359本篇主要针对倒立摆小车在ROS2系统中的实现为例,进行详细介绍。为什么选择使用倒立摆进行实时演示呢?rviz2中倒立摆小车平衡倒立摆是通常由实时计算解决的控制问题的经典示例之...原创 2019-12-24 19:58:09 · 37638 阅读 · 2 评论 -
ROS2零基础快速入门
ROS2入门最快需要多少时间?3天;ROS2开发一款基础机器人需要多久?3个星期;ROS2怎么才能算“精通”?不可能,3年也不行……如何判断一款通用性软件成熟并可以投入精力去学习呢? 一个最简洁的标准就是全平台(Windows、MacOS、Linux……) +全语言支持(C++、Python、Java……) 有句毒鸡汤不知道该不该讲…… 叫做合格的程序员都该会点L...转载 2019-12-12 14:41:05 · 5146 阅读 · 0 评论 -
ROS 2工具-rqt, logger, bag, doctor-
ROS 2工具1. rqt:掌握rqt可以在命令行不熟悉的情况下高效调试。比如:service caller和console在指定位置添加一个小乌龟:左侧可以看到,直接可以使用图形化界面进行操作。在右侧,可以查阅消息。2. logger:级别:Fatal Error Warn Info Debug每个级别都没有确切的标准,但是可以安全地做出如下假设:...原创 2019-12-11 22:34:03 · 3414 阅读 · 2 评论 -
ROS 2启动-launch-
啥,开了十几个窗口,机器人还没有动起来……是时候了解一下launch文件啦。课程目标:使用启动文件运行复杂的ROS 2系统。ROS 2启动launch1. 什么是launch?翻译为启动文件未必准确到目前为止,在教程中,一直在为运行的每个新节点打开新终端。当创建越来越多的节点同时运行更复杂的系统时,打开终端并重新输入配置详细信息将变得乏味和低效。启动文件launch...原创 2019-12-11 20:44:20 · 3860 阅读 · 0 评论 -
ROS 2行动-actions-
前序:ROS 2参数-parameters-本节详细介绍行动action。1. 如何理解行动action:行动action是ROS 2中用于长时间运行任务的通信类型之一。 它由三部分组成:目标,结果和反馈。行动基于主题和服务。 它们的功能与服务相似,但行动是可抢占的模式(即,可以在执行时将其取消)。 与返回单个响应的服务不同,它们还提供稳定的反馈(过程状态反馈)。行动使用客户端...原创 2019-12-11 18:55:28 · 2804 阅读 · 0 评论 -
ROS 2参数-parameters-
前序:ROS 2服务-services-本节详细介绍参数param1. 如何理解参数param:参数是节点的配置值。 可以将参数视为节点设置。 节点可以将参数存储为整数,浮点数,布尔值,字符串和列表。 在ROS 2中,每个节点都维护自己的参数。 所有参数都是可以动态重新配置的,并且是基于ROS 2服务构建的。2. 参数param有哪些命令功能:ros2 param -h...原创 2019-12-11 17:46:11 · 3109 阅读 · 0 评论