在第六章中小鱼曾介绍过,gazebo是独立于ROS/ROS2之外的仿真软件,我们可以独立使用Gazebo。如果我们想要通过ROS2和Gazebo进行交互,需要通过gazebo_ros插件来进行。接下来小鱼先带你通过命令行的形式来启动gazebo-...
在第六章中小鱼曾介绍过,gazebo是独立于ROS/ROS2之外的仿真软件,我们可以独立使用Gazebo。如果我们想要通过ROS2和Gazebo进行交互,需要通过gazebo_ros插件来进行。接下来小鱼先带你通过命令行的形式来启动gazebo-...
欧拉角转四元数的公式我们在第六章入门篇第三节有介绍,这里回顾一下根据公式我们可以写出代码float w;float x;float y;float z;本节我们通过对MPU6050驱动的封装,学习了如何在嵌入式上使用面向对象编程的方法,下...
SLAM导航机器人零基础实战系列-第2章_ROS入门 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便。我们的机器人“miiboo”中的大部分程序也采用ROS进行...
机器人系统是很多复杂算法模块的集合,如障碍物检测、行为决策、智能控制、环境识别等,从零开始开发系统对技术人员要求非常高,而且工作量巨大。通用机器人框架的应用能把这一复杂的开发过程简单化,技术人员可以将...
1.ROS2前世今生2.ROS与ROS2对比3.动手安装ROS24.ROS2初体验。
ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号获取两驱版四驱版为方便交流,搭建了机器人技术问答社区:地址1.介绍本章节分为三个部分,基础篇、入门篇和进阶篇。入门篇,主要介绍Liunx系统的...
《ROS入门与实战》深入浅出地介绍了ROS的特点、基本使用方法以及实际应用,内容涉及移动机器人自主导航、视觉识别、机械臂运动规划等,可帮助不同领域的机器人开发人员了解并熟练使用ROS。 《ROS入门与实战》内容...
服务分为客户端和服务端,平时我们用的手机APP都可以成为客户端,而...不知道你有没有感觉到服务和话题的不同之处,话题是没有返回的,适用于单向或大量的数据传递。而服务是双向的,客户端发送请求,服务端响应请求。
本节我们成功的在微控制器平台上将MicroROS节点运行起来了,下一节我们开始正式进行ROS2通信的学习。
本节我们通过将小车接入MicroROS完成了一个遥控小车的开发。下一节我们开始使用编码器来测量轮子的转速。
大家好,我是小鱼,上一节讲完joint和link,我们来把我们上面定义的简单的URDF(包含身体和雷达)用RVIZ2显示出来,直观的感受下,我们的机器人模型。
至此,相信你已经掌握了如何编写一个C++版本的ros2节点了,但是这仅仅是编写ROS2节点方式之一,相比之下,小鱼更推荐你使用面向对象的方式编写节点,在进阶篇小鱼将会向你展示其写法。
PID控制器是一种广泛应用于工业控制、自动化控制等领域的控制算法,其名称来源于“比例-积分-微分”三个控制器参数,即Proportional(比例)、Integral(积分)、Derivative(微分)。PID控制器的基本原理是通过测量...
通过前面章节的学习,你已经掌握了ROS2中四大通信利器中话题、服务、参数这三个,还差最后一个就能将ROS2的通信机制全部打包带回家了,这节课小鱼就带你一起认识一下Action,并带你动手体验一下Action通信。
本节我们对Nav2进行了详细的介绍和安装,下一节我们就开始为FishBot配置Nav2,然后开始尝试让Nav2控制Fishbot自主的移动起来。
有了 odom 到 base_link/base_footprint 之间的变换,接下来我们来搞定 base_link 到机器人各个组件之间的变换。
int32 sec本节我们成功实现了使用超声波和舵机模拟雷达数据,并将其合成scan发布到电脑上使用rviz2进行可视化。至此我们完成了ROS2硬件控制的所有课程。下面迎接你的将是移动机器人和机械臂开发课程,请做好准备,...
ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号获取两驱版四驱版为方便交流,搭建了机器人技术问答社区:地址你好,我是爱吃鱼香ROS的小鱼。本节我们主要介绍下Micro-ROS几大主要特点。先上系统...
普通的单线激光雷达一般有一个发射器,一个接收器,发射器发出激光射线到前方的目标上,物品会将激光反射回来,然后激光雷达的接受器可以检测到反射的激光。通过计算发送和反馈之间的时间间隔,乘上激光的速度,就...
上一节我们对齐次矩阵的组成和齐次矩阵的求逆和乘法两个运算的几何意义进行了介绍。本节课我们就通过对应的函数和库实现齐次矩阵的生成,齐次矩阵的乘法和求逆。
当然上面两类插件功能也可以写到一个插件里,两轮差速插件就是一个二合一加强版。两轮差速插件用于控制机器人轮子关节的位置变化,同时该插件还会获取轮子的位置以及速度的信息的反馈,根据反馈的位置信息结合运动学...
本节我们学习了使用Python在工作空间的功能包里编写一个节点,代码是相同的,但是多了一些配置。当然除了使用这种方法编写一个节点,还有其他方式,小鱼将其放到了进阶篇来讲。
有了这样一个TF结构,我们的建图前的准备工作就差不多了。
本节我们学习使用ROS2的RCLCPP客户端库来实现话题通信。RCLCPP为Node类提供了丰富的API接口,其中就包括创建话题发布者和创建话题订阅者。
相信你已经掌握了ROS2的bag工具~
本节我们将正式踏上ROS2的学习之旅,本章节同样的也分为三个部分。入门篇,主要介绍Python和C++的程序运行时如何查找依赖。基础篇,主要介绍ROS2的基础概念,同时重点的介绍ROS2的客户端库,并带你动手编写ROS2的...
了解完话题,下一节小鱼就会带大家来动手写一写话题通信代码。
为帮助大家节省安装时间,小鱼制作了一键安装ROS2的脚本程序,可以非常便利的完成ROS2的安装和环境配置,接下来我们一起来体验下。注意:1和2两种安装方式选择一个即可,第一次建议使用一键安装ROS2,防止出错。
本部分只做了解即可,我们平时用的并不多,因为python的依赖并不是靠setup来查找的,但是C++却靠着CmakeLists.txt进行查找。
接口其实是一种规范你还记得前面几节的示例中,我们在代码中使用过这两种接口,这两种数据类型分别代表字符串和32位二进制的整型数据,是ROS 2提前定义的一种规范。话题-Topics服务-Services动作-Action参数-...