Latex写作方面:
项目相关背景:
(1)Vscode+Texlive环境,bib文件出现报错
(2)bib报错出现引文重复现象
,这个要通过二分法查找重复的引文位置,比较麻烦,比较难找
问题描述
项目中遇到的问题:
(1)报错信息为:
I was expecting a `,' or a `}'
原因分析:
可能的问题的分析:
(1)注意Vscode关于bib文件的报错一般的无法定位到对应的文件位置的,所以只能通过删减bib文件来找错,最后找到原来问题是出在我在Readpaper复制bibtex格式的引文的时候,它自动创建的关于引文的变量中间是加了空格
的,这个是不允许
的,变量名
的中间不能有空格
解决方案:
该问题的具体解决方案:
(1)将变量名中间的空格删除即可,重新开始四重编译就不会报错
问题描述
在使用Latex和SimpleTex复制公式的时候,出现了使用
\mathrm{m}_{2}\mathrm{l}_{2}
这种类型的公式就报错的现象,目前找到的解决办法是将这个\mathrm{}
删掉
\begin{equation}
\begin{split}
f_{2x}~=m_2\ddot{x}_{2g}~=m_2~(x+L\sin\theta_1~+l_2~\sin\theta_2)^{^{\prime\prime}}\\
{f_{2y}~-m_2g=m_2\ddot{y}_{2g}~=m_2~(L\cos\theta_1~+l_2~\cos\theta_2)^{^{\prime\prime}}}
\end{split}
\label{eq:seperate_force}
\end{equation}
然后还有一些因为公式太长而出现报蓝色警告以及超出PDF页面范围的BUG,可以通过//
换行的方式手动换行,也可以通过加入上图所示的\begin{split}
这种来解决
发现了一个很有趣的无论正负输入下
限制用户输入取值范围大小的新方法:将取值范围限制在-self.maxsteer到+self.maxsteer之间
def callback(self,data):
# w = v / r
self.x = data.linear.x / 0.3
# constrain the ideal steering angle such that the ackermann steering is maxed out
self.z = max(-self.maxsteer,min(self.maxsteer,data.angular.z))#用一句话就实现了对于正负不同情况下的取值范围限制,牛!
self.lastMsg = rospy.Time.now()
KITTI数据集中提供的pose的旋转矩阵所在的坐标系实际上前面相机的那个红色的坐标系,而不是车里面的绿色坐标系或者激光雷达的坐标系,而且从这个相机坐标系转化到激光雷达坐标系下需要使用pose文件夹下的calib.txt文件,其中有个Tr矩阵的12个元素,可以得到旋转和平移矩阵,然后将它右乘前面的pose中的TR矩阵,即可得到激光雷达里程计变换关系。
然后在ourpose.txt得到TR矩阵中,需要注意的是一行12个元素实际上是按行存储的TR矩阵,只需要在每一行的尾部加上0 0 0 1然后按行reshape成4*4即可使用,还是有点坑的
注意:在编写Arduino框架的代码时,绝对不能再setup和loop函数之前加[noreturn],这样会导致奇怪的全局变量的类对象,它的构造函数被反复重复执行的问题
更新Platformio工具链之后,如果出现始终无法导入Platformio项目的情况,可以参考这一篇文章,改一下platformio工具使用的pip的源
比较有效的Platformio项目导入慢的解决方法