ROS
文章平均质量分 79
学习ROS的个人经历和体会
嵌小超
博客专注于机器人、嵌入式、人工智能等方面的学习与探讨。
欢迎各位志同道合的朋友互相交流!
展开
-
【ROS基础】ROS 18.04安装以及常见报错解决全过程(超详细!!)
ROS学习过程的第一步就是安装ROS,上一篇我使用的Ubuntu18.04的linux系统,因此在本篇博客就是在该系统下安装ROS,顺便对安装过程中出现的问题总结一下。一.版本选择本次在ubuntu18.04上安装ROS,不同的Ubuntu系统对应的ROS系统也有所不同,具体可以参考wiki上的说明,附地址:http://wiki.ros.org/ROS/Installation。Ubuntu18.04对应的是melodic的版本,如果安装其他版本就会报错,本人尝试过,出现下面无法定位软件包的情况:原创 2021-04-01 09:38:45 · 28464 阅读 · 4 评论 -
【ROS进阶】intel RealSense D435i在window和Ubuntu中启动
一、Ubuntu中安装SDK1.1安装驱动1.2安装Intel.RealSense.Viewer二、windows中安装SDK原创 2021-05-30 21:26:59 · 2101 阅读 · 0 评论 -
【ROS进阶】Intel RealSence D435i在ros系统中启动
一、环境配置二、注意事项三、启动相机3.1 连接相机3.2显示rviz四、最终效果参考的博客原创 2021-06-09 16:39:22 · 1926 阅读 · 1 评论 -
【ROS基础】视觉+机械手-delta并联机械手
机器视觉-AI采摘机器人https://www.bilibili.com/video/BV1YE41147iV/?spm_id_from=autoNext原创 2021-05-30 01:04:53 · 7848 阅读 · 3 评论 -
【ROS基础】实现笔记本和机器人Ping通
笔记本和ROS机器人之间如何才能Ping通原创 2021-05-08 18:46:31 · 845 阅读 · 0 评论 -
【ROS+opencv实践】cv_bridge的使用
ROS与opencv之间进行图像转换和处理的过程:1.首先,订阅摄像头话题(image_raw),读取视频流。2.使用cv_bridge,将ROS图像格式转化为opencv格式。3.使用opencv里面的API对图像进行处理。4.使用cv_bridge,将opencv图像格式转化为ROS格式。...原创 2021-08-22 10:16:20 · 1519 阅读 · 0 评论 -
【ROS基础】如何从零开始搭建一台ROS小车
references基于STM32的ROS智能移动机器人构建地图、定位以及自主导航研发从零搭建ROS机器人平台ros app 下载、ros android app下载、ROS机器人控制app下载原创 2021-08-20 00:05:29 · 2355 阅读 · 1 评论 -
【ROS+OpenCV实践】二维码识别
安装二维码识别的功能包sudo apt-get install ros-melodic-ar-track-alvar知识点:通过sudo apt-get install ros-版本-XXX的形式所安装的功能包都存放在opt/ros/版本/share的路径下。原创 2021-08-19 14:49:47 · 5669 阅读 · 1 评论 -
【ROS+OpenCV实践】USB单目相机实现标定
➢摄像头为什么要标定?摄像头这种精密仪器对光学器件的要求较高,由于摄像头内部与外部的一些原因,生成的物体图像往往会发生畸变,为避免数据源造成的误差,需要针对摄像头的参数进行标定。sudo apt-get install ros-melodic-calibration...原创 2021-08-18 15:08:40 · 544 阅读 · 0 评论 -
【ROS+OpenCV实践】基于ROS系统开启USB相机,完成视频图像的边缘检测
在修改sample_cv_bridge_node.cpp中的代码后需要进行一次编译,以更新sample_cv_bridge_node文件,且该节点文件存放在/home/zjc/catkin_make/devel/lib/cv_bridge_tutorial_pkg目录下。修改代码的变化,之前边缘检测保留了颜色,修改后去除了颜色,只有灰色;此外,去除了显示原图视频的代码,只显示处理后的视频流;1.创建一个名为cv_bridge_tutorial_pkg的工作空间。原创 2021-08-16 22:06:51 · 1030 阅读 · 0 评论 -
【OpenCV学习+ROS实践】相机标定+物体识别(持续更新)
在ROS机器人操作系统中采用OpenCV图像处理库,实现相机标定、物体识别原创 2021-07-04 15:13:30 · 1564 阅读 · 0 评论 -
【ROS基础】ROS版本发布历程以及版本查看方法
ROS版本发布历程以及版本查看方法原创 2021-06-15 23:28:43 · 7923 阅读 · 0 评论 -
【ROS基础】ROS系统中实现YOLOv4检测目标
【ROS学习笔记】ROS系统中实现YOLOv4检测目标原创 2021-06-13 16:53:55 · 2231 阅读 · 3 评论 -
【Ubuntu基础】实现SSH远程数据传输
通过SSH,可以把所有传输的数据进行加密,传输的数据是经过压缩的,所以可以加快传输的速度原创 2021-05-02 17:07:41 · 940 阅读 · 0 评论 -
【ROS基础】多机器人通信(1)-实现两台机器人通信
ROS是一个分布式的计算环境。一个正在运行的ROS可以在多个机器人之间分布成几十甚至上百个节点。取决于系统的配置方式,任何节点可能需要随时与任何其他节点进行通信,因此,ROS有确切的网络配置要求:1.机器之间的所有端口都能实现双向连接;2.每台机器都必须用所有其他机器都能解析的名称来公布自己。ping是用来探测本机与网络中另一主机之间是否可达的命令,如果两台主机之间ping不通,则表明这两台主机不能建立起连接。原创 2021-05-13 16:49:31 · 9528 阅读 · 0 评论 -
【ROS基础】使用rosbag记录机器人自动建图数据
以基于gmapping算法所建地图为例三个终端分别启动以下文件:roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch roslaunch mbot_navigation gmapping_demo.launchroslaunch mbot_teleop mbot_teleop.launch 事实证明,自动建图遵循轨迹数据,而栅格地图是重新生成的。...原创 2021-05-11 16:57:39 · 849 阅读 · 0 评论 -
【ROS基础】导入并启动导航用的仿真地图
导入并启动导航用的仿真地图原创 2021-05-11 11:09:45 · 3421 阅读 · 1 评论 -
【ROS基础】导入并打开搭建好的仿真环境
1.在搭建好仿真环境并保存后,会生成一个world文件。并保存在gazebo模型文件夹下。2.导入到带有机器人模型的Gazebo启动文件只需要在Gazebo启动文件的设置launch文件参数的首行更改world名称即可。 <!-- 设置launch文件的参数 --> <arg name="world_name" value="$(find mbot_gazebo)/worlds/环境名称"/>下图是playpen的仿真环境:room.world模型:c原创 2021-05-11 11:00:21 · 816 阅读 · 0 评论 -
【ROS基础】Gazebo中仿真SLAM和实现自主导航
1.启动gazevo终端1roslaunch mbot_gazebo mbot_laser_nav_gazebo.launch2.启动gmapping节点终端2roslaunch mbot_navigation gmapping_demo.launch报错:原因:未安装gmamping安装命令:sudo apt-get install ros-melodic-gmapping3.启动键盘控制节点终端3roslaunch mbot_teleop mbot_teleop.laun原创 2021-05-11 09:32:51 · 1332 阅读 · 3 评论 -
【ROS基础】使用rqt_graph生成ROS计算图
rqt_graph用于生成ROS系统中计算图,计算图表示各个节点的关系原创 2021-05-06 22:25:39 · 5296 阅读 · 2 评论 -
【ROS基础】log日志及输出工具(rqt_console)
1. log文件的位置2.日志显示输出的级别3.输出工具(rqt_console)原创 2021-05-05 15:59:07 · 4736 阅读 · 1 评论 -
【ROS基础】一分钟带你了解ROS功能包的作用
1.X_description:机器人模型的描述文件2.X_driver:连接真实机器人的客户端驱动3.X_bringup:连接真实机器人的启动功能包4.X_msgs:自定义message类型5.X_config:配置功能包原创 2021-05-05 15:57:10 · 824 阅读 · 0 评论 -
【ROS基础】ROS1和ROS2的区别
ROS1存在的根本问题:1.无多机器人系统的标准:ROS1中并没有构建多机器人系统的标准方法。2.平台单一:ROS1基于linux系统,在其他系统中无法安装和使用。3.实时性差:ROS1缺少实时性方面的设计。4.稳定性差:ROS1中的节点依赖于ROS Master,一旦节点管理器崩溃,系统将无法订阅和发布主题。...原创 2021-05-05 09:52:28 · 2310 阅读 · 0 评论 -
【ROS基础】理清楚“节点、消息、话题、服务、节点管理器”
ROS学习的过程会碰到很多次基础概念,比如节点、消息、话题等等。1.节点:一些执行运行任务的进程。2.消息:消息是节点之间进行通信的一种方式。也是最重要的通信机制。3.话题:是发布者与订阅者之间“交流”的主题。话题的具体内容,或者说是表达内容就是消息。4.服务:服务是区别于消息的另一种通信机制。区别在于:消息是单向数据传输;而服务是双向传输,也就是存在反馈。5.节点管理器:节点管理器,顾名思义就是对所有节点实现管理协调的“大管家,领导者”。其英文名为ROS Master。...原创 2021-05-04 10:18:26 · 798 阅读 · 0 评论 -
【ROS基础】区分roscore、roslaunch、rosrun、rosdep、rosnode和rostopic的不同
roscore1.用于启动ros master节点管理器。2.要在ROS 所有节点运行前启动。roslaunch其目的是一次性启动多个节点。原创 2021-05-03 13:26:36 · 3010 阅读 · 0 评论 -
【ROS基础】rosbag记录和回放机器人建图过程
1.启动建图节点终端1roscore终端2cd spark./onekey55y2.记录数据2.1打开记录数据的节点终端3cd bagfilesrosbag record -a2.2控制机器人运动和建图2.3保存数据终端3ctrl+c3.回放数据3.1关闭建图终端2ctrl+c3.2重启建图终端2cd spark./onekey55y3.3回放数据rosbag play <your bagfile>...原创 2021-05-02 11:18:29 · 525 阅读 · 0 评论 -
【ROS基础】rosbag记录和回放小海龟历程
1、启动键盘控制乌龟历程所需的所有节点2、跑小乌龟并记录数据3、查看数据4、回放数据4.1 默认情况下回放数据4.2 快速回放数据原创 2021-05-01 21:52:37 · 2000 阅读 · 1 评论 -
【ROS基础】解决在Gazebo打开后发生颠倒的问题
这是在建完模型后导入到gazebo中原创 2021-04-28 12:12:37 · 2194 阅读 · 2 评论 -
【ROS基础】ROS成功连接USB摄像头
本次是在ROS-melodic操作系统下打开USB摄像头1.安装驱动包 usb_camcd catkin_ws/src git clone https://github.com/bosch-ros-pkg/usb_cam.git cd .. catkin_make 2.安装功能包sudo apt-get install ros-melodic-usb-cam3.启动摄像头测试节点3.1报错在输入以下启动命令后出现了报错。roslaunch usb_cam usb_cam-t原创 2021-04-26 19:45:16 · 3659 阅读 · 0 评论 -
【ROS基础】快速实现台式机和机器人间的通信
【ROS学习笔记】多机器人通信(5)-快速实现台式机和机器人间的通信原创 2021-04-25 13:32:13 · 439 阅读 · 1 评论 -
【ROS基础】多机器人通信(4)-如何实现远程打开rviz
之前登录ssh的方式都是所示 hostname@hostname 或是hostname@hostname的ip,这种方式远程登录没问题,但无法显示图像界面,比如在终端输入打开rviz的命令时,都失败了,并报错。在使用Spark一键启动的时候,在运行整个封装好的启动文件时,发生如下的报错,根据报错的内容可知是键盘控制节点出现了问题。出现了如下的报错,根据报错可知,无法联系上ROS Master,因此只需要打开ROS Master即可。因此,只需要打开键盘控制节点即可控制Spark机器人的运动。原创 2021-04-23 15:31:50 · 5296 阅读 · 2 评论 -
【ROS报错】ssh: connect to host hostname port 22: No route to host解决
背景交代,两个ROS操作系统实现通信后,下一步,准备通过ssh命令实现相互访问。一开始,输入的命令是:ssh hestname(对方的主机名)结果在输入很多遍,一直报错,就像下图这样。ssh: connect to host zjc-virtual-machine port 22: No route to host之后换了一种格式输入:ssh hostname@ip(该hostname的ip),居然可以成功访问了。所以实践证明,是之前输入的格式不对造成的。如果是输入ssh localhost原创 2021-04-22 22:58:07 · 1784 阅读 · 2 评论 -
【ROS基础】多机器人通信(2)-ROS机器人从机改回主机
接着上一篇,我将机器人上ROS操作系统作为从机,台式机上的ROS作为主机,经过ROS_Master_URI设置后,实现了通信和主题分享。接下来我准备将机器人上的ROS操作系统改回主机的过程中,碰到了一些报错,经过多次查阅相关博客,最终解决了。一、报错: unable to contact my own server at [http://]首先是在未任何改动的情况下,在从机上输入roscore,出现找不到master的报错,如下图所示:二、lose经历第一次尝试:清除从机上的ROS_Master原创 2021-04-20 20:48:22 · 1091 阅读 · 0 评论 -
【ROS基础】Window系统安装并使用tightvnc
本次以台式机window为例连接SPARK机器人。一、远程界面安装windows电脑tightvnc远程控制软件下载地址:https://www.tightvnc.com/download.php进入网页后选择相应位数的安装包二、联网台式机和机器人连接同一个局域网或是互联网,本次台式机和机器人分别通过外置和内置网卡连接校园网,在形式上台式机是使用网线连接,机器人是使用wifi信号连接。三、连接打开下载好的连接软件,在remote host处输入机器人主机的IP地址。注意:机器人IP地址是原创 2021-04-20 13:20:55 · 1023 阅读 · 0 评论 -
【ROS基础】rqt_plot工具的使用
将话题发布的消息进行可视化,但只能显示二维消息,比如物体在平面内的运动轨迹的坐标集,也就是xy坐标系。ROS中专门用于数据绘制的工具。原创 2021-04-15 22:44:08 · 5082 阅读 · 1 评论 -
【ROS基础】 一分钟带你教你:如何使用SolidWorks建模并转化为urdf格式
1.在SolidWorks中建模1.1.绘制零件并选择材料1.2装配零件2.配置参数2.1添加坐标系和转轴2.2URDF Exportor的配置3.保存为urdf文件3.1插件安装下载solidworks_urdf_exporter插件,下载地址为:https://github.com/ros/solidworks_urdf_exporter/releases/tag/1.6.0选择sw2urdfSetup.exe即可。3.2导出...原创 2021-04-09 11:40:26 · 3265 阅读 · 2 评论 -
【ROS基础】ROS报错汇总
1.编译报错Could not find a package configuration file provided by “move_base_msgs”缺少由"move_base_msgs"提供的配置文件,执行以下命令进行下载:git clone https://github.com/ros-planning/navigation_msgs.git下载完成后再进行编译:...原创 2021-04-08 22:45:17 · 493 阅读 · 0 评论 -
【ROS基础】创建ROS的工作空间和功能包
创建ROS的工作空间和功能包原创 2021-04-08 17:32:20 · 3424 阅读 · 0 评论 -
【ROS基础】基于Gazebo创建机器人导航的仿真环境
1.添加模型.gazebo文件夹位于主目录的中,打开后粘贴复制好的models文件夹。之后打开gezebo,在inset的选项卡中就会出现刚刚添加的模型。在要插入的模型上单击,然后在场景中再次单击以添加它。...原创 2021-04-07 17:07:45 · 1088 阅读 · 0 评论 -
【ROS基础】Gazebo安装与闪退、卡顿问题解决
1.Gazebo安装2.两种方法打开Gazebo命令3.闪退处理4.卡顿问题解决办法5.gazebo图标添加到收藏夹原创 2021-04-07 16:24:41 · 5190 阅读 · 0 评论