Ubuntu输入法
1. 卸载系统默认的IBus 系统自带的IBus不具备记忆功能,建议卸载防止与新安装的Fcitx5冲突 sudo apt purge ibus ibus-gtk ibus-gtk3 2. 安装Fcitx5和RIME sudo apt install -y fcitx5 fcitx5-chinese-addons fcitx5-rime fcitx5-config-qt 设置环境变量 vim ~/.bashrc # >>>Fcitx5>>> export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export INPUT_METHOD=fcitx export SDL_IM_MODULE=fcitx export GLFW_IM_MODULE=ibus # <<<Fcitx5<<< 刷新 source ~/.bashrc 启动服务并查看状态 # 启动服务 fcitx5 -d # 检查状态 fcitx5-diagnose 3. 安装白霜拼音 ...
LSS-Based
1. BEV相关概念 1.1 BEV网格 在自车周围俯视平面x-y方向划分nnn个网格,每个网格表示特定物理距离ddd米。自车中心(自动驾驶的的车辆中心一般指后轴中心)在网格中心位置。类似于机器人中的栅格地图 1.2 BEV特征图 在BEV网格的所有格子中都填充CCC个通道的特征值作为内容(contex),就组成了BEV特征图。每个格子中CCC通道特征值都要来自格子所对应空间的特征信息,而不是胡乱地填充其它地方的特征信息 BEV方法的核心目标是:为BEV网格中每个格子组织并填充合适的特征信息,得到BEV特征图 2. LSS GitHub ECCV 2020 2.1 图片预处理 通过CNN网络从原始图片中提取特征,特征为长度为CCC的向量,于是预处理后得到[B,N,H,W,C][B, N, H, W, C][B,N,H,W,C]的特征张量,其中BBB是Batch Size,NNN是相机个数H,WH, WH,W是特征图大小 2.2 Lift升维 从2D图像中恢复图像的深度信息,这里恢复的深度信息并非确定的值,而是概率分布。文中将深度离散为4m−44m4m-44m4m−44m中步长...
Model Predictive Control via Probabilistic Inference: A tutorial and survey
GitHub Annual Reviews in Control 2. 我们是想通过求解最优控制问题得到最优控制输入序列u0:T−1∗\bm{u}_{0:T-1}^*u0:T−1∗和对应的状态序列x0:T∗\bm{x}_{0:T}^*x0:T∗ minx0:T,u0:T−1 J(x0:T,u0:T−1)s.t. xt+1=f(xt,ut),∀t∈{0,⋯ ,T−1}\begin{align*} \min _{\bm{x}_{0:T},\bm{u}_{0:T-1}} \ & J(\bm{x}_{0:T},\bm{u}_{0:T-1}) \\ \text{s.t.} \ & \bm{x}_{t+1}=f(\bm{x}_t,\bm{u}_t),\forall t \in \left\{ 0,\cdots ,T-1 \right\} \end{align*} x0:T,u0:T−1min s.t. J(x0:T,u0:T−1)xt+1=f(xt,ut),∀t∈{0,⋯,T−1} JJJ代表代价函数,xt\bm{x}_txt和ut\bm{...
A New Approach to Time-Optimal Path Parameterization Based on Reachability Analysis
GitHub TRO Conda TOPP-RA算法解决的问题是,再给定一条路径后,怎么在不违反动力学约束的情况下跑完这条路。即路径的时间分配 TOPP-RA的代码库在逐渐放弃对Python的支持,建议使用C++版本 1. 简介 之前关于TOPP两种主流方法为TOPP-NI(数值积分)和TOPP-CO(凸优化) TOPP-NI方法速度快,但是实现困难,并且鲁棒性差;TOPP-CO方法鲁棒性强,但是速度慢,这篇论文解决了二者的不足 2.
Learning Agile Gate Traversal via Analytical Optimal Policy Gradient
Arxiv 1. 介绍 四旋翼是欠驱动的,平移和旋转动力学是耦合的,因此,在受限空间内进行运动规划和控制很有挑战性。穿过窄门是一个典型且要求很高的任务,需要非常灵活的飞行、精确的姿态控制,以及严格遵守时空约束。这个任务被广泛用作评估敏捷运动规划和控制方法的标准 2. 问题提出 跟踪参考轨迹的MPC被定义为 π(x)=arg minξ J(ξ)=∑k=0N−1c(xk,uk)+cN(xN)s.t. xk+1=f(xk,uk),f(xk,uk)≤0,gN(xN)≤0,x0=xinit\begin{align*} \pi(x)= \argmin _{ \xi} \ &J(\xi)= \sum_{k=0}^{N-1} c(\bm{x}_k,\bm{u}_k)+c_N(\bm{x}_N) \\ \text{s.t.} \ & \bm{x}_{k+1}=f(\bm{x}_k,\bm{u}_k), \\ & f(\bm{x}_k,\bm{u}_k) \leq 0, \\ & g_N(\bm{x}_N) \leq 0, \\ & \bm{x}_0=\...
OptNet: Differentiable Optimizationasa Layerin Neural Networks
此论文通过隐式方法将优化问题表达为神经网络中的一层,它的内部不是传统意义上的神经元堆叠,不是包含全连接层、激活函数等结构,而是一个特殊的“可学习的可微优化层” 通过理论推导得到它的前向传播和反向传播的公式表达,并不需要定义它的内部结构 2. 相关研究 使用神经网络解决受限类别的优化问题的整体思路一般可以分为四种 基于能量的学习方法(Energy-based learning methods) 总体思路为:在训练过程中将能量函数在观测数据流形附近调低,而在其他地方调高。缺点:一些问题中可能没有参测数据;可能会出现不稳定问题 解析法(Analytically) 如果能找到优化问题的解析解,那么梯度一般也可以解析地计算出来。缺点:大多数问题没有解析解 展开(Unrolling) 将优化问题的迭代求解过程近似展开为神经网络的结构。缺点:展开操作会增加网络的复杂性和深度;对于有约束的问题可能难以展开 最小化操作求导(Argmin differentiation) 类似本文的操作,对argmin问题进行微分 3. OptNet:在神经网络中解决优化问题 本文重点研究二次规划问题 minz ...
Collision Detection Between Convex Objects Using Pseudodistance and Unconstrained Optimization
Δ⊂Rn\Delta \subset \mathbb{R} ^nΔ⊂Rn表示凸物体
NeuPAN代码解读
1. Dune部分的网络结构是在obs_point_net.py中定义的,Linear+LayerNorm+Tanh代表λ\lambdaλ的更新过程;Linear+ReLU代表μ\muμ的更新过程,交替重复三次得到μ\muμ,而λ\lambdaλ则通过等式约束条件计算得到 在计算损失函数时会用到机器人本体的姿态即RRR,姿态是随机生成的 2. 优化问题构建 加粗代表变量 2.1 nrmp 定义变量variable_definition d\bm{d}d 安全距离 尺寸为1×T1 \times T1×T s\bm{s}s 状态 尺寸为3×(T+1)3 \times (T+1)3×(T+1),代表t0−Tt_0 - Tt0−T u\bm{u}u 控制输入 尺寸为3×T3 \times T3×T,代表t1−Tt_1 - Tt1−T 定义参数parameter_definition sss 预测状态 尺寸为3×(T+1)3 \times (T+1)3×(T+1) q∘s♢q \circ s^\diamondsuitq∘s♢ 权重乘以参考状态 尺寸为3×(T+1)3 \times...
RDA代码解读
1. 重要函数 def is_convex_and_ordered(self, points: NDArray[np.float64]) -> tuple[bool, str] 这个函数的作用是判断按照顺序排列的顶点是否构成凸集,并判断点是顺时针排列"CW"还是逆时针排列"CCW" 实现思路:按顺序取三个点o,a,bo,a,bo,a,b,判断oa→\overrightarrow{oa}oa和ob→\overrightarrow{ob}ob的叉积,如果所有叉积同号则说明aaa点在ob→\overrightarrow{ob}ob的外侧,那么所有内角都为凸角,同时根据叉积的正负还可以判断点是顺时针排列(负)还是逆时针排列(正) def gen_inequal_global(self, vertex: NDArray[np.float64])-> tuple[NDArray[np.float64], NDArray[np.float64]] 此函数的作用是根据顶点生成半空间不等式Ax≤b\bm{Ax} \leq \bm{b}Ax≤b 实...