Posts with tag 24

[deprecated]

2024-12-13
1124julyfunnotes

setupref: https://hackmd.io/@jimmy801/docker_gui# [deprecated] docker run -it -h $(hostname) -e DISPLAY=$DISPLAY -e XAUTHORITY=/tmp/xauth -v ~/ws/docker2:/home -v ~/.Xauthority:/tmp/xauth -v /tmp/.X11-unix:/tmp/.X11-unix --net=host -d ros:humble-ros-base-jammy # then after committing: docker run -it -h $(hostname) --device=/dev/ttyUSB0 -e DISPLAY=$DISPLAY -e XAUTHORITY=/tmp/xauth -v ~/ws/docker2:/home -v ~/.Xauthority:/tmp/xauth -v /tmp/.X11-unix:/tmp/.X11-unix --net=host -d new1# [ex] useradd -m -s /bin/bash -u 1000 julyfun usermod -aG sudo julyfun sudo passwd julyfun su julyfunref: https://github.com/waveshareteam/roarm_ws_em0.gitsudo apt update sudo apt install -y software-properties-common sudo apt install -y net-tools sudo apt install -y ros-humble-moveit-* sudo apt install -y ros-humble-foxglove-bridge sudo apt autoremove ros-humble-moveit-servo-* sudo apt-get install libopenblas-devDocker usagedocker exec -u julyfun -it 7f bas

how-to 服务器维护日志

2024-09-25
0724julyfunnotes

how-to 服务器维护日志25.3.14[ok]bash sudo bash start2.sh proxy_on12.25又挂了。[ok] 重进 dashboard 的时候记得:在`API Base URL`一栏中输入:`http://<ip>:10050`,在`Secret(optional)`一栏中输入 启动成功后输出的Secret。10.20最近又挂了,不得不重新开放 external 端口在阿里云开放自定义端口删除 clash-for-linux-backup 中的 conf/config.yaml重新 sudo bash start.sh修改 conf/config.yaml 中的 external 端口sudo bash restart.sh source /etc/profile.d/clash.sh proxy_on访问 10050 看看[240205] 按照上述方法 ok。我还修改了 start.sh 使之可以读取本地文件.7.31土豆服务器上白天 clash 经常莫名其妙挂了,每次手动重启。晚上一看又挂了,写了个脚本自动重启,结果直接把服务器 cpu 干爆了。以为是 clash-for-linux 仓库的问题,拉了 clash-core 和 clashmeta 来测测,还是会干爆。发现新工具 gg, https://github.com/mzz2017/gg?tab=readme-ov-file 当时没外网拉不下来,以后测测clash core log 有一堆脏东西:翻来覆去问论坛,最后问 gpt4 是什么流量回环还是公网 ip 攻击,他说 ip 是乌克兰的,建议查查防火墙。想起来之前为了做 Rustdesk 服务器,把所有端口都开了,所以回去把端口都关了,就剩 22 和 3389Done! clash 又正常了,所以你才能看到这篇博客。所以这是被攻击了吧。xy 说给 9090 端口设置密码就行。不过我已经把端口关了。或许昨天白天不是 clash 挂了而是节点挂了,晚上是设置过于简单密码才被轰炸的。果真如此的话还是得开 9090 端口去选节点

moveit2-错误修复日志

2024-09-25
0724julyfunnotes

7.30 启动双机械臂报错一大堆关节找不到,可以 Plan 不能 Execute重启电脑解决。8.2 update: 重启 wsl 即可。有一个机械臂的 urdf 如何配置双机械臂众所周知 moveit setup assistant 输入 urdf 输出所有配置文件。所以你需要修改你原有的 urdf:所有 joint 和 link 加上 left_ 前缀,再复制 <robot> 标签内的所有内容,所有 joint 和 link 加上 right_ 前缀,两机械臂相对位置用 world_to_(left/right)_base 表示。接下来用 setup assistant 就行了。官网教程让你手动改输出的配置文件,太蠢了。verified on 24.7.29启动带 MoveitGroupInterface 节点是报错 runtime error: can't load urdf..launch 文件里面别乱传参数,删除 parameters = xxx.urdf 解决了此问题tf 查找不到一个显然存在的 frametf 查找别放在构造函数里,解决。buffer & listener 所在 node 必须 spinjoint angles 0.000000s现在直接跑 demo.launch.py + hello_moveit 并不会报这个错了,能顺利规划和执行但是跑别的报这个错还是不知道应该是因为 spin 的位置,当前节点无法与其他节点通信导致的启动节点但是 nothing happens是忘记注册 rclcpp_register_component_node 了,或者 add_library 没有 add 对应的源文件7.15 win 蓝牙没了去 ubuntu 下 rmmod modprobe,修好了之前 hello_moveit plan 后关节没法移动的原因是有节点冲突,重启电脑解决包带 moveit,编译报错,找到了 /mnt (msys2 的) 相关问 chat cmake 用什么环境变量,给了个 bash 输出输出 $PATH 发现带有 /mnt 和 /网上搜 wsl 如何关闭共享 win 环境变量解

光速搭建带有图床的博客

2024-09-25
0724julyfunnotes

搭建主站ref: https://juejin.cn/post/7134899224985993230如果没有安装 bun 你就 curl -fsSL https://bun.sh/install | bashfork https://github.com/moeyua/astro-theme-typographygit clone your fork 并在仓库中 bun install在 src/content/posts 中修改文章在仓库根目录 bun dev run 本地查看站点(热更新)git push 到你的 fork在 vercel.com 的 dashboard 中 Import git repo,部署时注意有些选项需要修改为 bun run build 和 bun install修改成喜欢的域名,提供 julyfun.vercel.app 这种免费域名的(可选)vercel.app 被墙了,可配置国内域名在阿里云之类的地方买一个域名使用 cloudflare DNS, see: https://bbs.maozhishi.com/d/56-cloudflare给 vercel 配置域名, see: https://blog-zoey.top/posts/vercel-dns-china托管于非中国内地服务器的网站无需进行ICP备案。ref: https://help.aliyun.com/zh/icp-filing/basic-icp-service/product-overview/icp-filing-requirements-for-a-regular-website(可选)搭建图床ref: https://zhuanlan.zhihu.com/p/119250383备份另一份 ref: https://cloud.tencent.com/developer/article/2067043参照 ref 搭建腾讯云 + PicGO 图床建议在 PicGO 中下载 webp 插件,上传时压缩图片随后你可以在 obsidian 中下载 image auto upload plugin 自动上传到图床verified this part on 24.9.10how-to如果最后访问域名显示重定向次数过多,在第二个链接 🔗 里说了需配置 SSL - strictverified on 24.7.2

comptime? runtime? launchtime!

2024-09-25
0824julyfunnotes

comptime? runtime? launchtime!考虑参数的修改和加载:| time | 例子 | 修改数值代价 | 修改参数名代价 | 运行代价 | | -------------------------------- | -------------------- | --------------- | --------------- | -------------------------------------- | | comptime 编译时常量 | constexpr | 重新编译 + 运行 | 重新编译 + 运行 | 无 | | launch time / init time 参数文件 | ros2 param yaml file | 重新运行 | 重新编译 + 运行 | 启动时几毫秒 | | runtime 热加载 | ros2 param set | 无 | 重新编译 + 运行 | 启动时几毫秒,每次查询几十纳秒到几微秒 |参数表如果是一个 string => value 的 map,那么查询较长的名字比较耗费时间和空间。这其实可以在 comptime 进行优化,然而 C++ / Rust 怎么实现呢?btw,宏可以实现这个编译时的抽象,但是很难保证热加载灵活性。Zig 应该很好实现编译时字符串压缩。如果做一个跨平台 GUI,肯定要做抽象层。如果采用的是 Box<dyn Trait> 或者抽象类这种方案,就是 runtime 抽象,必然有一定性能损失。然而这些抽象如果在 comptime 做,应该可以让损失非常小,编译结束时即可消除抽象,近乎直接生成平台原生代码。元编程可以做到以上所有事情,它本身就是 comptime 的抽象,然而基于 AST 的元编程太过底层,lsp 难以发挥作用,开发和维护成本都很高。也许 Zig 能代替元编程轻松做到代码生成,有空玩玩。每次想到这个就为 Rust 的 comptime 能力感到遗憾

不同文档博客的标记语法

2024-09-25
0824julyfunnotes

不同文档博客的标记语法github 标准> [!NOTE] > > Markdown heremkdocs material!!! note "Title" Markdown hereobsidian```ad-note Markdown here ```readthedocs.. note:: Markdown hereastro starlight:::tip Because Starlight is beta software, there will be frequent updates and improvements. Be sure to update Starlight regularly! :::就没两个一样的,叫我如何是好。并且搜索功能都奇差,index 对中文非常不友好,github 和 material 矮子里面拔长子。还不如 grep -rn ...所以软件们都自己做博客框架。每过几年总要迁移的,算了,人生苦短!Markdown 的不同方言之间用 python 脚本迁移也不难。I write articles to:软件用法和报错解决: 公开 SEO 友好,可贡献,可反馈(赞踩评论),可搜索,需树形课堂笔记: 介于 how-to 和生活之间:公开 SEO 友好,可搜索,SEO 友好,需树形记录生活感想和技巧,制定长期规划:公开 - 更近似于个人博客浏览到有用的文章存个链接:公开,可搜索不幸的是,有的文章介于生活和工作之间,比如随手修了一个服务器 bug,这个或许是可复现的。另外 how-to 目前就像我的个人博客捏。另外:私人备忘录(这个肯定要用手机备忘录)what i want页面元素类似于 github markdown 即可,最好支持 > [!NOTE] 和折叠要快,搜索也要快树形目录个人网站而不是集成网站,以利于被搜索到支持集成 ai,最好可定制化程度高类似 astr

引号的滥用

2024-09-25
0824julyfunnotes

我以前写的题解和某些公众号现在写的文章中,就有引号的滥用。例如:所以我们唯一要担心的就是同一个合数是否会被“另外某数 × p"以外的质数”再筛一次导致浪费时间。想要求出“第二站上下车到底有多少人”需要一些计算我当时只是想提高可读性才加的引号,并没有想过它为何能提升可读性。这里的引号的语义作用到底是什么?小学老师说引号作用是引用或着重标记,但此处并不是。我们说出或写出的语言,由于时间流动的单向和人类阅读的单线程,形式只能是一个序列。然而其含义其实是树形的,就和编译器的词法分析和 latex 等标记语言类似。试将本文第一句话表示为树形:(((我)((以前)写)的题解)中((就)有)((引号)的滥用))不论是听还是看文字,理解文字的过程隐含了树形的语法分析,理解的依据就是语言的语法习惯。然而中文并不是一个特别擅长讲语义进行良好结构化的语言——由于缺少从句和后置定语,中文语句可能比英文语句嵌套层数更深:You should understand the requirements that are important to customers. 你要理解对顾客而言重要的需求。想要求出“第二站上下车到底有多少人”需要一些计算: It takes some calculation to figure out how many people get on and off at the second station.人类很难理解嵌套层数很深的数据。我们还想出了各种办法来让数据扁平化,比如命令式编程语言中的临时变量。在本文的例子中,为了明示这种树形结构,我才使用了引号。有时候我会使用加粗来明示,和引号作用一致。引号的问题大量引号让文章更难阅读,而且你文章里虽然可以用引号,说话的时候总不能带上吧。为了保证你语言之优雅,我建议别过度依赖引号,而是找一找白话中文里更好的表达方式,比如拆成两个句子。有时候一句话让人难以理解,正是因为嵌套层数太深。为了求出第二站上下车有多少人,我们需要一些额外计算

编码器和执行器科普

2024-09-25
0824julyfunnotes

电机外围线圈(定子)产生的磁场推动内圈磁铁(转子)。如何知道转子角度有感编码器光: 小孔,照射(发光器 + 感光原件)ABZ: https://blog.csdn.net/weixin_43580890/article/details/134404950磁AMR / TMR 直接读磁场的角度,最多约 12 位精度,直接 SPI 通信连接到 MCU 上,用封装好的库就行游标,内码外码道两圈分段磁铁编码,提升精度,和游标卡尺同一个原理,也是有芯片(IC-Haus)通过 SPI 直接给 MCU感旋变:旋转变压器,转子上特殊形态,旋转时不同位置磁导率不一样 => 电压不一样 PCB 式电感编码器: 金属在运动,周边线圈感应涡流的大小无感高频注入法: 此方法主要利用电机自身的非理想特性对电机的转速和位置信号进行估计。主要原理是在电机定子侧注入高频电压或者高频电流信号,注入的高频信号在电机内会形成高频磁场。由于电机具有非理想特性,例如转子结构凸极性、转子饱和凸极性等,这种非理想特性会对高频磁场产生调制作用,使得电机定子侧产生和电机位置和转速相关的高频电压或电流信号,通过提取有效信号和解调制等方式得到电机的转速和位置信息。ref: https://blog.csdn.net/sy243772901/article/details/107780148伺服电机 = 电机 + 编码器 + 控制器 + 驱动器,闭环控制?舵机原理?各种线和接口GPI

第一性原理之为什么 Latex 比富文本更容易编辑和阅读

2024-09-25
0824julyfunnotes

第一性原理之为什么 Latex 比富文本更容易编辑和阅读在富文本中手动移动图片位置的体验不好,而且一般不好看。用 Latex 等语言则可以用标签指定居中等位置。拆解为什么,因为手动移动图片的自由度太高,信息量过大,而这个信息是人类通过鼠标移动没有办法精确控制的。比如手动将图片放到距离左边缘 30% 的位置,这里有用的信息就是距离左边缘 30%,而人手的移动引入了噪声,降低了信噪比。反之用标记语言排版,有两个优点:用 \centering width= 指定信息,随后无方差渲染。 => 阅读时信噪比大,所以美观易读由于信息量比富文本少,不用隐藏任何信息 => 对编辑友好想要在 Word 中高效美观地编辑,则需引入 limitations,减少自由度。比如为图片添加居中等标签。当然富文本编辑器都支持引入这些 limitations。在 Word 中通过鼠标点击加粗或居中等方式,是通过操作鼠标位置这一巨大信息来插入少量信息(即选中的文字两边添加了 bold 标签),所以这方面鼠标的效率会比键盘低。其他杂想我们在生活中习惯于用有方差的身体运动来输出少量信息。因此移动鼠标对于我们来说更容易上手。在编辑文本时,键盘比鼠标输出有效信息的效率更高 <= 键盘具有比手指略大的按键,通过类似于 16-QAM 的方式捕获了方带差的指尖运动, 编码成无方差信息,而鼠标的编码是在按钮这一环节才执行的。而你在 fps 里绝对不想用纯键盘移动视角,这时候鼠标输入信息的有效比增大了,而你的大脑接收视线时可以过滤掉一些噪声的。纯属瞎想。Don't mind these

装机日志

2024-09-25
0924julyfunnotes

引导程序华硕 B650M-K 主板从微软官网下载 win11 iso 镜像,用 Rufus 4.5.1 默认配置烧录启动盘主板 BIOS 设置打开 CSM 模式,CSM 内设置全选“仅 UEFI”。安全启动模式中,操作系统有“其他操作系统”和“Windows UEFI”,选择其他操作系统即可。重启进入安装程序,点击“现在安装”后提示“缺少计算机所需的介质驱动程序” 无法继续安装怎么解决的来着似乎是:进入安装页面,选择完语言后,出现找不到驱动的提示退回安装初始页面,拔下 U 盘换一个插口,再点击安装,就 OK 了ProblemsCSM 中若没有全选 UEFI,可能会出现启动时(非 BIOS)提示请设置为 UEFI,照做即可秘钥我是使用 win11 教育版秘钥激活软件Steam 认为未连接网络,即使开了 VPN?使用 Clash Verge Rev 的服务模式 + TUN MODE服务模式提示没有 vcruntime140.dll?下载安装 VC_redist.x64.exe,我这次是知乎上搜到的链接done

No more posts to load.