![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ros
文章平均质量分 81
月照银海似蛟龙
这个作者很懒,什么都没留下…
展开
-
ROS系统读取USB相机图像数据
usb_cam功能包简介为了丰富机器人与外界的交互方式,已经增加了与机器人的语音交互方式,不仅使机器人能够说话发声,还能听懂我们说的话,但是如果只有语音交互的话机器人就是一个盲人,无法看到这个色彩斑斓的大千世界,因此我们就需要为机器人增加视觉识别功能。原创 2023-09-29 22:15:00 · 1452 阅读 · 0 评论 -
ROS EKF 机器人位姿估计功能包:robot_pose_ekf | 仿真环境实践
imu消息无法从firefly/imu_link 到 base_footprint , 这是因为仿真的模型没有base_footprint,imu的坐标系是firefly/imu_link。可以看到 /robot_pose_ekf/odom_combined 话题下面可以正常输出融合后的里程计信息。仿真环境为 一个无人机,具备3D POSE里程计数据,和imu数据。再运行robot_pose_ekf节点,则不会出现下面这个报错。原来在仿真环境里面,里程计的噪声设置为0了,与真实无人机高度吻合。原创 2023-06-09 22:45:00 · 1836 阅读 · 0 评论 -
ROS EKF 机器人位姿估计功能包:robot_pose_ekf 详解
假定机器人上次更新位姿滤波器在t_0时刻, 该node只有在收到每个传感器测量值(时间戳>t_0)之后才会进行下一次的滤波器更新。例如,在odom topic收到一条消息时间戳(t_1 > t_0), 且在imu_data topic上也收到一条消息( 其时间戳t_2 > t_1 > t_0), 滤波器将被更新到所有传感器信息可用的最新时刻,这个时刻是t_1。红色线是robot_pose_ekf的输出, robot_pose_ekf整合了轮式里程计和IMU的信息,给出了红色的结束位置点。原创 2023-06-08 23:30:00 · 4074 阅读 · 5 评论 -
ROS EKF 机器人位姿估计功能包:robot_pose_ekf 安装(Ubuntu20.04)
robot_pose_ekf软件包用于基于来自不同来源的(部分)位姿测量值来估计机器人的3D姿势。它使用带有6D模型(3D位置和3D方向)的扩展卡尔曼滤波器,将来自车轮里程计,IMU传感器和视觉里程计的测量结果结合起来。基本思想是提供与不同传感器的松散耦合集成,其中传感器信号以ROS消息的形式接收。原创 2023-06-07 23:15:00 · 1381 阅读 · 0 评论 -
实验 gazebo_ros_control
实验 gazebo_ros_control用源码编译生成插件替换默认插件libgazebo_ros_control.so文件在哪同样在ros的系统包下 与 libdefault_robot_hw_sim.so文件一样把这个文件删了会怎样?不删正常情况下可以启动右键删除该文件不行写好的,不能删。同理 libdefault_robot_hw_sim.so 文件也一样不删了,进行...原创 2022-09-23 16:21:30 · 946 阅读 · 0 评论 -
相机标定原理 用ROS camera_calibration 功能包 在gazebo中进行 相机校准
在gazebo中进行相机标定相机标定原理相机标定意义相机标定原理相机标定参数相关坐标系世界坐标系相机坐标系像素坐标系、图像坐标系相机坐标系转换为世界坐标系像素坐标系转换为图像坐标系相机坐标系转换为图像坐标系世界坐标系转换为像素坐标系举个实例用ROS camera_calibration 功能包 在gazebo中进行 相机校准gazebo .world 文件建立 相机 的 xacro 模型 文件建立棋盘启动 仿真 环境进行较准运行校准程序棋盘变动位置及姿态校准结果至此校准完成相机标定原理相机标定意义原创 2020-10-10 16:31:40 · 5877 阅读 · 19 评论 -
将ros的深度图像 转换成 opencv的图像 并求距离
将ros的图像 转换成 opencv的图像并求距离参考的博客概念将ROS图像消息转换为OpenCV图像示例计算距离参考的博客ROS学习笔记47(ROS图像和OpenCV图像之间的转换(C ++))如何使用ROS的service读取Kinect图像使用kinect2进行目标跟踪-ROS平台深度图从ros数据类型转换成了opencv数据类型概念ROS以自己的sensor_msgs / ...原创 2020-04-07 21:07:47 · 3767 阅读 · 2 评论 -
ROS——深度图转换伪面阵激光——depthimage_to_laserscan 功能包
ROS——深度图转换伪面阵激光——depthimage_to_laserscan 功能包depthimage_to_laserscan功能订阅的信息发布的消息github网址代码下载简单运行结果待完成内容depthimage_to_laserscan这个ROS功能包的wiki功能depthimage_to_laserscan 使一张深度图像 生成一个2D的激光雷达扫描图像这个功能包使用的...原创 2020-04-07 20:45:50 · 3055 阅读 · 0 评论 -
turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程
turtlebot3 在gazebo仿真下 通过 gmapping slam 建立二维平面地图——全过程ROS中的地图使用rosbag记录数据rosbag recordrosbag play创建地图ROS中的地图ROS中的导航地图以2D网格的形式描述,每个网格包含一个值,这个值描述了这个网格有多少可能是被障碍物占据的。地图文件以图像的形式存储,支持多种常见的格式(比如PNG、JPG、PGM)...原创 2020-03-16 17:37:07 · 2399 阅读 · 0 评论 -
基于ROS gmapping slam 建立地图时遇到的问题
基于ROS gmapping slam 建立地图时遇到的问题遇到问题:解决过程1再遇问题解决过程2下面看 /tf_static 到底是个啥东西啊遇到问题:在 turtlebot3 的gazebo 仿真环境下通过rosbag 保存tf 和scan 的信息,然后通过回放rosbag 里的内容再通过 gmapping slam_gmapping 进行地图建立建图过程中出现如下问题...原创 2020-03-16 17:05:48 · 6312 阅读 · 5 评论 -
基于横向轨迹误差法(Cross-track Error)P 导航二维控制 实现无人机水平面导航控制
横向轨迹误差法(Cross-track Error) 实现无人机导航控制 水平面开始开发// 记录//防止加速过快这样做就可以了Max_Nav_Speed = compound_speed + Math_Constrain((int16_t)(Max_Nav_Speed - compound_speed), -100, +100);/...原创 2020-03-09 11:07:29 · 3860 阅读 · 1 评论 -
通过Marker 在rviz中加入 历史轨迹点
在rviz中加入 历史轨迹点实现官网例程 rviz/Tutorials/Markers: Basic Shapes创建功能包发送 Markers直接 上 代码修改 CMakeLists.txt运行visualization_msgs/Marker Message 定义例程代码解释实现官网例程 rviz/Tutorials/Markers: Basic Shapes官网地址与其他显示方式不同...原创 2020-03-02 15:44:17 · 894 阅读 · 1 评论 -
ROS仿真中 读取 turtlebot3 扫描雷达传感器数据 求 前方距离和最短距离(对应方向)
ROS仿真中 读取 turtlebot3 扫描雷达传感器数据 求 前方距离和最短距离(对应方向)获取传感器数据 以 scan为例订阅 /sacn topic求前方的障碍物距离距离求最近障碍物的距离 与方向首先求 ranges 的向量长度求最短距离最短距离对于角度获取传感器数据 以 scan为例启动 waffle 的时候 <arg name="model" defa...原创 2020-03-01 22:39:00 · 3407 阅读 · 14 评论 -
在ROS 中 功能包 中将类的函数定义 与 声明 分开 文件写 用main.cpp 调用 如何配置 CmakeList.txt
在ROS 中 功能包 中将类的函数定义 与 声明 分开 文件写 用main.cpp 调用 如何配置 CmakeList.txt遇到问题的工程 这样搞了下一次工程实践 相关 记录那么还有个问题 ,要想用其它功能包的 类的 函数 怎么办?需要配置 CmakeList.txt遇到问题的工程 这样搞了下add_library(quadrotor_control_for_fengdian_c...原创 2020-02-29 18:12:47 · 955 阅读 · 0 评论 -
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)
ROS 环境下 安装 turtlebot3 功能包及其仿真包 并测试 —— 全流程(报错及解决)下载 turtlebot3 功能包下载 turtlebot3_msgs 功能包继续下载 turtlebot3_simulations试运行 一个 gazebo 仿真下载 turtlebot3 功能包turtlebot 太老了可能,仿真只有indigo版本 ,直接用 3吧ros的turtlebo...原创 2020-02-27 21:39:29 · 8852 阅读 · 7 评论 -
ROS中CMakeLists.txt文件 使用 讲解与总结
ROS中CMakeLists.txt文件 使用 讲解与总结CMakeLists.txt作用CMakeLists.txt写法CMakeLists实例CMakeLists.txt作用在ROS系统的功能包中 要包含 CMakeLists.txt 与 package.xml 文件 来 编译功能包的内容CMakeLists.txt原本是Cmake编译系统的规则文件,而Catkin编译系统基本沿用了...原创 2020-02-27 15:15:22 · 3580 阅读 · 0 评论 -
ROS 遇到问题及解决——汇总
ROS 遇到问题及解决——汇总编译好的 msg 再进行修改 报错想用 ros 系统定义的 变量时 需要包含其 头文件包含其它功能包头文件 需要添加CMakeList.txt定义msg时 不能能用double编译好的 msg 再进行修改 报错对于 编译好的 msg 再进行修改 虽然 CMakeList不用动,但是不动编译会报错 简单动个地方 然后 再改回去 就可以了想用 ros 系...原创 2020-02-12 22:10:28 · 2903 阅读 · 1 评论 -
ros仿真 无人机航向控制算法优化
ros仿真 无人机航向控制算法优化当前算法:有输入航向角速度时 就进行扭矩计算 ,当外界干扰时 不进行处理算法优化思想 根据 航向角速度输入 决定机头是否锁定当前航向角度锁定算法 思想, 期望角度 与实际角度进行pid 计算声明新变量 期望航向角度在初始化函数里加入 计算初始的姿态角度并将初始航向角度设定为 期望航向角度航向锁定 计算 力矩调整 航向控制pid将航向...原创 2020-02-04 20:39:14 · 1681 阅读 · 0 评论 -
ROS TOPIC 应用遇到问题-double类型数据不能创建
在后面的项目中 有个double 类型的 变量要发布 结果将 .msg文件里的类型声明为double 但是 报错了具体如下:生成msg头文件时报这个错误把double换成 float32后错误消失那ros 不能把double数据作为topic吗看这篇博客 可以看到 double用float64代替了ROS把这些基本类型重新定义了一番所以把消息类型改成编译没有问题可以看到...原创 2020-02-04 20:31:41 · 1806 阅读 · 0 评论 -
探究--gazebo里 关节是如何动起来的____通过节点发布topic让关节转动
通过节点发布topic让关节转动通过终端是这样发送得创建功能包写发布功能得cpp修改CMakeLists.txt执行查看与系统联调)通过终端是这样发送得rostopic pub -1 /swivel/swiveljoint1_position_controller/command std_msgs/Float64 "data: 1.5" 发布得消息类型是 std_msgs/Float...原创 2020-01-14 13:56:15 · 1886 阅读 · 3 评论 -
探究--gazebo里 关节是如何动起来的____总目录
探究--gazebo里 关节是如何动起来的____总目录探究--gazebo里 关节是如何动起来的____实现默认插件joint控制探究--gazebo里 关节是如何动起来的____撸源码探究ros gazebo里的 硬件抽象构建探究--gazebo里 关节是如何动起来的____撸源码探究ros control里的 控制器探究--gazebo里 关节是如何动起来的____用自己的 硬件抽象插件探究...原创 2020-01-06 10:37:31 · 1464 阅读 · 1 评论 -
探究--gazebo里 关节是如何动起来的____撸源码探究ros gazebo里的 硬件抽象构建
源码探究ros里joint是如何控制的gazebo_ros_control 插件功能包package.xmlrobot_hw_sim_plugins.xmlCMakeLists.txt总结:package.xml、CMakeLists.txt、robot_hw_sim_plugins.xml、default_robot_hw_sim.cpp 对应关系default_robot_hw_sim.cpp...原创 2020-01-06 10:18:28 · 1624 阅读 · 0 评论 -
GazeboRosControlPlugin::Load() 函数详解
GazeboRosControlPlugin::Load 函数详解void GazeboRosControlPlugin::Load()函数源码(已加注释)代码功能块解读void GazeboRosControlPlugin::Load()函数源码(已加注释)// Overloaded Gazebo entry pointvoid GazeboRosControlPlugin::Load(...原创 2020-01-06 10:13:09 · 953 阅读 · 0 评论 -
DefaultRobotHWSim::writeSim()详解
DefaultRobotHWSim::writeSim函数详解源码部分(已加注释)对源码进行功能分块解读源码部分(已加注释)void DefaultRobotHWSim::writeSim(ros::Time time, ros::Duration period){ // If the E-stop is active, joints controlled by position com...原创 2019-12-30 11:54:57 · 718 阅读 · 0 评论 -
DefaultRobotHWSim::initSim()详解
DefaultRobotHWSim::initSim函数详解DefaultRobotHWSim::initSim()源码 (加了注释)对源码进行功能分块解读DefaultRobotHWSim::initSim()源码 (加了注释)bool DefaultRobotHWSim::initSim( const std::string& robot_namespace, ros::...原创 2019-12-27 16:25:01 · 854 阅读 · 0 评论 -
探究--gazebo里 关节是如何动起来的____实现默认插件joint控制
gazebo里 关节是如何动起来的先实现一个机器人joint的控制创建一个有joint的xacro文件添加 transmission 标签加入 gazebo_ros_control plugin 的标签创建一个 .yaml配置文件(配置控制器)写launch启动文件执行该launch文件发布控制命令探究怎么实现的写自己的插件实现控制先实现一个机器人joint的控制创建一个机器人类似云台,实现...原创 2019-12-24 16:45:40 · 5489 阅读 · 2 评论 -
ROS 终端 常用指令
ROS 终端 常用指令创建功能包编译整个工作空间编译指定功能包创建功能包$ cd 工作空间$ cd src$ catkin_create_pkg编译整个工作空间$ cd 工作空间$ catkin_make编译指定功能包$ cd 工作空间$ catkin_make -DCATKIN_WHITELIST_PACKAGES= "包名"e.g $ catkin_make -D...原创 2019-12-18 09:15:06 · 718 阅读 · 0 评论 -
ros_control介绍
ros_control 介绍来源优势缺点基本架构简单实例来源ros_control 脱胎于pr2 的 硬件封装层部分 pr2_mechanism,经过pal-robotics 和 hidof 两个公司的工程师进行了改写,变得适用于所有机器人的硬件封装库,负责统一管理硬件驱动与传感器底层细节,处理异常,分配资源,向上提供统一接口。作为一个end2end的ROS 机器人系统集成解决方案。优势r...原创 2019-11-25 15:02:34 · 2161 阅读 · 0 评论 -
ROS:pluginlib
ROS:pluginlib插件(plugin)介绍1、插件定义:2、插件的优点:3、ROS中的插件(plugin):使用pluginlib为计算器应用创建插件插件(plugin)介绍1、插件定义:在计算机领域,插件是很常用的术语。插件是一种模块化的软件,可以在现有应用软件的基础上增加一些新的功能。2、插件的优点:我们不需要再主应用程序中编写所有功能。相反我们只需要在主应用中建立一个软件架...原创 2019-11-21 12:00:29 · 939 阅读 · 1 评论 -
outdoor_flight_gazebo.launch源码阅读
文章目录outdoor_flight_gazebo.launchrolling_landscape_120m.launch在hector_quadrotor-kinetic-devel里的hector_quadrotor_demo功能包,该功能包应该是可以在gazebo中仿真无人机飞行的。里面的launch文件夹里的launch文件应该可以直接执行相应功能。outdoor_flight_gaz...原创 2019-11-08 11:00:55 · 668 阅读 · 3 评论 -
Gazebo物理仿真环境搭建 实例
Gazebo物理仿真环境搭建ros_control功能包Gazebo物理仿真环境搭建仿真步骤为link添加惯性参数和碰撞属性写launch文件ros_control功能包ros中与gazebo仿真关系很大的功能包 ros_control功能包 也是ros_control软件框架ros中会提供很多机器人相关的功能,机器人导航、定位等,但这些功能基本都停留在机器人上层应用的一个阶段的功能包这...原创 2019-10-25 11:18:38 · 6899 阅读 · 6 评论 -
ros_control功能包
ros_control功能包ros_control功能包介绍ros_control功能包介绍ros中与gazebo仿真关系很大的功能包 ros_control功能包 也是ros_control软件框架ros中会提供很多机器人相关的功能,机器人导航、定位等,但这些功能基本都停留在机器人上层应用的一个阶段的功能包这些功能包最终如何应用到机器人上去!!!部分就是ros_control的作用...原创 2019-10-25 11:16:06 · 1111 阅读 · 0 评论 -
ArbotiX+rviz功能仿真
ArbotiX+rviz功能仿真ArbotiX安装Arbotix功能包配置launch文件ArbotiXArbotiX是一款控制电机、舵机的硬件控制板提供了相应的ROS功能包提供了一个差速控制器,通过接收速度控制指令,更新机器人的里程计状态安装Arbotix功能包放到src文件夹下$ git clone https://github.com/vanadiumlabs/arbotix...原创 2019-10-22 10:26:35 · 1237 阅读 · 0 评论 -
UDRF优化---XACRO
UDRF优化---XACROURDF 模型存在问题xacro模型文件xacro使用方法常量定义常量使用数学计算宏定义宏调用文件包含模型显示使用xacro创建一个小车机器人编辑xacro机器人模型启动模型在rviz中显示URDF 模型存在问题模型冗长,重复内容过多参数修改麻烦,不便于二次开发没有参数计算功能xacro模型文件URDF模型的进化版本—xacro模型文件xacro里面的...原创 2019-10-21 13:51:39 · 3228 阅读 · 8 评论 -
URDF机器人建模 理论+实践
URDF机器人建模什么是URDFURDF机器人建模linkjointrobotURDF 实践创建机器人描述的功能包编辑launch启动文件创建urdf模型创建小车底盘创建左侧车轮创建右侧车轮创建前后支撑轮增加传感器检查URDF模型整体结构URDF建模存在的问题ROS学习不必须非要机器人硬件平台,需要了解如何创建机器人的模型如何使用ROS中的URDF工具创建机器人的模型什么是URDFUni...原创 2019-10-16 16:22:47 · 4931 阅读 · 5 评论 -
机器人系统设计
机器人系统设计机器人定义机器人组成机器人系统构建执行机构驱动系统内部传感器系统控制系统板卡外部传感器控制系统实现ROS-连接摄像头机器人定义国际标准化组织(ISO)机器人定义:1、机器人的动作机构具有类似于人或其它生物体的某些器官(肢体、感受等)的功能2、机器人具有通用性,工作种类多样,动作程序灵活易变;3、机器人具有不同程度的智能性,如记忆、感知、推理、决策、学习等;4、机器人具有...原创 2019-10-16 10:18:45 · 1150 阅读 · 0 评论 -
ROS service in roscpp 通信 (简介+实例+测试)
service in roscpp1、service通信简介2、service demo 实例(1)创建service_demo package(2)创建.srv文件(3)创建服务 提供节点 server.cpp(4)创建服务请求节点(client.cpp)1、service通信简介topic是ROS中的一种单向的异步通信方式。Service是一种请求-反馈的通信机制。请求的一方通常被称为客...原创 2019-08-22 22:17:14 · 1541 阅读 · 0 评论 -
ROS Topic in roscpp 通信(简介+实例+测试)
ROS Topic in roscpp 通信 topic 简介topic demo 收发实列1、创建gps消息2、消息发布节点3、消息接收节点3、CMakeLists.txt文件修改4、编译运行topic 简介Topic是ROS里一种异步通信的模型,,一般是节点间分工明确,有的只负责发送,有的只负责 接收处理。对于绝大多数的机器人应用场景,比如传感器数据收发,速度控制指令的收发, Topic模...原创 2019-08-21 19:56:31 · 1733 阅读 · 0 评论