自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 ROS学习笔记10_ROS中的坐标系管理系统

两坐标系之间的变换,可以被表示为以一个3*3旋转矩阵和 3*1平移矩阵构成的变换矩阵。而在ROS中则使用TF功能包去管理所有坐标系的关系,所有坐标都在TF树下管理。可以默认记录10秒之内所有机器人上的坐标系的关系。TF坐标变换实现是广播和监听的机制。通过TF树去查询。通过ros中已有的脚本文件启动,完成小海龟的跟随。如果没有安装相关的包,需要sudo apt-get install ros-noetic-turtle-tf随后运行roslaunch turtle_tf t..

2022-03-02 21:47:24 568

原创 ROS学习笔记9_参数的使用和编程方法

该Parameter Server的作用相当于全局变量之于程序,各个Node可能不一定位于同一个PC中,但是只要在同一个ros环境里,都可以通过Parameter Server来访问全局字典的参数。rosparam相关指令列出当前所有参数rosparam list显示某个参数值rosparam get param_key设置某个参数值rosparam set param_key param_value尽管目前重新设置了这个值,但是小海龟的背景并没有被立即...

2022-03-02 20:43:43 309

原创 ROS学习笔记8_服务数据的定义与使用

如上图中的模型,此时希望在之前的服务器客户端的模型中发送人员信息可以通过service的方式,请求之后才去发送,同时在请求中使用自定义的服务数据类型learning_service::Person。如何自定义服务数据定义srv文件,在文件中定义服务数据的各个成员数据,在这里是Person.srv; 在package.xml中添加功能包依赖 <build_depend>message_generation</build_depend> <exec_depend&g...

2022-02-28 00:53:44 245

原创 ROS学习笔记7_服务端Server

在上图所示的模型中,Client作为请求的发送端,Server端接收Client发送的指令,并且完成topic指令的发送。其中请求的信息类型是std_srvs::Trigger类,同时返回一个Response,说明是否成功。服务器端代码实现。#include<ros/ros.h>#include<geometry_msgs/Twist.h>#include<std_srvs/Trigger.h>//will be used later when p...

2022-02-27 18:04:47 626

原创 ROS学习笔记6_客户端Client实现

图中是一种客户端/服务器类型的服务模型,涉及的节点包含发出请求的客户端(Client),它将发出一个请求,通过service到达服务器Server端,完成后会产生一个反馈Response。在~/catkin_ws/src目录下创建一个新的功能包,存放关于service的功能模块。catkin_create_pkg learning_service roscpp rospy std_msgs geometry_msgs turtlesim如何实现一个客户端初始化ROS节点 创建一...

2022-02-27 02:38:21 201

原创 ROS学习笔记5_话题消息的定义与使用

当系统给定的消息类型不满足我们的使用需求的时候,就可以通过自定义话题的方式去创建消息类型。例如上图中的框架中,Publisher作为个人信息的发布者,Subscriber作为个人信息的订阅者,而其中通过/person_info话题传输的信息类型learing_topic::Person就是在learing_topic目录下创建的Person消息类型。如何自定义话题消息定义msg文件,这里是Person.msg 在package.xml中添加功能包依赖 在CMakeLists.txt中添加..

2022-02-26 20:09:48 274

原创 ROS学习笔记4_订阅者Subscriber

依照海龟仿真器的话题模型,ROS Master 控制发布者和订阅者两个节点,话题类型是海龟的位姿信息,通过这一途径,message从发布者传输到订阅者。这篇学习主要旨在实现订阅者的功能。如何实现一个订阅者初始化ROS节点(init,同时创建节点句柄:同一个cpp程序下创建的都是同一个节点的句柄); 订阅需要的话题(创建subscriber对象,调用subscribe子函数订阅相关话题topic,并且注册回调函数); 循环等待话题消息,接收到消息后进入回调函数(ros消息回调处理函数:ros::.

2022-02-26 18:34:54 1104

原创 ROS学习笔记3_发布者Publisher

通过程序实现发布海龟的速度指令,让海龟运动。这个系统中,通过ROS Master来管理所有节点,其中主要节点有二,一者为订阅者节点,turtlesim海龟仿真器,一者为发布节点Turtle Velocity用于发布海龟的速度。要求通过程序实现该发布者节点,并且发布message(数据结构为Twist),然后通过一个名为/turtle1/cmd_vel的话题总线,把数据传输给subscriber,使其完成订阅。首先创建功能包,如上一个笔记。其包含诸多依赖,除了之前提到过的外,还有包含了Twist消息类

2022-02-24 23:26:26 686

原创 ROS学习笔记2_ROS工作空间与功能包

程序的工程-------ROS的工作空间(workspace)存放工程开发相关文件的文件夹。src:代码空间(source space)build:编译空间(build space)devel:开发空间(development space)install:安装空间(install space)如何创建工作空间创建工作空间,其中-p是创建多级目录的时候必须要写的。最后的src作为代码空间的标志。mkdir -p ~/catkin_ws/src之后进入这个文件夹,将该文

2022-02-24 22:05:11 591

原创 ROS学习笔记1_ROS常用命令行

1.以小海龟为例的命令行使用启动ROS Master,节点管理器,为节点提供命名和注册服务 跟踪和记录话题/服务通信,辅助节点互相查找、建立连接 提供参数服务器,节点使用此服务器存储和检索运行时的参数(节点可以使用ROS Master处理后得到的数据)roscore启动小海龟仿真器,实际上是启动了一个节点rosrun turtlesim turtlesim_node启动键盘控制节点rosrun turtlesim turtle_teleop_key随后就可以通过键盘控

2022-02-24 00:17:22 880

原创 算法与数据结构学习笔记(1)_时间和空间复杂度

复杂度时间复杂度空间复杂度基本概念:复杂度用于分析程序运行消耗的时间(1),和硬件资源(2)的程度。时间复杂度算法的时间复杂度是一个函数,算法中进行的基本操作次数,为算法的时间复杂度。一般使用大O的渐进表示法表示。推导大O阶方法:常数1取代运行时间中的所有加法常数;在修改后的运行次数函数中,只保留最高项阶;如果最高阶存在且不为1,置1,得到结果即为大O阶。算法存在不同输入下的时间复杂度差异情况:最坏:任意输入规模的最大运行次数最好:任意输入规模的最小运行次数平均:任意输

2021-06-08 16:34:26 124

ros2 dwa planner

ros2 dwa planner

2024-10-08

dwa ros2 local planner

dwa ros2 local planner

2024-10-08

ros2-dwa-cpp

ros2-dwa-cpp

2024-10-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除