首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
边学边专题
MakeFile边学边用-变量覆盖 override
变量覆盖 override 作用是使 Makefile中定义的变量能够覆盖 make 命令参数中指定的变量 语法: override <variable> = <value>override <variable> := <value>override <variable> += <value> 下面通过一个例子体会 override 的作用:
阅读更多...
AngularJS学习之 登录表单 清爽验证(边学边更新)
注册过程的确好多需要验证的,但是注册成功之后的登录就简单多了, 只要用户 输入 用户名和密码, ajax向后台提交登录请求, 根据返回的结果确定用户名或者密码是否正确即可登录。 所以这个登录表单的验证是非常简单清晰的 <div class="wrap" ng-controller="LoginCtrl"><fieldset><legend>后台登录系统</legend><form
阅读更多...
ROS 2边学边练(47)-- 利用Xacro精简代码
前言 Xacro(XML Macro)是ROS(Robot Operating System)中用于处理URDF(Unified Robot Description Format)文件的一个宏处理工具。它允许你在URDF文件中定义和使用宏,这样可以减少重复的代码,并使得机器人描述更加清晰和易于管理。通过xacro,你可以定义变量、包含其他文件、执行条件语句等,这些功能都使得编写和
阅读更多...
ROS 2边学边练(45)-- 构建一个能动的机器人模型
前言 在上篇中我们搭建了一个机器人模型(其由各个关节(joint)和连杆(link)组成),此篇我们会通过设置关节类型来实现机器人的活动。 在ROS中,关节一般有无限旋转(continuous),有限旋转(revolute)和滑动(prismatic)三种类型,除了上述三种关节类型外,ROS还支持其他类型的关节,如planar(平面关节,允许在平面正交方向上平移
阅读更多...
ROS 2边学边练(41)-- 使用基于tf2_ros::MessageFilter带标记(位姿、时间...)的数据类型
前言 此篇将介绍如何利用tf2来使用传感器数据(如单声道和立体声摄像机以及雷达)。 假设我们创建了一只海龟叫turtle3,它的里程计不大好用,为了监视turtle3的活动轨迹,有台头顶摄像机被安装到该海龟的背上(负碑的赑屃),并且实时发布相对于世界坐标系的PointStamped消息(包含位姿和时间)。 有只叫turtle1的海龟想要知道tu
阅读更多...
ROS 2边学边练(38)-- 时间之旅(C++)
前言 前面的内容我们已经学习了tf2的一些基础知识,这一节我们即将进一步了解和学习关于tf2的一个牛逼功能 ---- 时间旅行。 动动手 时间旅行 其实没标题那么玄乎,正常表述就是,获取历史转换数据(是不是感觉立马就变了)。 我们还是利用learning_tf2_cpp包进行演练。 打开turtle_tf2_listene
阅读更多...
ROS 2边学边练(32)-- 初识tf2
前言 在上一篇文章当中我们已经用到了tf2,虽然有点懵,但所幸我们从这篇起将正式开始学习tf2,让它没有秘密可言。 动动手 我们依然是拿小海龟作为案例,简简单单走一遍流程,熟悉一下。 安装例子 安装例子及其依赖项。 $sudo apt-get install ros-iron-rviz2 ros-iron-turtle-tf2-py ro
阅读更多...
ROS 2边学边练(30)-- 使用事件句柄
前言 ROS 2中的Launch是一个执行和管理用户定义流程的系统。它负责监控其启动的流程的状态,并报告这些流程的状态变化并作出反应。这些变化被称为事件,可以通过向启动系统注册事件处理程序来处理。可以为特定事件注册事件处理程序,并可用于监视进程的状态。此外,它们还可用于定义一组复杂的规则,这些规则可用于动态修改启动文件。 动动手 我们还是继续在之前的launc
阅读更多...
ROS 2边学边练(29)-- 使用替换机制
前言 启动文件用于启动节点、服务和执行流程。这组操作可能有影响其行为的参数。替换机制可以在参数中使用,以便在描述可重复使用的启动文件时提供更大的灵活性。替换是仅在执行启动描述期间评估的变量,可用于获取特定信息,如启动配置、环境变量或评估任意Python表达式。 简而言之,ROS 2中的替换机制可以在启动描述运行过程中动态修改和管理修改某些参数而能改变运行状态和效
阅读更多...
ROS 2边学边练(25)-- 将多个节点组合到一个进程
前言 在ROS 2中,将多个节点(Nodes)组合到一个单独的进程(Process)中通常指的是使用“Composable Nodes”的特性。这个特性允许你定义可复用的组件(Components),然后将这些组件加载到一个或多个ROS 2节点中,而这些节点可以运行在同一个进程中。 这样做有几个好处: 资源优化:通过将多个节点组合到一个进程中,可以减少进程间通信的
阅读更多...
ROS 2边学边练(24)-- 编写一个可组合节点(C++)
前言 可组合节点(Composable Node),它允许开发者将ROS 2节点(Node)分解为更小的、可重用的组件(Component)。这种分解提高了代码的可重用性和模块化,使得ROS 2应用程序的开发、调试和维护更加容易。 具体来说,一个“Composable Node”是一个ROS 2节点,它可以包含多个组件,每个组件都执行特定的功能。这些组件可以在运
阅读更多...
ROS 2边学边练(21)-- 用rosdep管理依赖项
从此篇开始,我们即将告别入门阶段,走上进阶之路,还是要照常hold住信心啊!作为进阶篇的开始,我们今天轻松点,只动眼不动手,周末了稍稍躺平一下。 rosdep是啥 还记得之前在构建一个包之前都被建议要检查下依赖项吗,rosdep install --from-paths src -y --ignore-src,就是这串有点脸熟的命令,这里面就出现了rosdep,
阅读更多...
ROS 2边学边练(20)-- 创建和使用插件(C++)
作为入门篇的最后一章,我们来了解下ROS 2中插件的相关内容(使用过Qt插件的同学应该有点体会,话说Qt插件的创建也是比较让人头疼的,为什么不搞的更友好点呢)。 前言 ROS中使用pluginlib(一个C++库)来实现插件功能,应用程序在运行时通过加载的方式调用插件里面的功能,未来也不用修改应用程序的源代码来改变功能,也不须提取声明包含插件的有关头文件之类,也
阅读更多...
ROS 2边学边练(16)-- 自定义msg和srv文件
前言 在前面的文章我们在学习主题(topic)和服务(service)通信方法时,使用的一直是ROS 2提供好的消息结构文件(xxx.msg)和服务结构文件(xxx.srv),稀里糊涂的就这样过去了,如果我们有个需求,ROS 2提供的msg和srv无法满足,那我们就得定义自己结构的msg和srv文件了。 动动手 创建一个功能包 .msg和.srv文件需要分别
阅读更多...
ROS 2边学边练(15)-- 写一个简单的服务(C++)
前言 此篇我们即将编写一个简单的服务(service)通信例子,客户端节点向服务端节点发出请求(.srv文件中规定了通信的数据结构格式),服务端节点收到请求后将结果回复给客户端节点,一问一答,简单明了。 例子中,我们实现求和的服务内容,客户端发出请求数据(两个int数),服务端将这俩数相加后将求和的结果回复给客户端。 动动手 创建一个功能包
阅读更多...
ROS 2边学边练(5)-- 何为服务(services)
概念 服务是ROS世界中的另外一种通信方式,遵循一种经典的C/S架构(有过socket编程经验的同学应该对此不陌生),客户端节点通过服务向服务端节点发起请求(获取某种数据或功能),服务端收到请求后回复给发起该请求的客户端节点信息(通过服务),而不会像主题那样一旦订阅者订阅了主题,发布者会不断的通过主题发布消息(有数据产生的情况下)给所有订阅者,服务只是客户端请求一次,服务端回复一
阅读更多...
ROS 2边学边练(2)-- 咱也玩玩Turtlesim
同ROS 1一样,Turtlesim(小海龟)例程往往是大家首次熟悉ROS世界的唯一不二之选(如同刚接触编程的同学,老师会让大家打出“Hello World”的道理一样),很多教学视频及书籍也同样如此,为何?麻雀虽小五脏俱全呗。其不光包含了ROS核心的节点、主题(topic)、服务(service)、动作(action)等等概念及功能,还涵盖了一些基本工具的使用体验,在普及知识点的
阅读更多...
实习第四天——边学边做,手忙脚乱
眨眼间已经实习四天了,每天回到家里19点多,吃晚饭浏览一下常用的网站然后也就该睡觉了。早晨起来就要出发,每天都填的满满的。 当初投简历的时候写上了一个关于Android的小项目——写一个Android程序来控制一个机械臂。后来就得到了这个实习机会,给ofbiz写客户端。其实对Android根本没什么深度了解,只能说碰过而已。如今真到公司里面,真有任务分配下来,感觉鸭梨还是很大的。 没办法,边做
阅读更多...
【边学边记_06】——串口通信之RS232
串口通信之RS232 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作 UART。UART 是一种通用的数据通信协议,也是异步串行通信口(串口)的总称,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。它包括了 RS232、RS499、RS423、RS422 和 RS485 等接口标准
阅读更多...
边学边译Dive into python,中文版Dive into python,深入Python(二)
第二章.你的第一个Python程序 你知道很多其它的类似的编程语言介绍书籍,通常都会一步一步的建立一个程序,直到最后其完成,就是一个完整的程序了。在这里,我们用另一种方式来介绍Python,让我们跳过原先那些老套的做法。 2.1入门 这是一个完整的并且可以正常运行的Python程序。 它也许会使你根本无法理解。但是不用担心,我将一行一行
阅读更多...
Bootstrap边学边记
一、响应式布局页面 1.响应式网页(Responsive Web Page) 概念:一个网页,可以在各种不同的浏览终端下加以显示,并能够根据浏览终端的不同而呈现出不同的样式。 响应式网页需要注意下面三个部分: (1)采用流式布局(Fluid 流式、流动式、液态) (2)可伸缩的图片、文字 (3)CSS MediaQuery技术,根据浏览设备的宽和高调用不同的css
阅读更多...
CodeV自学笔记一,边学边整理,免得忘记了
1 基本使用 使用官方给的文档,文档英文,我的版本是中文。用的是CODEV10.2 一道练习题 一. 新建镜头 文件–新建—专利镜头–滤片 根据题目设计要求设置参数------确定 向导左边选择合适的镜头组合-----下一页 根据自己的设计要求选择光瞳规格及数据,这里输入错误,应该是像方F数,不是数值孔径 4 输入标题–下一页–完成
阅读更多...
Docker 边学边用
富 Web 时代,应用变得越来越强大,与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可,而容器化则成为中间的必要桥梁。本节我们就来探索一下 Docker 的神秘世界,从零到一掌握 Docker 的基本原理与实践操作。别再守着前端那一亩三分地,是时候该开疆扩土了。 我们将会围绕下面几点展开: 1.讲个故事 2.虚拟机与容器 3.认识 Docker 4.核心概念 5.安装 Do
阅读更多...
边学边搭建个人网站
网络上搭建个人网站的教程不少,但是都比较零散。自己一个人鼓捣鼓捣,也开始上路了。 搭建个人网站的基本步骤如下: 1.申请域名 2.购买服务器 3.在服务器上配置环境 4.将自己的本地网页上传到云服务器 1.申请域名 这一步我没有尝试,对于个人实验而言的话,简单的网站可以直接用ip地址访问,域名实际上不是必要的。网络上由许多教程,可以上万网购买,也可以在阿里云购买。购买后将域名和购买的服务器ip绑
阅读更多...