机器人操作系统
RuiH.AI
学习ing
展开
-
ROS学习十三、多机ROS通信
本篇记录ROS的多机通信方法。如果想把无人机端接收到的图像数据发送到PC端,就可以通过ROS多机通信进行。原创 2022-09-07 19:39:59 · 4220 阅读 · 5 评论 -
ROS学习十一、图像话题可视化包image_view
ROS学习十一、图像话题可视化包image_view前言安装image_view包查看某个图像话题从话题中保存图像从话题中保存视频前言本篇简要记录ros中的图像话题可视化包image_view常用的几个方法。安装image_view包sudo apt install ros-melodic-image-view查看某个图像话题rosrun image_view image_view image:=/myimg_topic从话题中保存图像rosrun image_view image_sa原创 2022-01-24 15:31:58 · 5694 阅读 · 0 评论 -
ROS报错:PluginlibFactory: The plugin for class ‘octomap_rviz_plugin‘ failed to load
错误日志运行rtabmap稠密建图时,报一个插件错误未载入错误:PluginlibFactory: The plugin for class 'octomap_rviz_plugin' failed to load这种错误基本都是没装某个包出现的。解决方法sudo apt install --upgrade ros-melodic-octomap*...原创 2021-12-21 14:15:00 · 3104 阅读 · 0 评论 -
Gazebo安装与升级,gazebo: symbol lookup error
Gazebo版本升级前言Step 1(可选)Step 2Step 3报错 gazebo: symbol lookup error前言现在将gazebo9.0升级到gazebo9.19Step 1(可选)如果是小版本升级,比如gazebo9.0升级9.19,或者是没装过gazebo,可以省略该步。大版本升级需要先卸载gazebosudo apt remove gazebo* libgazebo* ros-melodic-gazebo*Step 2ros源中的gazebo版本只有9.0,如果需要原创 2021-12-19 18:39:52 · 1192 阅读 · 2 评论 -
ROS学习十、无人机通信模块mavros(1)常用的mavros消息类型
ROS学习十、无人机通信模块mavros(1)常用的mavros消息类型前言数传全局位置IMU惯导本地位置飞控命令设置飞行位点、速度、加速度系统状态系统时间其它前言mavros用于无人机通信,可以将飞控与主控的信息进行交换。本次记录常用的mavros消息类型。数传用于查看数传状态:3DR_RADIO:/mavros/radio_status (mavros_msgs/RadioStatus)全局位置mavros中的飞控和GPS消息。GPS:/mavros/global_position原创 2021-11-23 21:47:29 · 12440 阅读 · 5 评论 -
ROS学习九、ros中的图像处理包(1)RGBD图像转PCL
ROS学习九、ros中的图像处理包(1)RGBD图像转PCL前言ROS自带的图像处理包image_pipelinedepth_image_proc包深度图转点云RGB与深度图转PCL深度图投影到RGB图深度图尺度转换后记前言最近又在弄仿真,需要把RGBD相机转成点云。ROS自带的图像处理包image_pipelineROS提供了用于单目、双目、深度图像处理、相机标定和可视化的工具,包含在集成模块image_pipeline中。主要有以下几个包:camera_calibration相机标定dept原创 2021-11-22 21:17:46 · 4317 阅读 · 0 评论 -
ROS python3使用cv_bridge报错,在melodic中使用python3 cv_bridge
ROS cv_bridge报错:在melodic中使用python3+cv_bridge问题描述解决方案使用方法问题描述ROS与opencv之间的数据类型转换是通过cv_bridge这个包来实现的。melodic中默认使用python2,因此rospy的cv_bridge也默认是python2版本的。使用python3导入cv_bridge时会报这个错:from cv_bridge.boost.cv_bridge_boost import getCvTypeImportError: dynamic原创 2021-10-21 15:23:07 · 5134 阅读 · 1 评论 -
ROS学习八、ros中的时间Time,Duration,Timer和Rate(2)
ROS学习八、ros中的时间Time,Duration,Timer和Rate(2)概述ros::Time与ros::Durationros::Timer与ros::Rate概述ROS中的时间包含time时刻和duration间隔两种,由roslib提供ros::Time和ros::Duration两个类Time和Duration的数据类型相同:int32 secint32 nsecros::Time与ros::Duration这两个类提供了基本的计时方法获得当前时间:ros::Time原创 2021-10-11 11:39:52 · 7526 阅读 · 1 评论 -
ROS学习八、ros::init(),NodeHandle,命名空间namespace(1)
ROS学习八、ros::init,nodehandle,与命名空间ros::init()ros::NodeHandle常用的三个NodeHandle初始化写法ros::init()这里只介绍最常用的ros::init(argv, argc, “node_name”)初始化节点,函数原型如下:void ros::init (int & argc, char ** argv, const std::string & name, uint32_t o原创 2021-10-09 22:08:21 · 3038 阅读 · 0 评论 -
ROS报错:Could not import “pyqt“ bindings of qt_gui_cpp library
错误日志使用ros rqt可视化时报:Could not import "pyqt" bindings of qt_gui_cpp library错误原因可能是pyqt版本较老或者没装。pip install pydot pyqt5问题解决原创 2021-10-04 20:20:28 · 2006 阅读 · 0 评论 -
ROS学习七、ros_control控制(1)
ROS学习七、机器人控制ros_contrl前言1.ros_control框架2.ros_controllershardware_interfacetransmission_interfacejoint_limits_interfacecontroller_managercontroller_manager命令controller_managerspawner于unspawnercontrollers可视化工具前言ROS提供了用于控制机器人的组件ros_control,能够控制仿真和实际的机器人运动。原创 2021-10-04 17:38:01 · 5194 阅读 · 0 评论 -
ROS catkin编译ompl相关包报错:ompl/base/··· : No such file or directory.
错误日志ompl/base/objectives/PathLengthOptimizationObjective.h : No such file or directory报错原因这个是经典的cmake找不到相关包导致的错误,cmake没找到ROS的ompl包解决方法首先安装一下ROS ompl包:sudo apt install ros-melodic-ompl确认安装好后,尝试再编译一下之前报错的代码,如果还报错,那就可能是由于ompl装的位置问题,先找一下ompl的位置:sud原创 2021-09-29 15:34:33 · 2452 阅读 · 4 评论 -
ROS学习六、TF坐标系转换(2)
ROS学习六、TF坐标系转换(2)tf消息tf转换总结tf消息tf树通过Topic进行建立与维护。tf树的建立是从第一个父坐标系开始,根据父子frame之间的位姿消息,逐渐添加子叶(子frame),然后再根据消息进行父子frame间位姿的维护更新。tf树中每一对父子frame都依靠话题来传递位姿信息,这个话题就是 /tf 。/tf话题包含了tf tree中所有父子坐标系之间的位姿变换关系消息,而父子坐标系之间的位姿又是通过一个Broadcaster节点发布的,典型的Broadcaster节点例如/r原创 2021-09-27 15:34:24 · 2251 阅读 · 0 评论 -
ROS学习六、TF坐标系转换(1)
ROS学习六、TF坐标系转换(1)前言tf树tf包前言移动机器人涉及位姿的变换,比如关节间的相对位姿,关节与传感器的相对位姿,多机器人之间的相对位姿等。ROS使用TF(TransForm)来处理坐标系间的位姿变换。tf树ROS中机器人的每个link都与一个frame对应,即每个关节有一个坐标系。这些坐标系形成了一个树形结构,tf tree。tf树是一种多叉树结构,包含系统中所有的坐标系frame,并将相邻frame采用父子节点的形式连接。(由上图可知父节点可以有多个子节点,子节点只有一个父节点原创 2021-09-26 22:20:26 · 928 阅读 · 0 评论 -
ROS接收发布消息相关——queue_size
ROS topic接收与发布ROS中的一种消息发布的方式是使用话题topic,分别采用Publisher和Subscriber。由于程序随时在通过Publisher和Subscriber收发消息,回调函数处理需要时间,就可能出现收发速度不一致的现象。ROS可以通过消息队列的方式来解决这个问题。queue_size队列大小Publisher设置queue_size:缓存即将发送的消息到队列中,如果待发布队列的消息数超过queue_size,则将队列中最老的消息丢弃(有点先进先出的意思)。Subscr原创 2021-09-26 20:38:00 · 1376 阅读 · 0 评论 -
ROS学习五、rosparam参数设置
ROS学习五、rosparam参数设置前言一、查看参数信息二、设置参数前言ROS中一些常用的node都会有参数设置选项,这些参数都由ROS的参数服务器统一进行管理,可以通过rosparam访问参数服务器来查看和设置参数。一、查看参数信息rosparam提供了几个查看参数信息的方法,list与get:# 查看ROS管理器中各节点的参数rosparam list# 获得某个参数的具体值,例如/joint_state_publisher/source_listrosparam get /joint原创 2021-09-16 14:30:59 · 2631 阅读 · 1 评论 -
ROS学习四、rosbag记录数据
ROS学习四、rosbag记录数据一、记录话题二、话题回放三、查询bag文件信息四、(常用)将bag文件转为txt文件一、记录话题rosbag record可用于记录已发布的话题消息:# 记录所有话题rosbag record -a# 记录单个话题,例如/tfrosbag record /tf# 记录两个话题,例如/tf, /static_tfrosbag record /tf /static_tf# 记录话题,并写入指定bag文件rosbag record -O myrosbag.ba原创 2021-09-15 22:04:19 · 1360 阅读 · 0 评论 -
Gazebo报错:Error in REST request
错误日志Gazebo[Err][REST.cc:205] Error in REST request问题解决nano ~/.ignition/fuel/config.yaml# 修改url: https://api.ignitionrobotics.org原创 2021-09-08 15:08:21 · 460 阅读 · 0 评论 -
ROS报错:cannot launch node of type [octomap_server/octomap_server_node]:octomap_server
错误日志ERROR: cannot launch node of type [octomap_server/octomap_server_node]: octomap_serverROS path [0]=/opt/ros/melodic/share/ros错误原因这个报错说的是打不开node,因为没有octomap_server这个type那么问题要么是路径找不到octomap-server,要不然就是压根没装octpmap-server解决方法sudo apt install ros-m原创 2021-08-13 15:49:45 · 2901 阅读 · 0 评论 -
ROS ORB_SLAM2报错: [rosbuild] rospack found package “ORB_SLAM2“ at ““
错误内容[rosbuild] rospack found package “ORB_SLAM2” at “”, but the current directory is ...出错原因根据ORB_SLAM2原repo里的issue ISSUE,出现这个报错是ros找不到ORB_SLAM2这个包的位置,也就是要设置ROS_PACKAGE_PATH解决方法在~/.bashrc里添加ROS_PACKAGE_PATH路径:sudo nano ~/.bashrc# path_to_project是到原创 2021-08-11 20:58:06 · 2315 阅读 · 0 评论 -
Ubuntu虚拟机Gazebo9加载慢,报错:VMware: vmw_ ioctl_command error Invalid argument.
问题描述1Ubuntu加载Gazebo9很慢,卡在界面和黑屏上。出现原因加载gazebo时要下载模型,所以慢。解决方法把模型提前下载好。cd ~/.gazebo/mkdir -p modelscd ~/.gazebo/models/wget http://file.ncnynl.com/ros/gazebo_models.txtwget -i gazebo_models.txtls model.tar.g* | xargs -n1 tar xzvf问题描述2Gazebo在虚拟机下原创 2021-08-11 20:26:15 · 590 阅读 · 0 评论 -
Ubuntu 英特尔RealSense SDK 2.0安装和配置
安装RealSense SDK 2.0安装配置步骤使用预编译好的包Using pre-build packagesConfiguring and building from the source code官方说明在这librealsense安装其实比较容易,但是我走了个弯路去安装内核patch导致浪费了很多时间,因此做个记录。安装配置步骤有两种方法,使用预编译好的包Using pre-build packages从源码编译Configuring and building from the s原创 2021-08-11 19:34:41 · 4576 阅读 · 0 评论 -
ROS debug之Gazebo [Err] [REST.cc:205] Error in REST request
错误信息ros gazebo9.0 运行报[Err] [REST.cc:205] Error in REST request.解决方法sudo gedit ~/.ignition/fuel/config.yaml# 注释url : https://api.ignitionfuel.org # 添加 url: https://api.ignitionrobotics.org 问题解决原创 2021-08-11 19:14:47 · 462 阅读 · 0 评论 -
ROS学习 三、ROS中部署Nanodet
目录前言ROS中目标检测模型的部署(rospy)demo测试ROS python模型部署后记前言Nanodet是我十分喜爱的一个超轻量目标检测算法,以FCOS为主体框架+GFL损失函数来训练模型。Nanodetd的性能要求对嵌入式设备极其友好,只要能装opencv就能无压力部署。于是我把nanodet移植到了ROS中。现成的源码在这里 ros-nanodetROS中目标检测模型的部署(rospy)许多深度学习算法都是用python来写的,转成C++坑比较多,因此我选择先在rospy验证模型在ROS原创 2021-07-24 12:12:11 · 3690 阅读 · 7 评论 -
ROS学习 二、Debian10虚拟机下部署ROS YOLOv3
目录前言darknet_ros源码编译运行ROS YOLOv3后记前言现在的机器人定位、导航等技术都会涉及到感知、规划、控制算法。本次将在ROS中配置yolov3目标检测算法,以此学习视觉感知算法在ROS中的搭建。本文已经提前将ROS环境搭建好了。darknet_ros源码编译首先创建一个ros工作空间,然后下载源码,mkdir -p ~/yolo_ws/srccd ~/yolo_ws/srcgit clone https://github.com/leggedrobotics/darkn原创 2021-07-15 22:11:21 · 2796 阅读 · 0 评论 -
ROS学习 一、Debian10安装ROS Noetic,解决rosdep update失败问题(更新一个可修改位置)
目录前言ROS安装1.添加ROS的apt源和key(中科大源)2.apt安装ros-noetic核心组件3.配置ROS的bash环境4.安装其他常用ROS依赖项5.解决python3-rosdep安装中出现的rosdep update error问题尝试1.改hosts尝试2.改resolv.conf尝试3.改timeout最终的解决方法:结语前言装了挺多次ROS,每次安装都会卡在rosdep update这一步上,总要靠运气装好。最近发现一种很棒的ROS仓库连接不上的解决方案,因此重新记录一下在Deb原创 2021-07-05 21:57:47 · 6822 阅读 · 6 评论