- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在实现一些来自 [1]和 [2] ,我发现需要计算 Jc_dot。例如,在 [1] 中,他们将线性化系统投影到接触约束的零空间(第二页右上角)。据我了解,[2] 中的方法类似,但扩展到时变情况。
从阅读另一个关于这个主题的 stackoverflow 问题,[Derivative of jacobian in drake] ,看来德雷克没有办法直接计算这个矩阵。
我想知道计算 Jc_dot 的最佳方法是什么?我目前获得 Jc_dot 的方法是通过迭代将速度元素之一设置为 1 并调用 drake 中的 CalcBiasSpatialAcceleration 函数。但是,当我检查 Jc 和 Jc_dot 的排名时,它们是不同的,我找不到为什么会这样的原因。因此,我怀疑我的方法可能存在一些问题。
引用实现如下:
def makeJc_dot(plant, context, points, p_BoBP_B = np.zeros(3)):
frame_world = plant.world_frame()
v = np.zeros(num_vel)
Jc_dot = np.zeros((6*len(points), num_vel))
for index, point in enumerate(points):
frame_B = plant.GetFrameByName(point)
for col in range(num_vel):
v[col] = 1.
plant.SetVelocities(context, v)
Sp_acc = plant.CalcBiasSpatialAcceleration(context,
JacobianWrtVariable.kV,
frame_B,
p_BoBP_B,
frame_world,
frame_world)
Jc_dot[0 + 6*index:3 + 6*index, col] = Sp_acc.rotational()
Jc_dot[3 + 6*index:6 + 6*index, col] = Sp_acc.translational()
v[col] = 0
return Jc_dot
最佳答案
我同意您无法使用您提出的方法获得预期的结果。 Jdot*v
项不仅取决于此处可见的 v
项中的速度。 Jdot
本身也依赖于速度,因为\dot{J} =\sum_i dJdqi(q)\dot{qi}
.
一种应该运作良好且相对干净的方法是在 CalcJacobianSpatialVelocity
上使用 autodiff 来获取 dJdqi
,然后自己计算总和。或者,如果您的 autodiff 功能足够强大,那么您甚至可以初始化 autodiff q
变量以在其导数中包含 dqdt
;这样你就可以避免循环。
This should be a reasonable tutorial对于那个 autodiff 工作流程。
关于drake - 接触雅可比的时间导数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74571744/
现在我使用 Jacoco 来了解整个测试套件的覆盖率,但我需要按测试用例分解覆盖率信息。 我需要创建一个程序来执行此操作,因为我们需要自动化大型套件。我想这应该通过使用 API 来完成... 有办法做
我有一个包含多个模块的 Java-Gradle 项目,这意味着多个 build.gradle 文件和多个测试文件夹。 我有一个主 build.gradle,我成功地将所有多 jacoco 报告聚合到一
我有一个 Maven 项目,我想使用 jacoco 进行代码覆盖。这是我的 pom 的相关部分 org.jacoco
当我运行 gradlew test jacocoTestReport 任务 jacocoTestReport 运行并且我得到一份测试报告。 当我运行 gradlew integTest jacocoT
尝试使用离线检测通过 jacoco 获取覆盖范围(无法使用即时检测:由于 powermock 测试用例)的 Maven 项目。将 jacocoagent.jar 添加到 Surefire 插件的类路径
我是一名优秀的程序员,十分优秀!