- 博客(13)
- 收藏
- 关注
原创 快速排序(python实现)
(1)选定pivot中心轴(2)将大于pivot的数字放在pivot的右边(3)将小于pivot的数字放在pivot的左边(4)分别对左右子序列重复前三步操作。
2022-09-12 22:45:10
670
原创 冒泡排序(Python实现)
针对连续的两个元素进行两两比较,如果前者大于后者就交换(1)第一轮比较:从第一个元素开始,按顺序对列表中所有N个元素中连续的两个元素进行两两比较,如果两者不满足升序关系则交换。第一轮比较过后,最大数将下沉到列表最后(2)第二轮比较:从第一个元素开始,对列表中前N-1个元素进行两两比较,使次大数下沉到最后(3)以此类推,N-1轮后,排序完毕。
2022-09-12 22:40:35
281
原创 linux操作系统常用指令
linux基本指令查看指令ls ---------------------查看当前目录信息ls -l 以列表方式显示ls -h 以大小单位显示,默认是字节ls -a 显示隐藏文件和隐藏目录tree-------------------以树状方式显示目录信息pwd------------------查看当前目录路径clear-----------------消除终端消息切换命令cd 指定目录 --------------切换到指定目录cd ~ -----------------
2021-03-01 18:04:57
82
原创 ROS常用组件(二)-----TF坐标变换
坐标变换是机器人系统中常用的基础功能,ROS中坐标变换由TF功能包维护。它可以根据时间缓冲并维护多个坐标系之间的坐标变换关系,目前 tf2 比 tf 用的多。1. 坐标变换常用msg1.1 geometry_msgs/TransformStamped–>用于传输坐标系相关位置信息命令行键入:rosmsg info geometry_msgs/TransformStampedstd_msgs/Header header #头信息 uint32 .
2021-02-26 12:38:09
924
原创 ROS中常用的组件(一)----launch启动文件
启动launch文件可以同时启动多个节点<launch>(1) <launch>标签----所有 launch 文件的根标签,所有其它标签都是launch的子级标签。(2)<node> 标签----指定 ROS 节点 ,语法如下: <node pkg="节点包名" type="nodeType" name="nodeName" />// 在某些情况下,还有可能用到以下属性: // output="log | screen" 日志发送目标 //
2021-02-23 22:51:10
297
原创 ROS参数服务器调用以及常用命令
参数服务器在ROS中主要用于实现不同节点之间的数据共享。案例:实现参数增删改查操作,以给小车设置参数为例C++实现在C++中提供了两套API,分别是:ros::NodeHandleros::param实现数据的新增和修改,功能包plumbing_param_server,新建文件demo01_set_param关键代码实现如下:/* 实现参数的新增与修改 需求:首先设置小车的共享参数,类型、半径(0.15m) 再修改半径(0.2m) 实现:
2021-02-20 13:09:42
816
原创 ROS通信机制(三)--服务通信
服务通信涉及到三个角色:ROS master(管理者)、Server(服务端)、Client(客户端)ROS Master 负责保管 Server 和 Client 注册的信息,并匹配话题相同的 Server 与 Client ,帮助 Server 与 Client 建立连接,连接建立后,Client 发送请求信息,Server 返回响应信息实现需求:服务通信中,客户端提交两个整数至服务端,服务端求和并响应结果到客户端srv 文件内的可用数据类型与 msg 文件一致,且定义 srv 实现流程与自定
2021-02-19 22:55:39
466
原创 ROS通信机制(二)--话题通信自定义msg
在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,但这些数据一般只包含一个 data 字段,当传输一些复杂的数据,可以使用自定义的消息类型案例需求:创建自定义消息,该消息包含人的信息:姓名、身高、年龄等并发布使消息被订阅创建自定义msg功能包下新建msg目录,添加Person.msgstring nameint32 agefloat32 height编译配置文件(包括package.xml和CMakeList.txt
2021-02-19 21:50:33
670
原创 ROS通信机制(一)--话题通信基本操作
话题通信话题通信是基于发布订阅模式的,即一个节点发布消息,另一个节点订阅该消息。流程:编写发布方实现–编写订阅方实现–(用python实现时,为python文件编写可执行权限)–编写配置文件–编译执行要求:编写发布订阅实现,要求发布以10Hz(每秒10次)的频率发布文本,订阅方订阅消息并将消息内容打印输出。前期准备工作:创建一个ROS功能包–vscode中编译ros(修改.vscode/tasks.json 文件)src目录下创建ros功能包、设置包名、添加依赖话题发布C++实现–>
2021-01-24 16:24:20
843
原创 ROS学习--打印hello_vscode
vscode 使用的基本配置1 创建 ROS 工作空间mkdir -p xxx_ws/src //必须得有 srccd xxx_ws/catkin_make2 启动 vscodecd xxx_ws/code .3 vscode 中编译 ros快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build可以点击配置设置为默认,修改.vscode/tasks.json 文件复制下面的代码替换tasks.json文件里的内容{// 有关 task
2021-01-23 18:55:44
467
原创 ROS学习--打印helloworld
ROS使用不同语言实现流程大致如下:创建工作空间并初始化mkdir -p 自定义空间名称/srccd 自定义空间名称catkin_make创建一个工作空间以及一个 src 子目录,然后再进入工作空间调用 catkin_make命令编译。进入 src 创建 ros 包并添加依赖cd srccatkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs在工作空间下生成一个功能包,该功能包依赖于 roscpp、rospy 与 std_msgs,其中r
2021-01-23 18:13:47
760
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人