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