TurtleSim测试日志(基于ROS2 Eloquent Elusor) 1.ros2 run 1.1 ros2 run turtlesim turtlesim_node --ros-args --remap __node:=robotMan 1.2 ros2 run turtlesim turtle_teleop_key --ros-args --remap __node:=robotRC 2.ros2 node 2.1 ros2 node list /robotMan /robotRC 2…
QoS学习日志 参考:ROS2API 及 https://index.ros.org/doc/ros2/Concepts/About-Quality-of-Service-Settings 1.概述 ROS2提供了一套非常丰富的服务质量(Quality of Service, QoS)策略用于调整节点之间的通信.众所周知,在TCP与UDP之间存在着无数的折中设置,QoS既可以设置成像TCP一样可靠(reliable),也可以设置成像UDP一样高效(best effort).不同于ROS1,它主要…
ROS(2)图(ROS(2) graph)是一个同时处理数据的基于ROS2元素的网络,它包含了所有的可执行文件以及它们之间的连接.图中的基本元素包括:节点(nodes).话题(topics).服务(services).参数(parameters)以及动作(actions).下面对ROS2中的节点进行介绍.ROS中的每个节点应具有一个单独的模块化用途(例如,一个节点用于控制电机,一个节点用于控制激光雷达等).每个节点都可以通过话题.服务.动作或参数向其他节点发送和接收数据. 一个完整的机器人系统应…
本系列用来记录ROS2的学习过程,有错误或者不合理的地方请大家指正.由于博主具有ROS1的学习经历,会添加一些与ROS1的一些对比,当然这对于ROS2本身的学习内容没有丝毫影响,欢迎大家积极与我在评论区交流.如果给您带来帮助,希望能给点个关注,以后还会陆续更新有关机器人的内容,点个关注不迷路~欢迎大家一起交流学习. 目录 1.为什么选择ROS2? 2. ROS2 的架构 3.ROS2的内部架构: 4.ROS2中的QoS 1.为什么选择ROS2? 由于ROS1基于TCP/IP通信机制,这就导致了R…
------------恢复内容开始------------ 基于Flask框架搭建视频网站的学习日志(一)2020/02/01 一.Flask环境搭建 创建虚拟环境 初次搭建虚拟环境 搭建完虚拟环境以后,安装flask(每次都要在虚拟环境下运行flask,也就是说,如果关键或者在cmd中exit了,就要重新进入虚拟环境) 安装flask:pip install flask 如果网速不够快,cmd就会报错(他经常干这种破事),这时候就要用镜像来加速 清华源加速看这里 安装完以后,在cmd输入 p…
基于Flask框架搭建视频网站的学习日志(二)2020/02/02 一.初始化 所有的Flask程序都必须创建一个程序实例,程序实例是Flask类的对象 from flask import Flask app = Flask(__name__) Flask 类的构造函数Flask()只有一个必须指定的参数,即程序主模块或包的名字.在大多数程序中,python的__name__变量就是所需的值.(Flask这个参数决定程序的根目录,以便稍后能够找到相对与程序根目录的资源文件位置)--<Flask…
基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老师的博客,MVC:Model-View-Controller,中文名"模型-视图-控制器") 负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器.(Flask-WTF扩展封装了WTForms,并且有验证表单数据的功能,这样就可以少写很多验证输入数据的代码,比如判断两次输入的密码…
基于ros2 dashing的建图导航探索 1. 环境准备 安装ros2 dashing, 参考链接: https://index.ros.org/doc/ros2/Installation/Dashing/Linux-Install-Debians/ 安装gazebo $ sudo apt remove gazebo11 libgazebo11-dev $ sudo apt install gazebo9 libgazebo9-dev $ sudo apt install ros-dashin…
webpack说容易也容易,说难也难,主要还是看个人,想学到什么样的程度,很多公司可能要求仅仅是会用就行,但是也有一些公司要求比较高,要懂一些底层的原理,所以还是要花一些时间的,看个人需求.这篇仅仅是做了一些总结,都是来自官网,便于复习. 一,先理解webpack的概念: 官网上:webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用…
本文目录 1. Net下日志记录 2. NLog的使用     2.1 添加nuget引用NLog.Web.AspNetCore     2.2 配置文件设置     2.3 依赖配置及调用     2.4 日志类型介绍     2.5 产生的日志文件 3. 基于Microsoft.Extensions.Logging封装     3.1 添加引用Microsoft.Extensions.Logging     3.2 实现我们的Logger     3.3 调用WLogger 4. 总结 1.…
如果你做为一个phper,没有用过composer,那你真的不是一个合格的开发者.那么就来记录一下composer的学习日志 下面分享几个学习源头: composer中文网站:https://www.phpcomposer.com/ composer中文文档地址:https://docs.phpcomposer.com/ packagist中国全镜像网站:https://pkg.phpcomposer.com/ 1.composer是什么呢? Composer 是 PHP5.3.2+以上 的一个…
发现开博客园真的很有督促作用,今天也顺便开个GRE学习日志吧 2015-02-09:单词 2015-02-10:单词 2015-02-11:单词 2015-03-02:阅读 2015-03-04:阅读,填空,作文 2015-03-05: 阅读 2015-03-18:到现在每天都是刷题…
上一次简单的总结了一下DAC方面的知识,好吧,这次再来总结一下ADC方面的东东.ADC即Analog-to-Digital Converter的缩写,指模/数转换器或者模拟/数字转换器.现实世界是由模拟信号组成的,关于为什么要用模数转换器,这大概与现在数字存储技术有关吧,例如温度.压力.声音或者图像等只有转换成数字量才能方便的存储在硬盘.U盘等数码存储介质中,或许某天我们的技术发展了,数字存储可以用某些模拟量存储,也许我们就用不着这么麻烦的转来换去了.好了,闲话不多扯,来简单总结一下ADC的原理…
终于逮了个忙里偷闲的机会,就再学一下LPC1768的外围功能吧,循序渐进是学习的基本规则,也许LPC1768的DAC与8位单片机16位单片机里面集成的DAC操作类似,但是既然这是懒猫的学习日志,就顺便把DAC再好好复习一下了,或许能品出个什么味来^_^DAC是Digital to Analog Converter的缩写,中文名就是数模转换器,D/A转换器一般由数码寄存器.模拟电子开关电路.解码网络.求和电路及基准电压等几部分组成.如下图所示: 图1-1 DAC原理框图 数字量以串行或并行方式输入…
javascript学习日志系列的所有博客,主要理论依据是<javascript权威指南>(犀牛书第6版)以及<javascript高级程序设计第三版>(红色书),目前js行业内公认的两本权威圣经,无奈有些地方两本书会有一些说辞不一致,那我加入了一些自我理解,尽量将两者融会贯通,通读之后发现,js确实魅力无限,每次看一遍都会有新的理解和感悟,所以这系列我会持续更新,一旦有新的理解我会立即写下来,不断的推翻重建再推翻再重建,我很享受这个自我认知不断更新的过程. 我知道学习js的路很漫…
今天继续Smobiler开发APP的学习日志,这次是做一个title.toolbar.侧边栏三种效果 样式一 一.          Toolbar 1.       目标样式 我们要实现上图中的效果,需要如下的操作: 2.       修改属性 a.         修改Mobile Form的Toolbar属性 获取窗体底部工具栏,打开集合编辑器,并点击“添加”,分别填写数据,如图 1.图 2: 图 1设置界面1 图 2设置界面2 b.         修改Mobile Form的Toolb…
我的游戏学习日志3——三国志GBA 三国志GBA由日本光荣公司1991~1995所推出<三国志>系列游戏,该作是光荣在GBA上推出的<三国志>系列作品的第一款.本游戏登场武将总数约450人,当然每个人的特性与专长都不尽相同.而在战争方面,分为野战.攻城战.以及城内决战等三大类.与其它平台一样的,玩家可以自己创造新君主.新武将.游戏共有6个舞台,最大支持8人联机对战.有多样化的兵种与武装登场,包括剑.枪.戟.弩.军马.冲车.井阑.木兽.投石车.走舸.楼船.斗舰等,每种兵科都会具备独特…
一.简介 接着几个月之前的(数据科学学习手札31)基于Python的网络数据采集(初级篇),在那篇文章中,我们介绍了关于网络爬虫的基础知识(基本的请求库,基本的解析库,CSS,正则表达式等),在那篇文章中我们只介绍了如何利用urllib.requests这样的请求库来将我们的程序模拟成一个请求网络服务的一端,来直接取得设置好的url地址中朴素的网页内容,再利用BeautifulSoup或pyspider这样的解析库来对获取的网页内容进行解析,在初级篇中我们也只了解到如何爬取静态网页,那是网络爬虫…
一.简介 马上大四了,最近在暑期实习,在数据挖掘的主业之外,也帮助同事做了很多网络数据采集的内容,接下来的数篇文章就将一一罗列出来,来续写几个月前开的这个网络数据采集实战的坑. 二.马蜂窝评论数据采集实战 2.1 数据要求 这次我们需要采集的数据是知名旅游网站马蜂窝下重庆区域内所有景点的用户评论数据,如下图所示: 思路是,先获取所有景点的poi ID,即每一个景点主页url地址中的唯一数字: 这一步和(数据科学学习手札33)基于Python的网络数据采集实战(1)中做法类似,即在下述界面: 翻页…
[转]Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性 Cocos2d-x 3.1.1 学习日志6--30分钟了解C++11新特性…
昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比win7要好看很多,很舒服,下个软件却要设置java的环境变量,而我连java是什么玩意都不知道.思维导图不能用了,又得想别的办法,对我来说这是非常重要的工具啊.简直没有它无法从事脑力活动. 因为前天晚上也是折腾电脑到大半夜,昨天早晨昏昏沉沉的起来看书.昨天早晨看的是<Head First HTML…
原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---先让程序跑起来(一) 写下此文章只为了记录Surging微服务学习过程,并且分享给广大想学习surging的基友,方便广大基友快速入门,让程序跑起来. 本篇文章只记录让Surging跑起来,暂时不涉及部署方面,本文参考了其他几位大佬的文章,精简整理的 一.准备工作: 1.先把surging搞下来https://github.com/dotnetcore/surging 2.Win10 Hyper-v开启来,我们本篇中使…
原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图: 以上可以看出项目结构可以划分为4大块,1是surging的核心底层,2,3,4都可以算是业务模块,这里的2,3,4就是作者给出的一个demo,也就是说,可以将2,3,4分离出来作为自己的项目解决方案. 1.Surging.Core这层为surging底层核心,咱暂时不说这个,毕竟水平有限,正在艰难地啃.. 2.Surging.IModuleServices这层其实就是业务接口层,作…
本文对应代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 在上一篇文章中我们对geopandas中的数据结构展开了较为全面的学习,其中涉及到面积长度等计算的过程中提到了具体的计算结果与所选择的投影坐标系关系密切,投影坐标系选择的不恰当会带来计算结果的偏差,直接关乎整个分析过程的有效与否. 作为基于geopandas的空间数据分析系列文章的第二篇,通过本文你将会学习到geopandas中的坐标参考系管理.…
文章目录 Linux学习日志--基本指令② 前言 touch cp (copy) mv (move) rm vim 输出重定向(> 或 >>) cat df(disk free) free head tail less wc(word count) date cal clear(快捷键ctrl+L) 管道"|" hostname id whoami ps top du -sh 结语 Linux学习日志--基本指令② 前言 今天又进一步学习了Linux指令,分别是:to…
动作是ROS中的一种异步通信形式,动作客户端向动作服务器发送目标请求,目标服务器向操作客户端发送目标反馈和结果.本文基于前一篇自定义动作博文. 1.创建一个action_turtorials_cpp包 1.1 创建一个action_turtorials_cpp包 在终端运行: cd ~/action_ws/src ros2 pkg create --dependencies action_tutorials_interfaces rclcpp rclcpp_action rclcpp_compo…
workspace(工作空间)是包含ROS2 packages(包)的文件夹.在使用ROS 2之前,有必要在终端中source一下ROS 2的安装工作区,这样就可以在该终端中使用ROS 2的软件包. 还可以source一个"overlay"(一个次级工作区,在这里可以添加新的包,而不会干扰正在扩展的现有ROS 2工作区),或者"underlay".underlay必须包含overlay中所有包的依赖关系.overlay中的包将覆盖underlay中的包,也可以有多个…
当节点使用服务进行通信时,发送数据请求的节点称为客户节点,响应请求的节点称为服务节点.请求和响应的结构由.srv文件决定. 本文的例子是一个简单的整数加法系统:一个节点请求两个整数的和,另一个节点响应结果. 1.创建功能包 在开始之前,确保ROS2的环境变量正确配置. 其次,包应该在src目录下,不是在工作空间的根目录下.所以,导航到dev_ws下,并创建一个新的包: ros2 pkg create --build-type ament_cmake cpp_srvcli --dependenci…
节点是通过ROS Graph进行通信的可执行进程.在本文中,节点将通过话题以字符串消息的形式相互传递信息.这里使用的例子是一个简单的"talker"和"listener"系统,一个节点发布数据,另一个节点订阅话题,以便接收该数据. 这些示例中使用的代码可以在这里找到. 1.创建一个功能 在上一节的基础上,即拥有dev_ws功能包的前提下,执行以下命令: cd dev_ws/src ros2 pkg create --build-type ament_cmake cp…
一个功能包可以被认为是ROS2代码的容器.如果希望能够管理代码或与他人共享代码,那么需要将其组织在一个包中.通过包,可以发布ROS2工作,并允许其他人轻松地构建和使用它. 在ROS2中,创建功能包使用ament作为其构建系统,colcon作为其编译工具.可以使用CMake或Python来创建包,都是官方支持的,不过也存在其他构建类型,本文仅针对CMake,即采用C++编写程序进行讨论. 1.什么组成了ROS2功能包 ROS2 CMake包的最低要求内容为: package.xml包含关于包的元信…