在前面几篇教程中我们已经实现了订阅map话题,这篇我们主要就是实现rviz中的设置目标点和初始点的功能。 其实核心代码也就两三句,但是目前网上关于librviz的资料少之又少,连官方都没有api说明,只有最简单的一个demo。我也没找到实现类似功能的开源项目,于是我只能通过读rviz的源代码,找出了相关api,读了rviz的源代码不得不说rviz是如此强大。 现在分享出来供大家参考~~文章
这几天继续琢磨Gazebo仿真环境。 在上一篇文章完成时,顺便提出了一些改进建议。想着估计也没人闲着来改进,于是就自己做了一些修改,主要有以下几个方面: 1、导入Solidworks模型 2、增加腿部自由度,添加转向步态 3、仿真环境参数调整 导入Solidworks模型 在大多数教程中为了简单起见,都使用了Gazebo默认的三种模型:球体、圆柱体和长方体。上一个版本建模使用了这些默认模型
最近在重新琢磨Gazebo仿真环境,尚处于囫囵吞枣阶段。因为正好在看30多年前波士顿动力(BostonDynamics)创始人Marc Raibert的书《Legged Robots That Balance》,就用Gazebo搭建了一个简单的四足仿真模型练手。 当前模型就是一个基础版四足机器人,每条腿有两个自由度,一个旋转关节一个移动关节(可以看成气缸或者液压缸)。先写urdf文件,把ros
课程目的 MoveIt是ROS中非常强大的一个开发平台,集成了多种运动学、运动规划、环境感知等关键算法,可以快速搭建机器人开发平台。 学习了MoveIt基础编程之后,我们已经可以通过程序控制机械臂运动,随着开发的深入,你一定会有更多疑问: · 想用MoveIt让机械臂画一个圆,怎么做? · MoveIt规划出来的轨迹数据不满意,怎么改? · 不想让机械臂在多段轨迹运
一,实现效果: 二,核心代码 如果按照本人前几篇博客的话进程的话,就很容易实现这个功能了,主要就是用manager添加一个display:核心代码: //显示激光雷达 void QRviz::Display_LaserScan(bool enable,QString topic) { if(laser_==NULL) { laser_=manager_->createDisplay(
一,实现效果 二,核心代码 主要就是这么几句: //添加map displaymap_=manager_->createDisplay("rviz/Map","QMap",true);ROS_ASSERT(map_);//设置display的话题属性map_->subProp("Topic")->setValue(topic);//设置display的透明度map_->s
一,实现效果 实现效果: 二,核心代码 创建librviz界面类:qrviz_widget.h #ifndef QRVIZ_WIDGET_H#define QRVIZ_WIDGET_H #include <QWidget>#include <rviz/visualization_manager.h>#include <rviz/render_panel.h>#
我这里主要就是参考teleop_twist_keyboard项目的源代码,移植到自己程序 一,首先在ui界面添加按钮(注意按钮上显示的文字): 同时在ui界面设置每个按钮的shortcut(热键),就能实现键盘控制: 二,关联这些按钮的点击事件到同一槽函数 //绑定速度控制按钮 connect(ui.pushButton_i,SIGNAL(clicked()),this,SLOT(
一,实现效果: 原理主要就是订阅机器人的odom话题,然后利用信号与槽更新ui仪表盘控件的信息 二,制作仪表盘控件 由于qt标准控件没有仪表盘,因此我们需要自己手动绘制,可以直接使用这个绘制类文件: CCtrlDashBoard.h #ifndef CCTRLDASHBOARD_H #define CCTRLDASHBOARD_H #include <QWidget> class
笔记本作为桌面电脑,树莓派(Rasp)作为机器人终端进行多机通讯 先看一下实现效果 在Rasp上运行Master和键盘控制节点,在本机运行GUI界面 0.准备 1、连入同一局域网的两个安装好ROS的设备(在树莓派上安装ROS可参考我上一篇文章) 2、两设备间能进行SSH通讯 1.经典历程尝试 如果网络配置没有问题,可以使用如下方法进行多机通讯,多机通讯的原理其实可以和单机进行类比,在一台
文章目录 一,首先安装ros对qt pkg的支持 二,安装qtcreator 三,配置qtcreator 四,更改功能包main_window.hpp 五,运行可执行文件 本系列课程已上线古月学院,欢迎感兴趣的小伙伴订阅: ROS Qt开发环境搭建以及基础知识介绍 ROS人机交互软件的界面开发 ROS Rviz组件开发方法 完整项目代码: github 一,首先安装ros对qt
大家好,我是(月更侠)小明,很高兴我们又见面啦。相信大家从我之前的文章中能看出来,我所讲的内容基本都面向ROS新人,因为大家刚入门时,往往很难一窥程序的深层运行逻辑,使得许多问题迟迟无法解决,甚是耽误时间。例如在和小伙伴们日常交流时,就反复遇到过一些关于Gazebo仿真控制的“经典”问题: A 我的模型一直抖动,怎么办? B PID参数该怎么设置啊?我怎么调都没用! C 我必须要设置PID参数
各位ROS的学习者大家好,很荣幸收到古月前辈的邀请来到这个平台分享我的学习经验,本人是最近半年才开始接触的ROS,目前还处于很初级的学习阶段,如果你和我的经历相似,欢迎和我讨论ROS使用过程中的各种问题! 之前在进行ROS学习的过程中一直在困扰如何将ROS应用到项目中,本人只是简单学习过51和32的单片机,对嵌入式系统略有涉猎,最近在学习中接触到了树莓派这个控制板,便入手了一块,下面我来简单介
测试和调试环境:Ubuntu 18.04.2 LTS gym-gazebo支持ROS Melodic(1.0),gym-gazebo2支持ROS Crystal(2.0) https://github.com/erlerobot/gym-gazebo(ROS 1)https://github.com/AcutronicRobotics/gym-gazebo2 (ROS 2) 版本问题
MoveIt是ROS中非常强大的一个开发平台,可以为机器人开发提供六大功能支持,真正做到不写一行代码,就可以从零完成各种炫酷的机器人应用功能。 MoveIt的设计目标是让机器人走向未来,那未来的机器人是什么样的呢?不知道你有没有看过在工厂实际工作的机械臂,都需要人工事先完成示教工作,机器人的角色更像是一台“机器”,完成人们依次设计好的轨迹,环境一旦发生变化,就得重新
ROS中的二维导航功能包,简单来说,就是根据输入的里程计等传感器的信息流和机器人的全局位置,通过导航算法,计算得出安全可靠的机器人速度控制指令,然而,其自带的导航算法并不是适用所有的机器人和环境,在实际应用中我们经常需要更换导航算法来使机器人更能适应它所处的环境。 那么ROS中我们有哪些局部导航算法可供我们选择呢?不妨参考一下这篇文章 一、导航包的组成 在局部导航算法的介绍之前我们需要先理
前言 Docker是一个开源的应用容器引擎。应用Docker能够将应用程序与基础架构独立开,用管理应用程序的方式管理基础架构,并使得应用程序的开发、测试和交付部署的运行环境保持一致,从而提升效率,实现快速交付。在容器化技术大放异彩的今天,Docker更是炙手可热。Docker通过轻量级的虚拟化,真正做到“Build, Ship And Run Any App, Anywhere”。 本文介绍
首先我必须得承认Gazebo功能有多强大,然而对于大多数刚入门的新手来说,使用Gazebo仿真的时候各种参数的配置简直让人头疼,一不小心终端就是一片“爆红”!所以今天就给大家推荐另外一款机器人仿真软件——Webots。经历了20年商业许可的它,2018年终于以开源的身份面向广泛的机器人爱好者,让我们一起来了解一下吧! Webots到底有多好用? “地表最强”我不敢说,但它绝对是能够帮我们快速实
ROS是现在应为最为广泛的机器人操作系统,为了将ROS与Web端的应用结合起来,ROS Web Tools社区开发了很多Web功能包,利用这些工具,我们能够在Web端实现对机器人的监测与控制。 工具的准备 首先介绍以下所需要的工具包:rosbridge_suite功能包,roslibjs,ros2djs,ros3djs。 ● rosbridge_suite:实现Web浏览器与ROS之间的
大家好,我是小明,很高兴我们又见面了!今天谈的领域并非我的专业方向,但也同样有趣,初次接触时让我备受启发,因此分享给大家。和上次一样,本文的工程也为大家提供了源代码,方便交流学习。如有疑问,可以在本篇文章下留言交流。 游戏中的智能行为 如果你玩过刺客信条之类的ACT游戏,一定对里面看似凶悍实际上又有点傻傻的“智能怪物”并不陌生:他们总是忠实地坚守着自己的岗位,当玩家触发某种判定条件时(或是出现在视
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信