文章目录 0.引言 1.安装Qt Creator(带ROS插件) 2.创建ROS工程 3.创建功能包 4.创建节点 5.添加编译规则 6.编译运行 0.引言 在进行ROS开发过程中,会创建许多功能包和源代码文件,这些文件少量时,手动管理还能接受,但当工程变复杂,文件增多后,便不易管理,为了管理ROS文件,可以采用QT加上ROS插件来管理ROS工程。笔者参考现有网络资料
我现在有这样一个需求:使用代码导航到指定位置(该位置由人工指定坐标),之前的导航都是直接使用rviz上面的可视化选点,这篇文章主要介绍下代码的实现逻辑。 我的环境:Ubuntu18.04+京天Turtlebot3仿真环境 程序源码 #include <ros/ros.h> #include <move_base_msgs/MoveBaseAction.h> #
0. 前言 在仿真环境中经常需要使用键盘控制无人机去拍摄一些图像和点云,相比编写代码控制无人机,使用键盘控制更方便一些。这篇博客中,我们一起来使用 C++ 编写代码来接收键盘输入以实现无人机的位置控制。 一般无人机遥控器使用的是速度控制,可以实现无人机的转向。这里之所以不使用是因为使用键盘来改变速度不便于控制,使用位置控制也难以实现无人机的转向。通常情况下,无人机的转向是通过调整其姿态(如航向
环境:ubuntu20.04 、ros-noetic、python 前言:这是分享一个自己写的rosbag管理工具,个人感觉实用性很强。 import rosbag def merge(): bag1 = rosbag.Bag('/home/ylh/dataset/1.bag','r') #包源1 bag2 = rosbag.Bag('/home/ylh/datase
环境:ubuntu20.04,ros-noetic 背景:项目需要,折腾一些ros1包,其中涉及一些yaml文件读取 包涉及yaml文件的读取,编译时,有报错提示: .... WORK_SPACE_PATH: /home/ylh/ros_ws/src /home/ylh/ros_ws/src/config/config.yaml terminate called after throw
背景:操作rosbag,目的将图片的compressed格式转raw格式,让后进行操作。发现python并没有对应的工具接口实现,而image_transport接口用起来也没有时效性(总不能将bag播放录制,过于费时费存储空间) 概要:这里介绍image_transport其中常用类型图片格式compressed到raw转换接口,当然对于存在其他类型的图片类型应该选用其他接口实现。 代码:
对于gazebo而言,常见的环境变量有如下:(1)GAZEBO_MODEL_PATH:冒号分隔的目录集,gazebo将在其中搜索模型eg:GAZEBO_MODEL_PATH=/home/…(具体路径文件夹)(2)GAZEBO_RESOURCE_PATH:冒号分隔的目录集,gazebo将在其中搜索其他资源,例如世界和媒体文件。eg:GAZEBO_RESOURCE_PATH=/home/…(具体路径文
最近用树莓派弄了一个 Ubuntu 20.04 desktop,用来做 ROS 的学习。 硬件:树莓派 4B 8G 版本 书本:《ROS机器人开发实践》和《ROS机器人开发实用案例分析》 目录 树莓派搭建 Ubuntu 20.04 desktop 烧录 Ubuntu 20.04 LTS 安装 Ubuntu 20.04 Server 连接网络 Ubuntu 20.04 deskt
建立两轮机器人 URDF 文件,通过两轮机器人来熟悉 ROS 工具 (包括可视化工具 Rviz 和 Gazebo 模拟器)的使用。 这里主要参考的书籍是 “ROS Robotics By Example, Second Edition”,其中书中的代码都在书本的 GitHub 页面 可以下载到。书本代码针对 ROS Kinetic 版本,我使用的是 Ubuntu 20.04 对应 Noetic
0. 简介 在了解完上面8讲内容后,基本上ROS和Matlab最关键的部分已经介绍完毕。我们最后一讲就来简单的讲述一下如何在Matlab中结合ROS来完成障碍物的识别与检测。 1. 在Matlab中使用CUDA 配置SimulinkCoder以从Simulink模型生成和构建的CUDA的ROS节点是我们这一小节需要讲的内容。以便于将模型完成配置并生成含有ROS节点的CUDA代码。然后将CUD
目录 创建catkin工作空间 小乌龟turtlesim节点 启动节点 turtlesim节点 turtlesim 话题与消息 查看话题的消息类型 查看消息类型的具体内容 查看话题的值 改变背景颜色 获取参数列表 获取参数值 修改颜色 控制乌龟运动 通过发布话题控制乌龟运动 通过键盘控制乌龟运动 通过服务控制乌龟的移动 上次安装成功ROS之后,先确认一下RO
介绍如何使用GDB来进行ROS C++ node的调试。包括catkin_make编译时如何开启debug选项,launch 文件中如何添加GDB调试参数,linux系统中core文件的设置以及列出了GDB常用的调试命令。 1编译开启debug选项 使用Debug调试,首先需要在程序编译时 加上debug选项,让cmake以debug模式编译,否则不会有gdb调试信息,无法查看源代码和设置断点
D-H注释 具有n个关节的串联机器人具有n+1个连杆。连杆的数字从相对于不可移动的基体(0)(通常被称作base_link)开始,依次增加到末端执行器连杆(n)。对于将第一个可移动的连杆连接到基体连杆上的关节来说,关节命名数字是从1开始的,并依次增加到n。因此,连杆(i)通过关节i连接到位于其近端的下一个连杆上,然后通过关节i+1连接到位于其远端的一个连杆上。 假设有一连杆(i),那么与他相连
前言 上几篇博客完成了这个基于旭日X3作为主控的两轮差速车的里程计,上位机底层文件的编写等等,是为了最终实现这个导航做的基础准备,完成了之前的步骤,便可以正式进入建图和导航了。如图可以见到该车主控为旭日X3,且连接到了32单片机进行通信,不过还没有完全组装好,会显得有点简陋哈哈。 正文 关于ROS的建图和导航详细描述和介绍,大家可以 ROS WIKI中详细了解和学习,这里就不过多的进
简介:不对具体功能系统讲解,网上已经很多了,只记录关键点和踩坑点。 没什么用的目录 cartographer与ros环境开发经验技巧总结 ROS 一个非官方的ROS教程 tf ROS 中断循环的方法 ROS::BAG 分批录制和连续播放 catkin rebuild roslaunch log 打印 ro
0. 简介 众所周知,ROS 2是具有不同架构的ROS的更新版本。这两个网络是分开的,在ROS和ROS 2的节点之间没有直接的通信。而ros1_bridge包则是提供了一个网桥,可以在ROS和ROS 2之间交换消息。桥接器管理所需的所有转换,并在两个网络之间发送消息。 1. ros1_bridge使用 这个例子展示了如何使用MATLAB®的键盘命令控制Gazebo中的TurtleBot3。凉
ROS | 动作通信的编程实现 1. 创建功能包 2. 节点编程与动作消息定义 2.1 案例说明 2.2 动作消息的定义 2.3 创建.cpp文件 2.4 动作客户端编程 2.5 action服务器编程 3. 配置与编译 3.1 在CMaKeLists.txt中添加编译选项 3.2 在package.xml中添加功能包依赖 3.3 编译文件 4.
aubo i5 + realsense D435i识别抓取实践三 aubo i5 + realsense D435i识别抓取实践三前言一、安装ORK二、安装couchDB数据库并添加模型1.安装数据库2.验证数据库安装成功3.在数据库中创建一条可乐罐模型的数据4.训练模型三、物体识别1.启动realsense相机2.修改识别配置文件3.运行识别程序前言前面完成了相机与机械臂的手眼标定,接下来我们
aubo i5 + realsense D435i识别抓取实践二 aubo i5 + realsense D435i识别抓取实践二前言一、手眼标定是什么?二、标定软件安装1.aruco_ros安装2.vision_visp安装3.easy_handeye安装4.realsense驱动安装5.安装realsense ROS软件包三、配置1.launch文件修改2.打印二维码四、手眼标定1.启动la
前言 在上两篇博客中我介绍了一下上位机与下位机的通信以及两轮差速机器人里程计的编写,其实这一切都是为了这篇底层代码的实现打下的基础。 那么上位机底层都包含哪些内容呢,又该如何进行简单实现呢? 应包含至少以下几个功能: 1.订阅控制命令并实现向下位机发送 2.接受下位机数据的反馈,并进行处理 3.完成里程计的计算和发布,同时发布TF坐标变换 正文 那么就让我们一起来看具体步骤吧:
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信