pypose
v0.6.9

深度學習在機器人感知方面取得了巨大的成功,但是以數據為中心的性質在推廣到不斷變化的環境方面受到了影響。相比之下,基於物理的優化可以更好地推廣,但是由於缺乏高級語義信息和對手動參數調整的依賴,它在復雜的任務中的性能不佳。為了利用這兩個互補的世界,我們提出了Pypose:一個以機器人為導向的,基於Pytorch的圖書館,將深層感知模型與基於物理的優化技術相結合。我們的Pypose設計目標是通過整潔且組織良好的體系結構使其對用戶友好,高效且可解釋。使用命令式樣式接口,可以輕鬆地集成到現實世界的機器人應用中。
SO3 , SE3 , Sim3 , RxSO3so3 , se3 , sim3 , rxso3 LTI , LTV , NLSEKF , UKF , PFEPnPLQRIMUPreintegratorGaussNewtonLevenbergMarquardt想要更多功能嗎?在此處創建一個問題以請求新功能。

批處理謊言組操作的效率和記憶比較(我們將Theseus性能作為1×)。
有關效率比較的更多信息,請參閱我們的論文以獲取Pypose。
pip install pypose在Ubuntu,MacOS或Windows上,安裝Pytorch,然後運行:
pip install -r requirements/runtime.txtgit clone https://github.com/pypose/pypose.git
cd pypose && python setup.py developpytest確保上述安裝是正確的。
去貢獻
> >> import torch , pypose as pp
> >> # A random so(3) LieTensor
>> > r = pp . randn_so3 ( 2 , requires_grad = True )
so3Type LieTensor :
tensor ([[ 0.1606 , 0.0232 , - 1.5516 ],
[ - 0.0807 , - 0.7184 , - 0.1102 ]], requires_grad = True )
> >> R = r . Exp () # Equivalent to: R = pp.Exp(r)
SO3Type LieTensor :
tensor ([[ 0.0724 , 0.0104 , - 0.6995 , 0.7109 ],
[ - 0.0395 , - 0.3513 , - 0.0539 , 0.9339 ]], grad_fn = < AliasBackward0 > )
>> > p = R @ torch . randn ( 3 ) # Rotate random point
tensor ([[ 0.8045 , - 0.8555 , 0.5260 ],
[ 0.3502 , 0.8337 , 0.9154 ]], grad_fn = < ViewBackward0 > )
>> > p . sum (). backward () # Compute gradient
>> > r . grad # Print gradient
tensor ([[ - 0.7920 , - 0.9510 , 1.7110 ],
[ - 0.2659 , 0.5709 , - 0.3855 ]])scheduler的兩個使用選項,每個選項都可以獨立工作。 > >> from torch import nn
> >> import torch , pypose as pp
> >> from pypose . optim import LM
> >> from pypose . optim . strategy import Constant
> >> from pypose . optim . scheduler import StopOnPlateau
> >> class InvNet ( nn . Module ):
def __init__ ( self , * dim ):
super (). __init__ ()
init = pp . randn_SE3 ( * dim )
self . pose = pp . Parameter ( init )
def forward ( self , input ):
error = ( self . pose @ input ). Log ()
return error . tensor ()
> >> device = torch . device ( "cuda" )
> >> input = pp . randn_SE3 ( 2 , 2 , device = device )
> >> invnet = InvNet ( 2 , 2 ). to ( device )
> >> strategy = Constant ( damping = 1e-4 )
> >> optimizer = LM ( invnet , strategy = strategy )
> >> scheduler = StopOnPlateau ( optimizer , steps = 10 , patience = 3 , decreasing = 1e-3 , verbose = True )
> >> # 1st option, full optimization
>> > scheduler . optimize ( input = input )
> >> # 2nd option, step optimization
>> > while scheduler . continual ():
loss = optimizer . step ( input )
scheduler . step ( loss )
> >> # Note: remove one of the above options for usage!有關更多用法,請參見文檔。有關更多應用程序,請參見示例。
如果您使用柔軟,請引用下面的論文。您也可以在這裡下載。
@inproceedings { wang2023pypose ,
title = { {PyPose}: A Library for Robot Learning with Physics-based Optimization } ,
author = { Wang, Chen and Gao, Dasong and Xu, Kuan and Geng, Junyi and Hu, Yaoyu and Qiu, Yuheng and Li, Bowen and Yang, Fan and Moon, Brady and Pandey, Abhinav and Aryan and Xu, Jiahe and Wu, Tianhao and He, Haonan and Huang, Daning and Ren, Zhongqiang and Zhao, Shibo and Fu, Taimeng and Reddy, Pranay and Lin, Xiao and Wang, Wenshan and Shi, Jingnan and Talak, Rajat and Cao, Kun and Du, Yi and Wang, Han and Yu, Huai and Wang, Shanzhao and Chen, Siyu and Kashyap, Ananth and Bandaru, Rohan and Dantu, Karthik and Wu, Jiajun and Xie, Lihua and Carlone, Luca and Hutter, Marco and Scherer, Sebastian } ,
booktitle = { IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) } ,
year = { 2023 }
}更多描述菌素的論文:
@inproceedings { zhan2023pypose ,
title = { {PyPose} v0.6: The Imperative Programming Interface for Robotics } ,
author = { Zitong Zhan and Xiangfu Li and Qihang Li and Haonan He and Abhinav Pandey and Haitao Xiao and Yangmengfei Xu and Xiangyu Chen and Kuan Xu and Kun Cao and Zhipeng Zhao and Zihan Wang and Huan Xu and Zihang Fang and Yutian Chen and Wentao Wang and Xu Fang and Yi Du and Tianhao Wu and Xiao Lin and Yuheng Qiu and Fan Yang and Jingnan Shi and Shaoshu Su and Yiren Lu and Taimeng Fu and Karthik Dantu and Jiajun Wu and Lihua Xie and Marco Hutter and Luca Carlone and Sebastian Scherer and Daning Huang and Yaoyu Hu and Junyi Geng and Chen Wang } ,
year = { 2023 } ,
booktitle = { IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) Workshop } ,
}