Ros
文章平均质量分 77
.
smile~。
你笑起来真像好天气☆
展开
-
ROS入门-16.tf坐标系广播与监听的编程实现
介绍这两只海龟跟随背后的原理,怎样通过tf坐标系来完成广播与监听的编程实现第一步,创建功能包learning_tfcd ~/catkin_ws/src 在工作空间src下进入终端catkin_create_pkg learning_tf roscpp rospy tf turtlesim这里我们需要去依赖roscpp,rospy,tf工具,还有和小海龟相关的turtlesim功能包我们看到两个海海龟与world之间都有位置关系,这个位置关系要通过tf去广播出来的,看一下在程序里如何来实现原创 2021-07-17 10:10:19 · 366 阅读 · 1 评论 -
ROS入门-15.ROS中的坐标管理系统
介绍ROS中的常用组件,本将介绍ROS中的坐标系管理系统TF机器人中的坐标变换坐标系变换是机器人基本理论当中非常重要的一块,比如说有A,B两个坐标系,这两个坐标系之间的关系可以通过向量去做描述,这里会包括平移和旋转的变换,所以任意两个坐标系之间的坐标变换可以通过一个4×4的矩阵去描述他的平移和旋转在ROS中针对坐标变换的一个很重要的工具的使用方法,比如说是像这样的机器人,里面可能会有非常多的坐标系,呢么我们应该怎样去描述任意两个坐标系之间的关系是比较麻烦的,比如机器人上面的摄像头的坐标系跟 机器人底原创 2021-07-17 10:10:11 · 901 阅读 · 1 评论 -
ROS入门-14.参数的使用与编程方法
回顾参数的模型,之前介绍过在ROS Master中有一个参数服务器Paramester Server,它是一个全局字典, 是用来保存各个节点之间的配置参数的比如这里有一个Paramester Server,里面保存了名字my_robot,半径0.4和高度0.5,这些配置参数是各个节点都可以全局访问的,比如在A节点访问robot_name字典就可以得到值my_robot,它只需要给ROS Master发送一个查询的请求就可以返回该结果,node A,B,C,D类似。虽然各个node不属于同样一个PC里,可原创 2021-07-17 10:09:57 · 431 阅读 · 1 评论 -
ROS入门-13.服务数据的定义与使用
前面我们已经学习到了spawn和Trigger两种在ROS中已经定义好的服务数据类型的使用方式,当已经定义好的服务数据不能满足我们需求时,就需要根据自己需求来定义一个服务数据的类型并使用之前在自定义topic的message里的示例,当时是有一个发布者不断去发布一个person的信息,另外一个订阅者不断去显示接收该信息,我们会觉得不希望publisher不断去发信息,希望它是用service这样一个机制,每request一次才去发布显示一次同时接收到是不是发布成功了,呢么我们就用service这样的模型原创 2021-07-17 10:09:25 · 589 阅读 · 1 评论 -
ROS入门-12.服务端Server的编程实现
实现服务通讯的服务端Server的编程实现主要给海龟发送速度指令,通过topic发,Service实现;Client发布request来控制Server是不是给海龟发指令让其动起来,Client相当于让海龟运动及停止的开关,发布request,海龟就运动,再发布一个request,海龟停止;Server端来接收开关的指令并且完成topic海龟运动指令的发送;这里用到的Service名称(自定义的一个Service名字)为turtle_command ,关于Service的数据类型的定义,用到的是ros中针原创 2021-07-17 10:09:03 · 591 阅读 · 1 评论 -
ROS入门-11.客户端Client的编程实现
介绍service服务的编程实现之前命令行操作中,我们有通过命令行在海龟仿真器当中去生成一只新的海龟;下面通过程序的形式可以去发布一个服务请求来实现客户端去让海龟仿真器产生一只新的海龟Server端,小海龟仿真器Client端,要实现的程序,及一个客户端请求的节点,其会发布一个产生海龟的请求发给Server端,Server端收到请求后会回馈一个response,看请求是否成功中间用到service的名称是spawn,用到的消息结构是turtlesim::Spawn整个节点仍由ROS Master原创 2021-02-24 18:08:27 · 387 阅读 · 0 评论 -
ROS入门-10.话题消息的定义与使用
不管是给海龟发布速度指令的Twist消息还是去订阅海龟位置的pose消息,二者都是已经在ros里定义好的我们可以直接使用的;当ros定义好的消息没有办法满足我们使用要求,这时我们就需要自己来定义所使用的消息的类型,下面学习消息的自定义并完成publisher和subscriber使用,这次完成消息的传输是传输person的个人信息,包括名字年龄性别,publisher来发布人的信息,subscriber来接受人的信息,通过的topic的名字为/person_info;会把person的个人信息在我们的lea原创 2021-02-22 16:35:53 · 630 阅读 · 0 评论 -
ROS入门-9.订阅者Subscriber的编程实现
还是通过海龟仿真器去发布数据,要实现一个订阅者来订阅海龟的位置信息等,publisher是海龟仿真器,subcriber即为这次我们要实现的程序数据传输为从publisher传向subscriber一.创建订阅者代码(C++)在learning_topic里src里创建cpp文件,即c++代码文件如何实现一个订阅者1.初始化ROS节点;2.订阅需要的话题;3.循环等待话题消息,接收到消息后进入回调函数(*);(注意:回调函数处理需要高效,不可以嵌套,不可以太长,防止卡住一个消息,而另一原创 2021-02-21 16:46:20 · 1684 阅读 · 0 评论 -
ROS入门-8.发布者Publisher的编程实现
主要实现功能是:让我们在海龟仿真器里的海龟通过程序控制动起来之前过程中,主要是通过命令行或者通过键盘控制形式来发布速度指令以下是该话题通讯的问题模型今天学习怎样通过一个程序来实现其中的发布者,其发布海龟的速度指令让海龟能够动起来模型概述:该话题模型里有ROS Master,用来去管理所有话题节点;该系统当中有两个主要节点,一个是Subscriber,即海龟仿真器turtlesim,另外一个是我们现在要实现的Publisher,即为Turtle Velocity这样一个速度指令的一个发布者,他要通原创 2021-02-05 22:30:17 · 349 阅读 · 0 评论 -
ROS入门-7.创建工作空间与功能包
一.工作空间概述:是一个存放工程开发相关文件的文件夹包括四个主要文件夹src(代码空间):用来放置功能包,功能包的代码,配置文件,launch文件等build(编译空间):放置编译过程当中产生的中间编译文件,二进制文件,一般用不到devel(开发空间):放置开发过程中的一些可执行文件,库,脚本等install(安装空间):安装指令安装的位置,放置最终编译生成的可执行文件注意:devel与install作用类似,只是一个是开发中,一个是开发结束后分享发布给客户使用的一个结果文件如何创建工作原创 2021-02-04 20:37:50 · 752 阅读 · 0 评论 -
无人机-4无人机结构设计
一.需求分析概述:设计上的纸面参数做到一个切实用到飞机上的一个设计参数的一个过程1.飞机的任务是什么针对设计目的有不同结构需求的物流无人机:仓储位置摄影无人机:拍照,搭载稳定的三轴云台;起落架折叠军用无人机:长航时;可以挂载武器救援无人机:投递救援物资,挂载扁针对工训赛理解:二.总体设计与布局概述:飞机选择一个什么样的结构,什么样的状态,怎样去完成软件的搭载,结构的设计,故总体上要有一个设计和规划1.结构形式选择:(包含多因素所决定,设计需求,技术水平,成本,器件选型)为何选择原创 2021-02-03 21:57:50 · 8879 阅读 · 0 评论 -
ROS入门-6.ROS 命令行工具的使用
一.ROS的命令行工具ros提供了丰富的命令行工具,这些工具可以帮助我们实现一些代码的编写,调试,包括整个系统的框架的调试,数据的显示,命令的一些帮助信息等都可以通过命令行工具等帮助实现,常用命令包括:rostopic,rosservice, rosnode, rosparam, rosmsg rossrv举例:小海龟为例第一步,在当前终端输入roscore(作用:启动ROS Master,即ROS里管理器)第二步,打开一个新终端输入:rosrun turtlesim turtlesim_n原创 2021-02-03 20:11:59 · 839 阅读 · 0 评论 -
ROS入门-5.认识ROS及ROS的基本概念
一.认识ROS二.ROS的基本概念通信机制node,每个节点,每个节点是在整个机器人系统当中完成一个具体功能的这样一个进程;每个node使用语言也可能不一样,比如一个c++,一个python,这便体现了松耦合式便给了很大方便性节点与节点管理器1.节点(Node) —— 执行单元执行具体任务的进程、独立运行的可执行文件;不同节点可使用不同的编程语言,可分布式运行在不同的主机;节点在系统中的名称必须是唯一的2.节点管理器(ROS Master) —— 控制中心为节点提供命原创 2021-02-01 16:39:14 · 968 阅读 · 0 评论 -
ROS入门-4.安装ROS系统(ubuntu20.04版本安装ros的noetic版本)
参考安装步骤http://wiki.ros.org/melodic/Installation/Unbutu提前确认安装原创 2021-02-01 16:37:55 · 3929 阅读 · 2 评论 -
ROS入门-3.C++/python极简基础
首先:安装g++编译器一.for循环//C++#include <iostream>using namespace std;int main(){ int a=5; for(a;a<10;a++) { cout<<"a="<<a<<endl; } return 0;}#pythonfor a in range (5,10): if a < 10: pr原创 2021-01-29 19:41:29 · 226 阅读 · 0 评论 -
ROS入门-2.Linux系统基础操作
一.更换软件源1.找到软件和更新:设置-关于-Software Updates2.选择其他站点3.选择阿里云4.重新载入即可原创 2021-01-29 17:37:57 · 279 阅读 · 0 评论 -
ROS入门-1认识Linux系统,虚拟机安装Ubuntu
一.认识ROS二.Linux系统介绍与安装1.认识操作系统linux是一种自由、开放源码的类似Unix的操作系统2.虚拟机安装ubuntu1)下载VMware杂货猿公众号2)下载ubuntu镜像1.下载镜像方法一官网选择好路径,要方便自己可以找到2.获取镜像方法二(杂货猿公众号)3)安装ubuntu1.打开VMware,点击创建新的虚拟机2.弹出界面选择自定义高级选项3.默认4.稍后安装操作系统5.选择Linux,Ubuntu 64位6.给虚拟机命名原创 2021-01-28 18:42:05 · 616 阅读 · 0 评论 -
无人机-3无人机ROS应用与开发
一.ROS是什么二.为什么要学习ROS三.怎么学习ROShttps://www.cnblogs.com/masbay/p/10745170.htmlTF坐标系指机器人在现实世界会有坐标的变换,ROS已经将其算成固定的程序,我们需要去掌握坐标使用即可,不需要掌握内部的换算关系rviz可视化窗口,用来观察机器人运行的状态,以及各种传感器的信息需要看懂Launch启动文件ROS分布式通信URDF机器人建模Gazebo仿真机器人视觉机器人SLAM自主导航课程代码: http原创 2021-01-27 17:55:27 · 1084 阅读 · 6 评论 -
无人机-2多翼无人机的结构与硬件
一.多旋翼无人机的机体布局二.多旋翼无人机的构成原创 2021-01-28 15:42:46 · 5116 阅读 · 1 评论 -
无人机-1认识无人机
序言原创 2021-01-28 15:42:26 · 688 阅读 · 0 评论