自车坐标系下的物体相对和绝对位置和速度计算

自车坐标系

自车坐标系,也叫车身坐标系,通常有一下两种常用定义:

坐标系–右-前-天坐标(RFU)

在这里插入图片描述
车辆坐标系的参数定义如下:

  • X轴:面向车辆前方,右手所指方向

  • Y轴:车辆前进方向

  • Z轴:与地面垂直,指向车顶方向

车辆参考点原可以为之心中心或者后轴中心,通常取后轴中心。 百度的Apollo项目采用了以上车身坐标系。

坐标系–前-左-上(FLU)

与上述坐标系对应的还有“前-左-上(FLU):
在这里插入图片描述

定义如下

  • X轴:车辆前进方向
  • Y轴:面向车辆前方,左手所指方向
  • Z轴:与地面垂直,指向车顶方向

该坐标系为SAEJ182的定义,也是国标(GB/T 19234 )的定义,因此常被传统车厂采用。

位置换算

这里以自车坐标系为原点,自车的x、y、z轴作为大地坐标系即绝对坐标系的x、y、z轴,则自车坐标系与大地坐标系重叠,因此他车或者障碍物的绝对坐标即为在自车坐标系中的相对坐标(x,y)。

P ( X a , Y a ) = P ( X r , Y r ) P(X_a,Y_a) = P(X_r,Y_r) P(Xa,Ya)=P(Xr,Yr)

速度换算

示意图

在这里插入图片描述

情形一

不考虑自车偏航角速度,不考自车虑横向速度,不考虑他车旋转
此种情形较简单,已知他车或障碍物的在自车坐标系下的相对速度为
( V r x , V r y ) (V_rx,V_ry) (Vrx,Vry)

由于自车只考虑纵向速度,不考虑横向速度和旋转,自车在大地坐标系(注意与自车坐标系重合)的速度为
( V e x , 0 ) (V_ex,0) (Vex,0)

因此他车在大地坐标系的速度为
( V a x , V a y ) = ( V e x + V r x , V r y ) (V_ax,V_ay) = (V_ex+V_rx,V_ry) (Vax,Vay)=(Vex+Vrx,Vry)

情形二

考虑自车偏航角速度、不考虑他车偏航角速度
已知他车或障碍物的在自车坐标系下的坐标为
P ( x a , y a ) = P ( x r , y r ) P(x_a,y_a) = P(x_r,y_r) P(xa,ya)=P(xr,yr)

已知他车或障碍物的在自车坐标系下的相对速度为
( V r x , V r y ) (V_rx,V_ry) (Vrx,Vry)

自车在大地坐标系(注意与自车坐标系重合)的速度为
( V e x , 0 ) (V_ex,0) (Vex,0)

偏航角速度(不考虑加速度)为
w w w

根据旋转坐标系转换原理,则他车在大地坐标系的速度为
( V a x , V a y ) = ( V e x + V r x − w Y r , V r y + w X r ) (V_ax,V_ay) = (V_ex+V_rx-wY_r,V_ry+wX_r ) (Vax,Vay)=(Vex+VrxwYr,Vry+wXr)
本情形较为实际,作为计算他车或者障碍物的绝对速度的常用形式。

小结

本文总结了车身坐标系中两种常见的坐标系参考形式,并根据根据两种情形总结了在他车在本车坐标系下相对位置与速度和在绝对坐标系下的位置和速度的关系,给出了计算公式。
如果想进一步了解旋转坐标系和静止坐标系中的位置、速度和加速度关系,可以阅读博文
旋转坐标系解读——基于Wikipedia

参考

https://zhuanlan.zhihu.com/p/59743409.

  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
编辑文字、发布内容等功能: 1. 布局文件:activity_publish.xml ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:相机坐标系物体空间姿态的计算通常涉及到相机的内参、外参以及图像中物体位置信息等。下面是一个简单的计算流程: 1. 首先需要确定orientation="vertical"> <ImageView android:id="@+id/image_preview" android:layout_width="match_parent" android:相机的内参矩阵K,包括相机的焦距f、主点坐标(cx,cy)等参数layout_height="wrap_content" android:scaleType="centerCrop" android:adjustViewBounds="true" android:src="@。 2. 然后需要确定相机的外参矩阵[R|t],其中R为旋转矩阵,t为drawable/placeholder_image" /> <Button android:id="@+id/select_image_button" android:layout_width="wrap_content" 平移矩阵,它们描述了相机坐标系与世界坐标系之间的关系。 3. 接 android:layout_height="wrap_content" android:text="选择图片" /> <EditText android:id="@+id/text_input下来需要获取物体在图像中的位置信息,可以通过一些目标检测或者特征点匹配" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入内容" /> 的方法来实现。 4. 根据相机内参、外参和物体在图像中的位置信息,可以 <Button android:id="@+id/publish_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="发布" /> </LinearLayout> ``` 2. Activity 类:PublishActivity.kt ```kotlin class计算物体在相机坐标系下的位置。 5. 最后,可以根据物体在相机坐 PublishActivity : AppCompatActivity() { private lateinit var imagePreview: ImageView private lateinit var selectImageButton: Button private lateinit var标系下的位置计算物体的空间姿态,例如欧拉角或四元数等形式。 需要 textInput: EditText private lateinit var publishButton: Button private var selectedImage: Uri? = null override fun onCreate注意的是,这里的计算过程只是一个简单的示例,实际应用中可能需要考虑更多的因素,例如镜头畸变等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值