Hexo博客的恢复
1. 安装Nodejs 从官网下载安装包 curl -fsSL https://deb.nodesource.com/setup_22.x | sudo bash - sudo apt-get install -y nodejs 2. 安装Hexo sudo npm install hexo-cli -g sudo npm install hexo -g 3. 克隆项目 将github项目下载到本地并拉取子模块 git clone git@github.com:WbLv66/hexo.git cd hexo git submodule update --init 4. 恢复博客 npm install npm install hexo-deployer-git 参考 Hexo博客的备份与恢复
WiFI和有线连接优先级
目的:为了实现同时连接WiFi和有线网络时,优先使用WiFi连接互联网 1. 查看当前路由信息 sudo ip route 数字越大的,优先级越低 2. 查看当前连接名称 nmcli connection show 找到有线连接和无线连接对应的连接名称 3. 设置无线优先 sudo nmcli connection modify "无线名称" ipv4.route-metric 10 sudo nmcli connection modify "无线名称" ipv6.route-metric 10 4. 设置有线备用 sudo nmcli connection modify "有线名称" ipv4.route-metric 100 sudo nmcli connection modify "有线名称" ipv6.route-metric 100 5. 应用更改 sudo nmcli connection up "无线名称" sudo nmcli connection up "有线名称" 6. 验证 ip route show default 参考文章 解决Linux系统WiF...
ROS笔记
1. 将Subscriber类作为类中成员变量 在类中使用ros::Subscribe需要参考以下格式:kNH->subscribe("话题", 1, &类::回调函数, this) 2. 节点句柄 2.1 放于main()函数中 如果将节点句柄的构造放于main()函数中,那么需要通过构造函数的参数接口传入类中,过于冗余 2.2 作为类的成员变量 在构造函数中,如果需要通过调用节点句柄param方法获取参数并传入基类的构造函数时,会出现问题。因为基类的构造函数是先于子类成员的初始化的,所以在进行基类构造的时候节点句柄还未初始化,无法获取正确的参数 2.3 作为全局变量 如果将节点句柄的构造作为全局变量,会导致节点句柄的构造先于节点初始化,出现报错 2.4 作为全局智能指针 将节点句柄的构造作为全局智能指针,并初始化为空指针,在main()函数中节点初始后为智能指针赋值,实现延迟加载
C++踩坑记录
1. 数组智能指针 在创建指向数组的智能指针时需要注意传入模板的类型需要加中括号,例如创建八个元素的整数数组指针std::unique_ptr<int[]> ptr = std::make_unique<int[]>(8) 2. 移位操作 移位运算符即按二进制形式把所有数字向左移动相应的位数,高位舍弃,空位补0。因此移位后返回的字符宽度与需要移位的数字字符宽度保持一致 注意移动的位数不得超过变量的字符宽度,不然会导致未定义行为 此时便出现了易错点:移位操作时存在整数提升现象,即小于或等于int的整数类型在运算时会被自动提升为int或unsigned int(当int不够存储原类型数据),这样是不安全的,因此需要在移位前先显示进行类型转换 参考文章C++ 整数提升与移位陷阱 参考文章C++移位运算符详解
fast-lio2调试笔记
1. 为点云保存到地图中增加触发条件 1.1 添加控制参数 // 在现有全局变量区域添加 bool start_save_pcd = false; // 控制是否开始保存点云 1.2 修改publish_frame_world函数 将现有的publish_frame_world函数替换为以下版本: void publish_frame_world(const ros::Publisher & pubLaserCloudFull) { if(scan_pub_en) { PointCloudXYZI::Ptr laserCloudFullRes(dense_pub_en ? feats_undistort : feats_down_body); int size = laserCloudFullRes->points.size(); PointCloudXYZI::Ptr laserCloudWorld( \ new Poi...
网站自动申请续签SSL证书
1. 安装 acme.sh 使用root账户登录阿里云,然后安装此项目(由于阿里云国内服务器无法访问github,所以要使用gitee拉取项目,可以参考官方文档) git clone https://gitee.com/neilpang/acme.sh.git cd acme.sh ./acme.sh --install -m my@example.com my@example.com替换成自己邮箱 重新加载环境变量和切换CA证书类型 # 重新加载环境变量 source ~/.bashrc # CA证书类型默认使用ZeroSSL,切换成Let's Encrypt acme.sh --set-default-ca --server letsencrypt 2. 配置阿里云DNS API 一次选择阿里云控制台 - 访问控制 RAM - 身份管理 - 用户 - 创建用户 填写登录名称,勾选使用永久AccessKey访问 分别复制AccessKey ID和AccessKey Secret的值,并保存好 然后点击添加权限。搜索DNS,选择AliyunDNSFullAccess 3. 申...
Livox-mid360激光雷达运行fast-lio2
所用的环境: Linux版本:Ubuntu 20.04 ROS版:Noetic 1. mid-360配置 将mid-360通过网口与电脑相连,然后给mid360上电 设置有线连接的IPv4地址: 地址设为192.168.1.50 子网掩码设为255.255.255.0 网关设为192.168.1.1 2. 安装Livox SDK2 2.1 源码安装 git clone https://github.com/Livox-SDK/Livox-SDK2.git cd Livox-SDK2/ mkdir build && cd build cmake .. make -j sudo make install 2.2 运行Livox-SDK2示例 进入Livox-SDK2/samples/livox_lidar_quick_start这个文件夹,找到mid360_config.json,把 host_ip 改成 192.168.1.50 进入Livox-SDK2/build/samples/livox_lidar_quick_start这个文件夹运行如下代码 ./...
第十一章TRPO算法
TRPO算法的重点体现在策略函数的更新方式上 策略目标部分理论推导请参考强化学习教程相关章节 策略函数差异的约束主要体现在线性搜索部分 共轭梯度法的讲解见求解对称正定线性方程组的共轭梯度法
第十章Actor-Critic算法
虽然采用时序差分法来指导网络学习,但是此算法仍是在一个episode结束后才进行网络更新