高翔slam14讲 笔记三 李群与李代数

由于在运动中旋转除了表示外,还需要对它进行估计和优化,而旋转矩阵自身带有约束,优化会带来很大的困难,所以引出李代数来对其进行优化!

  1. 引出群的概念:
    在这里插入图片描述
    变换矩阵和旋转矩阵对于乘法构成了群SO3 SE3

  2. 由群 引出李群的概念,这里的SO3,SE3都可以被称为李群,具有连续(光滑)性质的群,SO3,SE3就是表示刚体在空间上的运动,这个就是连续的,所以这两个都是李群

  3. 因为这个李群在乘法上是封闭的,这个表明在乘法上具有良好的性质,但是在加法上并不是,没有加法,所以难以取极限,求导等操作 这里会引出李代数

  4. 在这里插入图片描述
    在这里插入图片描述
    可以完成对以上的公式的推导
    在这里插入图片描述
    所以这里就直接存在了映射关系
    这里记忆可以一阶上面的符号为李代数 so3

  5. 每一个李群都有一个李代数与之对应
    这里可以知道李代数的概念
    在这里插入图片描述
    总结:
    在这里插入图片描述
    用于表达旋矩阵的导数,刚好弥补了李群无法确定导数的这一个缺点
    同样也可解释se3这个李代数

  6. 已知李代数的定义,即形式,现在我们需要解决映射关系是怎么样去计算的
    通过一系列公式,得到指数映射为这个式子

在这里插入图片描述
SE3为同样的推导
得出下面这个总体框架图

在这里插入图片描述

  1. 引入了李代数之后就有了求导的途径

当so3李代数进行加法时,我们需要知道这个so3是一个怎么样的计算
在这里插入图片描述
由上面可以引出左乘与右乘模式,对一个旋转矩阵R2左乘一个微小的旋转矩阵,可以近似的看做上述加上一项这样的数

在这里插入图片描述

通过以上的举例得到 李群乘法与李代数加法的关系
在这里插入图片描述
在这里插入图片描述

1. 这里再引出重要的点,我们引出李代数是因为李群没有加法,李代数可以,这样就可以为求导做铺垫,所以如何描述SO3上李代数求导是一个重要的问题,同时有着比较重要的实际意义

BCH公式:so3上做李代数的加法时,并不是对应这两个SO3两个矩阵的乘积
在这里插入图片描述
通过第一个式可以看到,做成一个微小的旋转矩阵R1,,可以近似看做加上一项,
J的等式如下:
在这里插入图片描述

引出求导
在这里插入图片描述

这里过于复杂,只好看到实例,运用到实例之后再回来推了,总结不下去了,害!

### 解决 Pandas 中 `list index out of range` 错误 当遇到 `IndexError: list index out of range` 的错误时,通常是因为尝试访问列表中不存在的索引位置。对于 Pandas 数据处理中的这种情况,可以采取多种措施来预防和解决问题。 #### 1. 清理 Excel 文件多余行列 如果问题是由于导入的 Excel 文件含有大量空白行或列引起,则可以在读取前清理这些不必要的部分: ```python import pandas as pd # 设置参数 skiprows 和 usecols 来跳过无用的数据 df = pd.read_excel('path_to_file.xlsx', sheet_name=1, skiprows=lambda x: x in [0], usecols="A:D") ``` 此操作会忽略指定的行并仅加载特定列,从而减少潜在的索引越界风险[^3]。 #### 2. 检查数据长度一致性 确保用于创建 DataFrame 或者执行其他操作的相关列表具有相同长度非常重要。如果不一致,在遍历过程中可能会触发索引异常。因此建议先验证各序列大小再继续后续逻辑: ```python if len(list_a) != len(list_b): raise ValueError("Lists must be the same length.") else: df = pd.DataFrame({'Column_A': list_a, 'Column_B': list_b}) ``` 这段代码会在发现两个列表不匹配的情况下抛出自定义异常而不是默认的索引溢出警告[^5]。 #### 3. 使用 try-except 处理可能发生的错误 为了使程序更加健壮,可以在可疑区域周围包裹 `try...except` 块捕获任何可能出现的索引超限情况,并给出更友好的反馈信息给用户: ```python def safe_get(lst, idx, default=None): """Safely retrieves an element from a list.""" try: return lst[idx] except IndexError: print(f"Warning: Index {idx} is out of bounds for this list.") return default safe_value = safe_get(my_list, some_index) ``` 这种方法不仅能够防止崩溃还能提供额外的日志记录功能帮助调试[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值