
ROS从入门到精通系列博客
文章平均质量分 91
该专栏包含:①ROS基本概念、基础理论框架②ROS基本使用教程③ROS机器人仿真④ROS实践之机械臂与Moveit!⑤ROS实践之移动机器人⑥ROS机器人V-SLAM案例等,可帮助掌握机器人操作系统,理解其思维架构,掌握常用的传感器和算法,搭建属于自己的机器人!
Techblog of HaoWANG
来源于生活,低于生活。
NDVC Lab——Nonlinear Dynamics and Vibration Control Laboratory, Hong Kong,China;
JH Lab ---- 季华实验室(广东省先进制造科学与技术实验室);
Major In Robotics: Modelling、Control Technology and Vision.
展开
-
OrangePi AIPro:次世代嵌入式边缘AI计算与智能机器人应用开发平台
OrangePi AIPro搭载华为A310B4 NPU处理器,其作为一款64位四核ARM Cortex-A55架构的处理器,为复杂运算及多媒体处理提供了坚实的算力基础。此外,设备内置了8GB DDR4内存和最大256GB eMMC存储,确保在数据密集型任务下的运行流畅性及存储需求的灵活扩展。尤其值得关注的是,设备内嵌NPU,算力突出,理论峰值可达到8TOPS,这在图像识别、语音处理等深度学习任务中表现尤佳。原创 2024-05-27 13:07:10 · 1035 阅读 · 1 评论 -
【ROS&Ubuntu】常用工具合集
常用功能包及系统工具等原创 2024-05-27 11:49:41 · 511 阅读 · 0 评论 -
ROS从入门到精通系列(三十二)-- ROS PID 控制器设计
double _Kp;double _Kd;double _Ki;_dt(dt),_max(max),_min(min),_Kp(Kp),_Kd(Kd),_Ki(Ki),/*- 比例(Proportional)(P):计算当前偏差(设定值与实际值的差距),并乘以比例增益(Kp)。输出对系统的当前状态进行纠正。原创 2024-02-22 09:36:10 · 476 阅读 · 0 评论 -
ROS从入门到精通系列(三十一)-- ROS &CoppeliaSim(V-rep)动力学仿真器(上)
具有集成开发环境的机器人仿真器CoppeliaSim(原名V-REP)基于分布式控制体系结构:每个对象/模型可以通过嵌入式脚本、插件、ROS或BlueZero节点、远程API客户端或定制解决方案进行单独控制。这使得CoppeliaSim非常通用,是多机器人应用的理想选择。控制器可以用C/C++、Python、java、Lua、MATLAB来编写。CoppeliaSim用于快速算法开发、工厂自动化仿真、快速原型和验证、机器人相关教育、远程监控、安全双重检查、数字孪生等等。1.2 软件特点。原创 2023-05-17 08:57:47 · 971 阅读 · 1 评论 -
ROS从入门到精通系列(三十)-- 从零开始开发机器人C++&ROS工程项目
编写ROS控制系统需要有深入的机器人控制和运动学知识。学会使用ROS提供的机器人控制和导航库,例如MoveIt!和ROS Navagation等。协调好ROS和C的通讯机制。ROS使用发布-订阅和服务调用机制进行进程间通讯,开发者需要熟悉ROS的通讯机制并结合C编写程序。设计良好的人机交互界面,使用户能够轻松地操作机器人,管理数据及输入参数。QT5可以作为C++图形化界面工具,使用QT Creator进行可视化设计。合理选择机器人硬件设备及传感器。原创 2023-04-02 23:09:28 · 1031 阅读 · 0 评论 -
ROS从入门到精通系列(二十九)-- linux封装ROS 自启动脚本及可执行程序App
ROS开发程序软件不需要安装, 但是每次运行的时候都要输入一遍命令十分麻烦,因此想把它建个快捷方式放到桌面或启动栏里,这样点击就可以打开了。 有些软件安装后也不会自动建立快捷方式,因此学会手动建立快捷方式还是挺有必要的。原创 2023-03-07 11:08:34 · 831 阅读 · 0 评论 -
ROS从入门到精通系列(二十八)-- ROS控制器图形化界面开发
随着机器人智能化、集成化、小型化和人机交互性的不断提升,对ROS 机器人的图形化交互和作业控制可视化等提出了更高的要求,因此为ROS机器人量身定制一款低成本、高效率、可重构的GUI 软件系统成为机器人系统开发的重要部分之一。原创 2023-03-04 08:40:38 · 1185 阅读 · 1 评论 -
ROS从入门到精通系列(二十七)-- ros Parameter Server
例如,如果您有一个“robot_name”参数,则只想从私有命名空间向上搜索,直到找到匹配的参数。同样,如果您有一组相机节点,您可能希望在共享命名空间中设置一些常用参数,但通过在私有(~name)命名空间中设置它们来覆盖其他参数。查找最接近的参数名称,从私有命名空间开始,向上搜索到全局命名空间。必须设置该参数(如果未设置,则引发KeyError)。注意参数服务器方法不是线程安全的,因此,如果从多个线程使用它们,则必须相应地锁定它们。来获取命名空间,则返回一个字典,其键等于该命名空间中的参数值。.......原创 2022-07-29 09:48:59 · 280 阅读 · 0 评论 -
ROS从入门到精通系列(0)-- 机器人、机器人学与ROS
作者:古月链接:https://www.zhihu.com/question/35788789/answer/580258849来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。简而言之,学习ROS的关键是——多实践!ROS是一个机器人研发中的重要工具,“学以致用”才是我们学习的最终目的:给学习赋能的就是实践!而实践就是不断进行知行合一的各种尝试!现在关于ROS的资料已经非常多了,无论是图书、视频还是博客,都可以找到很多学习的资源,但是ROS的学习曲线还是有点陡原创 2021-06-12 15:20:00 · 1227 阅读 · 0 评论 -
ROS从入门到精通系列(前言)-- ROS官方教程内容概要
ROS教程学习网站http://wiki.ros.org/cn/ROS/Tutorials目录如下所示非初学者:如果你已经很熟悉ROSfuerte(要塞龟)或更早期版本的使用,而只是想使用在groovy(加岛象龟)和hydro(渔龟)中开始采用的最新编译构建系统catkin,那你可以深入学习catkin教程。 但是我们仍然建议所有人学完整个『初级』教程以方便理解新增的功能...原创 2019-06-02 23:20:41 · 664 阅读 · 0 评论 -
ROS从入门到精通(基础)-- ubuntu双系统安装
ROS Kinetic 版本的学习过程中必然要使用Linux Ubuntu系统环境,如何安装一个安全、稳定(不然,灾难和明天哪个会先来?)、可靠性高的ubuntu系统呢?方法有两个:1. 安装虚拟机,推荐VirtualBox,理由:稳定、可靠、不花里胡哨!对,没错,我就是针对另外一个坑B虚拟机软件!安装虚拟机的好处是能够在win上随时启动和关闭,不需要开机重启等操作,方便快捷。Virt...原创 2019-07-26 19:12:08 · 1134 阅读 · 0 评论 -
ROS 项目历程 - 问题与解决汇总
ROS项目中常见的问题和bug解决方法日志原创 2019-06-01 14:57:30 · 1279 阅读 · 0 评论 -
linux screen 命令详解
一、背景系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。二、简介GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU S原创 2021-11-09 14:30:35 · 119 阅读 · 0 评论 -
飞行机器人(六)仿真平台- XTDrone Simulation Platform
本文测试使用,XTDrone ROS 集成化仿真平台。XTDrone是基于PX4、ROS与Gazebo的无人机通用仿真平台。支持多旋翼飞行器(包含四轴和六轴)、固定翼飞行器、复合翼飞行器(包含quadplane,tailsitter和tiltrotor)与其他无人系统(如无人车、无人船与机械臂)。在XTDrone上验证过的算法,可以方便地部署到真实无人机上。原创 2022-04-12 15:15:30 · 494 阅读 · 0 评论 -
ROS从入门到精通系列(二十六) 标准化ROS代码风格 - (1). C++ 风格指南
ROS C++ 代码风格原创 2022-04-11 10:33:25 · 379 阅读 · 0 评论 -
ROS从入门到精通系列(二十六) 标准化ROS代码风格 - (2). Python 风格指南
ROS代码风格之Python风格原创 2022-04-11 10:40:07 · 845 阅读 · 0 评论 -
ROS从入门到精通系列(二十五)--常用工具值shell脚本启动多条指令
1. shell命令启动ROS多个节点#!/bin/bash# ALL Right reserved HAO,WANG# @autor: haowanghk@gmail.com# @time: 2022-04-18-10:52# @position: JIhualab,China# launch dual_arm robot controller params and nodes# Master node is in dual_arm..原创 2022-04-17 20:33:28 · 831 阅读 · 0 评论 -
ROS从入门到精通系列(二十五)--常用ROS工具合集- 1. SSH查看嵌入式系统资源占用
在嵌入式系统ROS功能包的测试和部署过程中,使用SSH无图形化界面随时可能有需要查看 CPU和内存的使用率,并根据相应信息分析系统状况的需求。本文介绍一下几种常见的Linux系统资源查看命令。原创 2021-04-20 16:49:41 · 1080 阅读 · 0 评论 -
ROS从入门到精通系列(二十五)--常用ROS工具合集- 2. Gazebo、Rviz、Moveit
ROS melodic 常用工具箱及功能插件原创 2022-04-11 11:42:22 · 750 阅读 · 0 评论 -
ROS从入门到精通(二十四)--1. geometry_msgs
ROS msg详解原创 2021-06-10 14:32:55 · 3575 阅读 · 0 评论 -
ROS从入门到精通(二十四) -- 2. sensor_msgs/JointStates
Thesensor_msgs/JointStatemessage is published byjoint_state_controller, and received byrobot_state_publisher(which combines the joint information withurdfto publish a robot'stftree).原创 2021-06-11 19:56:40 · 1459 阅读 · 0 评论 -
ROS从入门到精通(二十四)-- 3. robot_state_publisher
This package allows you to publish the state of a robot totf. Once the state gets published, it is available to all components in the system that also usetf. The package takes the joint angles of the robot as input and publishes the 3D poses of the robo...原创 2021-06-11 19:38:07 · 3467 阅读 · 0 评论 -
ROS从入门到精通(二十三)-- Moveit 配置 机器人URDF模型包
转发、使用请联系作者:wanghao@jihualab.com版权所有侵权必究。目录1. Moveit!功能包安装2.配置Moveit!包2.1 加载模型文件2.2 生成碰撞矩阵Self-collisions2.3 虚拟关节(virtual joints)PASS2.4 规划组(planning groups)2.5 定义机器人的姿态(Robot Pose)2.6 定义末端执行器(end-effectors)2.7 定义被动关节(passive join...原创 2021-01-15 15:39:45 · 2187 阅读 · 0 评论 -
ROS从入门到精通系列(二十二) Moveit 入门简介与安装
MOVEit!是目前针对移动操作最先进的软件。它结合了运动规划,操纵,三维感知,运动学,控制和导航的最新进展,它提供了一个易于使用的平台,开发先进的机器人应用程序,评估新的机器人设计和建筑集成的机器人产品,它广泛应用于工业,商业,研发和其他领域。MOVEit!是最广泛使用的开源软件的操作,并已被用于超过65个机器人原创 2021-01-04 11:19:32 · 1461 阅读 · 0 评论 -
ROS从入门到精通系列(二十一)-- 机器人URDF模型导出与ROS测试 (Solidworks)
国际惯例:http://wiki.ros.org/sw_urdf_exporter版权所有侵权必究。目录SolidWorks to URDF Exporter1. 安装插件2. 设置关节坐标系3. 启动URDF界面设置坐标系和旋转轴4. 配置关节属性参数Configure Joint Properties5. 配置连杆属性参数Configure LinkProperties6. 命名并导出URDF7. 检查模型文件8. 测试SolidWorks to ...原创 2021-01-15 12:28:48 · 1191 阅读 · 0 评论 -
ROS从入门到精通系列(二十)rosbag & record 工具
rosbag/Commandline - ROS Wikihttp://wiki.ros.org/rosbag/Commandline目录1 录制包文件2 回放包文件3 launch 文件中使用 rosbag4. Launch文件实例 通过 rosbag,能够将发布在一个多个话题上的消息录制到一个包文件(bag file)中,然后可以回放这些消息,重现相似的运行过程,这会极大的提高我们测试机器人算法的便利性。 包文件(bag file)是指用于存储带时间戳的 ...原创 2021-10-21 09:19:00 · 717 阅读 · 0 评论 -
ROS从入门到精通系列(十九)ROS Callbacks and Spinning
目录1. 单线程Spinning和多线程Spinning1.1单线程Spinning2. 多线程Spinning2. 回调函数CallBackCallbackQueue::callAvailable() and callOne()Advanced: Using Different Callback Queuesroscpp/Overview/Callbacks and Spinning - ROS Wikihttp://wiki.ros.org/roscpp/Ov...原创 2021-09-18 17:04:27 · 354 阅读 · 0 评论 -
ROS从入门到精通系列(十八)-ROS TF(下)TF 消息广播
ROS从入门到精通系列-ROSTF消息广播。原创 2022-07-15 09:40:00 · 342 阅读 · 0 评论 -
ROS从入门到精通系列(十八)-ROS TF(中)TF 消息全解析
目录1. TF消息:两个frame之间的消息消息解释:2. TF消息:TF树的消息类型3. TF在roscpp与rospy中的接口4. TF程序包相关的命令行使用1. TF消息:两个frame之间的消息每个父子坐标系之间都会有broadcaster节点来发布消息维系坐标之间的转换关系。TransformStampde.msg就是/tf话题上消息。该消息格式用来表示两个frame之间一小段tf变换的相对坐标关系的。ROS中实际上是...原创 2021-09-21 10:59:18 · 614 阅读 · 0 评论 -
ROS从入门到精通系列(十八)--ROS TF(上)
tf is a package that lets the user keep track of multiple coordinate frames over time. tf maintains the relationship between coordinate frames in a tree structure buffered in time, and lets the user transform points, vectors, etc between any two coordinate原创 2021-09-21 10:34:36 · 231 阅读 · 0 评论 -
ROS从入门到精通系列(十七)-- 机械臂驱动器方案
目录舵机原理简介结构组成工作原理与性能指标角度伺服力矩伺服工作电压尺寸材质驱动控制方法常用产品系列 国际: 国内:深圳飞特机械臂 总体方案关节布局技术指标应用场景附录:舵机型号参数表 舵机原理简介 结构组成根据控制方式,舵机属于微型伺服电机的一种。多早模型机使用,主要用于控制模型的舵面,所以俗称舵机。舵机接受一个简单的控制指令就可以自动转动到一个比较精确的角度,所以非常适合在关节型机器人产品使用。...原创 2021-08-27 10:23:02 · 507 阅读 · 0 评论 -
ROS从入门到精通系列(十六)-- IMU in ROS
1. IMU简介 请移步本人的另一篇博客文章:2. ROS IMU msgs官方文档:http://docs.ros.org/api/sensor_msgs/html/msg/Imu.htmlIMU 消息类型为ROS中的一种标准传感器消息类型,其定义已经包含在sensor_msgs/Imu.msg文件夹中。在发布IM消息时需要将该消息类型的头文件包含在内。消息详细...原创 2020-03-19 13:45:56 · 3566 阅读 · 1 评论 -
ROS从入门到精通系列(十五)-- 异构多版本ROS之间的多机通信问题
1、不同版本的ROS之间可以进行通讯安装了不同版本ROS的不同设备之间是可以进行通信的,甚至可以建立一台主机和多台从机之间的联系,但从目前完成的连接来看仅能够支持主机控制一台从机。但从机之间可以获取彼此topic。2、ROS多机通讯部署过程2.1、将进行通讯的ROS设备置于同一个局域网内不同的ROS系统将在同一局域网内进行通信,若通过使用路由器,则需要固定路由器分配给各个设备的IP,通过路由器设置将分配的IP地址与设备的MAC地址绑定,使路由器分配给各个设备的IP地址固定不变...原创 2021-04-15 15:03:42 · 968 阅读 · 0 评论 -
ROS从入门到精通系列(十四)-- PR2机器人应用
目录1. PR2机器人简介2. 使用PR2实现SLAM3. PR2机械臂的使用1. PR2机器人简介PR2(Personal Robot 2,个人机器人2代)是Willow Garage公司设计的机器人平台,其中数字2代表第二代机器人。它的前身是斯坦福研究生埃里克·伯格和基南·威罗拜克开发的PR1机器人。PR2价格高昂,2011年零售价高达40万美元。PR2现主要用于研究。PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的夹爪;PR2依靠底部的四个轮子移动,在头部、胸部..原创 2020-12-28 09:19:38 · 1540 阅读 · 0 评论 -
ROS从入门到精通系列(十三)-- PR2移动双臂机器人基础
1. PR2机器人简介PR2(Personal Robot 2,个人机器人2代)是Willow Garage公司设计的机器人平台,其中数字2代表第二代机器人。它的前身是斯坦福研究生埃里克·伯格和基南·威罗拜克开发的PR1机器人。PR2价格高昂,2011年零售价高达40万美元。PR2现主要用于研究。PR2有两条手臂,每条手臂七个关节,手臂末端是一个可以张合的夹爪;PR2依靠底部的四个轮子移动,在头部、胸部、肘部、夹爪上分别安装有高分辨率摄像头、激光测距仪、惯性测量单元、触觉传感器等丰富的传感设备。..原创 2020-12-28 08:26:27 · 1550 阅读 · 0 评论 -
ROS从入门到精通系列(十二)-- Turtlebot3机器人开发平台仿真
目录1. 简介详情请阅读:1. ROS官方教程;2. Turtlebot3中文教程系列turtlebot3入门教程-目录2. ROS虚拟环境仿真与可视化说明:注意:步骤:1. 安装TurtleBot3 Simulation组件2. 启动仿真3. RViz仿真界面:4. 查看ROS的节点Nodes和话题Topic5 . 启动键盘节点6. 启动G...原创 2019-10-25 17:48:57 · 1478 阅读 · 0 评论 -
ROS从入门到精通系列(十一)-- ros客户端(上)roscpp
目录一、ROS支持的客户端库和整体的包结构分布二、roscpp:1. 主要部分2. 按功能分类三、节点初始化、关闭以及句柄NodeHandle1. 初始化2. 关闭节点3. NodeHandle类的常用成员函数 四、基于roscpp的topic通信五、基于roscpp的service通信六、基于roscpp的参数服务器设置七、时钟八、日志和异常一、ROS支持的客户端库和整体的包结构分布二、roscpp:位于/opt/ros/kin..原创 2021-07-28 10:34:17 · 395 阅读 · 0 评论 -
ROS从入门到精通系列(十一)--ros客户端(下)rospy
一、rospy、roscpp1、位于/opt/ros/kinetic/lib/python2.7/dist-packages/rospy //可以视为一个python的模块2、区别(1)rospy没有一个NodeHandle,创建publisher、subscriber等操作都被直接封装成了rospy中的函数或类,调用起来简单直观(2)一些接口的命名不一致注:相比于C++的开发,用Python来写ROS程序开发效率大大提高 但Python的执行效率较低,同...原创 2021-08-24 13:10:50 · 253 阅读 · 0 评论 -
ROS从入门到精通系列(十)-- ros launch(上)
1. 何为launch?launch,中文含义是启动,launch文件顾名思义就是启动文件,要说这launch文件啊,那还得从roslaunch说起。相传,在程序猿们还没有使用roslaunch之前,需要手动rosrun逐个启动node,遇到大工程的时候,其繁杂程度不可想象,一度民不聊生。直到神实在看不下去了,于是送给程序猿们一份礼物,唤名roslaunch。roslaunch法力无边,只需程序猿们编写一个launch文件,启动大量节点弹指之间。从此一传十,十传百,程序...原创 2021-07-11 18:42:46 · 408 阅读 · 0 评论 -
ROS从入门到精通系列(十)rqt_console & roslaunch (下)
ROS入门教程-使用 rqt_console 和 roslaunch 参考cn/ROS/Tutorials - ROS Wikihttp://wiki.ros.org/cn/ROS/Tutorials说明:本教程介绍如何使用rqt_console和rqt_logger_level进行调试,以及如何使用roslaunch同时运行多个节点。 目录 预先安装rqt和turtlesim程序包 使用rqt_console和rqt_logger_level 日志等级说明 Launch 文件原创 2021-09-13 10:29:24 · 151 阅读 · 0 评论