Git常用指令一、 新手村:建库与克隆
git init
大白话:在这个文件夹里开启游戏存档功能。(把一个普通文件夹变成 Git 仓库)
git clone <网址>
大白话:从云端(GitHub等)把别人的游戏存档原封不动地下载到我的电脑里。
二、 日常存档三步曲
第一步:检查状态 git status
大白话:看看我今天改了哪些文件?哪些还没存档?(标红的说明还没准备好,标绿的说明准备好存档了)。
第二步:放入暂存区(加入购物车) git add .
大白话:把当前目录下所有修改过的文件,统统放进暂存区,准备存档。 (注意 . 代表所有文件,也可以换成具体文件名)。
第三步:正式存档(写日记) git commit -m "新增了水下机器人的阻力参数"
大白话:正式生成一个游戏存档!-m 后面带的引号里,是你给这次存档写的“备注名”,方便以后回滚的时候知道这次干了啥。
三、 时空穿梭(后悔药)
git log
大白话:查看历史存档记录。能看到谁在什么时间提交了什么代码,以及每次存档的唯一串号(哈希值)。
git ...
人工智能
未读np.array_equal比较numpy数组尽量不用==,要用np.array_equal。两个 numpy 数组用==时,不会像普通变量 / 列表那样返回「单个 True/False」,而是对两个数组中对应位置的元素逐一比较 ,返回一个和原数组形状完全相同的布尔数组。
123456789import numpy as np# 任务1的位置:[5,6],任务2的位置:[5,7],任务3的位置:[5,6]loc1 = np.array([5,6])loc2 = np.array([5,7])loc3 = np.array([5,6])# 数组用==,逐元素比较,返回布尔数组print(loc1 == loc2) # 输出 [ True False] → x相等,y不相等print(loc1 == loc3) # 输出 [ True True] → x、y都相等
np.array_equal(a, b)是专门判断两个数组是否完全相等的函数,核心特性:
先判断两个数组的形状是否一致(比如都是 2 维、都是 N×2),形状不 ...
Else
未读前言读研之后,很多研究生都有随时使用电脑的需求,例如外出时导师突然要你把***发过来,或是上水课时候想要利用时间充分科研。但随身携带厚重的电脑非常麻烦,并且游戏本不插电使用会非常卡且续航一般。使用平板操控电脑,不仅携带起来轻便,而且哪怕平板没电了,充电宝怼一下又能充满接着用。
硬件配置妙控键盘,鼠标,米家智能插座这一套造价非常便宜,咸鱼上第三方二手妙控键盘(如倍思绿联等)差不多90元左右;鼠标我使用的是罗技的pebble,双十一价格为76元,小巧轻便高颜值;米家智能插座第三代双十一价格50元。注意,米家智能插座是需要搜索到WiFi才能用的,只支持2.4G频段不支持5G频段,并且实测西工大校园网是无法搜索到的,如果宿舍有自己的路由器无需顾虑这个问题,如果用的是校园网那么是可能出现问题的这里米家智能插座的作用是远程开机电脑,如果使用手指机器人效果也是一样的。有同学可能会好奇uu远程最新版本不是添加了远程开机电脑的功能吗?我想说试过了,但是太麻烦,远不如加个智能插座简单。
关键步骤进入电脑bios界面,设置通电自动开机,电脑电源接米家智能插座上手机使用米家APP控制米家智能插座,需要开机时就 ...
最近小坷心血来潮开始尝试护肤,做了些功课,写篇笔记记录下自己的一些理解。
回顾过去与护肤有关的故事在刚高考结束上大一的时候,我脸上的痘痘还是挺严重的。那个时候对皮肤没有正确的理解,错误地认为长痘是因为皮肤油脂分泌过多,只需要勤洗脸就不长痘了。这种观点错的离谱,直接导致了在大二的时候皮肤屏障受损,脸上大面积泛红的情况。当时我甚至认为,不就是去油吗?那洗面奶能去油,洗发水也可以。于是我甚至习惯性地在洗头的时候顺便用洗发水洗脸。这种做法省事,但极其错误。在皮肤屏障受损之后,脸部的大面积泛红和痘痘更严重了。这时候我开始意识到不对,为什么洗脸反而越洗皮肤越差?于是我开始检索关于护肤的相关知识,了解了关于皮肤水油平衡和皮肤屏障的概念。
什么是水油平衡?水:皮肤角质层含水量(10%-20%为健康状态),由天然保湿因子(NMF)和细胞间脂质锁住水分。油:皮脂腺分泌的油脂(含甘油三酯、角鲨烯等),形成天然皮脂膜保护皮肤。平衡状态:水分充足且油脂分泌适度,皮肤触感柔润不黏腻。所以明白了吗?好的皮肤状态不是疯狂去油,完全没有油,而是有适当的油。其实这点很好理解:为什么小孩子即使不洗脸皮肤也依旧很好?因为水油 ...
写在开头目前来看,中文互联网上还没有一篇完整的教程讲述如何在ros2中,将自己的solidworks模型在rviz中显示,以及在gazebo中通过ros2_contol控制。本篇帖子是作者自己尝试出来的一条路,尽可能覆盖一些可能会踩的坑。
将soliworks转成urdf文件这部分网上有很多的教程,就不多赘述了。唯一要注意的点就是,一定一定要自己设置每一个link的坐标原点和坐标轴,不要偷懒!不要相信插件自己生成的坐标轴,很多都是错的。
生成完毕后,你会得到一个文件夹,作者的文件夹名为jaw.SLDASM。打开这个网站进行预览:URDF Viewer Example,将文件夹整个拖动到网站页面即可,确认没问题后,再切换linux系统进行下一步操作。
在rviz中进行可视化建立工作空间,作者这里工作空间的名字是face_ws。接着建立src,在src中创建功能包,作者这里功能包的名字是face_description。
1ros2 pkg create face_description --build-type ament_cmake --license Apache-2.0
接着,你需 ...
什么是YAML我一向不喜欢故弄玄虚的定义,什么“数据序列化格式”,听着就头疼。我对yaml的理解就是一种配置语言,即一种用来编写配置文件的格式。类似于xml和json。
在ROS2 Control框架中,YAML文件作为核心配置工具,贯穿了控制器管理、硬件接口定义、参数传递和仿真集成等多个关键环节。
基本语法以 k: v 的形式来表示键值对的关系,冒号后面必须有一个空格#表示注释对大小写敏感通过缩进来表示层级关系,缩排中空格的数目不重要,只要相同阶层的元素左侧对齐就可以了缩进只能使用空格,不能使用 tab 缩进键字符串可以不用双引号
格式对象和键值对通过 k: v 的方式表示对象或者键值对,冒号后必须要加一个空格
123Name: keSex: maleSchool: NPU
通过缩进来表示对象的多个属性
1234People: Name: ke Sex: male School: NPU
也可以写成
1people: {name: ke, sex: male,School: NPU}
较为复杂的对象格式,可以使用问号加一个空格代表一个复杂的 key, ...
写在开头拓竹打印机是现在最火最好用的3D打印机,小坷在打印机器人零部件的时候遇到了一些故障,记录下来下次遇到作参考。
solidworks生成可打印的stl文件:直接将文件“另存为”,格式选择stl文件即可。
正片所选打印机与切片软件中选择的打印机配置文件不兼容:切片的时候左上角要选择打印机为对应的型号,比如x1c
炒面缺陷:大概率是耗材丝选错了,检查是否使用的是PLA
z轴回零失败:大概率再试一次就好了
雷达镜头脏污:用纸擦拭喷口周围一块区域(其实不管也问题不大)
部分曲面在打印时出现问题:多半是没有缝合曲面并生成实体
一些技巧打印多个同样的零件可以复制粘贴一次性打印
在打印机里,将两个槽位的耗材丝设置成同一种颜色就可自动续料(即使它们本身是两个颜色也可以,用来为了防止一个槽位的耗材打完了还不够的情况)。
此篇博客持续更新中
自言自语这篇博客记载了一些小坷自己摸索的ros2的小细节,很基础但对初学者可能有用,毕竟教程一般不教这个。
正文同一个终端内,source一次就够了,后续只需要colcon build。当然,新建终端之后要重新source
终端里点击“上”就可以得到上一次输入的指令,在第一次指令输入错误需要再输一次又不想一个字一个字敲时很方便
Ctrl+/快速注释
Alt+上下键可以控制单行代码上下移动
cat和xacro作为命令,后面拼接路径时记得加空格
光标放在某一行,无需选中任何,快速Ctrl c+Ctrl v可以实现一整行的复制粘贴
名字里带有default的变量,表示默认的意思。一般来说,如果不指定,那么就按default来执行。如果指定了,那么按照制定了的来执行
rviz里,红色是x轴,绿色是y轴,蓝色是z轴
xacro或urdf出现报错:Check that :Your XML is well-formed,说明XML格式错误,如果实在找不出错误,那么常见原因:标签未闭合。将单行标签末尾从>改成/>
ros2里常用单词含义package:功能包execut ...
问题描述版本为ubuntu22.04,ros2 humble
通过sudo apt install gazebo和sudo apt install ros-humble-gazebo-*安装gazebo后,无法在终端中通过gazebo命令或者ros2 launch gazebo_ros gazebo.launch.py命令启动gazebo,只会卡在加载的那个方框进不去。(直接点击gazebo图标,是可以顺利打开的)。
网上都说,要先下载模型到~/.gazebo/models里,之后再重启就好了,我也照办了,但还是卡在那里。
通过gazebo –verbose打印启动时详细日志时出现以下问题:[Err] [http://RTShaderSystem.cc:480] Unable to find shader lib. Shader generating will fail. Your GAZEBO_RESOURCE_PATH is probably improperly set. Have you sourced /share/gazebo ...
人工智能
未读写在开头“人生苦短,我用python”,作为最流行最好用的编程语言,非常好学,一学就会。
最基础输出函数print输出字符串
1print('helloworld')
输出数字
1print('520')
输出含有运算符的表达式(此时不要加单引号)
12print('1+2')#输出1+2print(1+2)#输出3
将数据输出到文件中,注意点:使用file=fp,且不带单引号
123fp=open('D:/text.txt','a+')#a+:如果文件不存在就创建,如果文件存在就追加(意味着该程序每运行一次,文件里的helloworld就会多一个)print('helloworld',file=fp)fp.close()
不换行输出(输出内容在一行中)
12print('hello''world''python')print('hello','world ...



























