风之万里
刚看完十二国记,名字取自那里。留存作为我在这儿学习的记录.
平台robosuite- 优点:有不少成果,比较全面
- 缺点:太古老了
- 平台genesis
- 。。。
- 数据集 https://kaldir.vc.in.tum.de/scannetpp/ 需要油箱和签字,麻烦
- https://github.com/apple/ml-hypersim?tab=readme-ov-file 数据集,感觉全市图像数据,能用?
genesis
- 在测试它的quat
- franka定义的quat
- (1,0,0,0) 面向(1,0,0)
- none 面向(1,0,0)
- (0,0,0,1) 面向(-1,0,0) 绕z轴旋转180度
- 那link呢
- (-0.7,0,0.7,0)能实现头绕y轴逆时针旋转270度
- 感觉我现在倒是能转了,就是有点奇怪,问题还是示例教程里面那两个(0,1,0,0),得搞清楚
- franka定义的quat
- quat能搞定,接下来是velocity
- 为什么它会有那么大的转动速度
- 确定它只能沿着一个方向旋转,逆时针270度
- 那我就看不懂一开始的旋转了,不管怎么样也不是旋转180度吧
- 必须搞清楚计算ik的时候quat是什么
- 一开始运行(1,0,0,0)不认
- (0,1,0,0)和(0,0,)
- 居然是位置的问题,
- 虽然还不是很理解quat,但是大概懂了(吧)
- quat怎么计算的
装载物体模型
- 支持什么格式? urdf、mjcf
- github
benchmark上有一些抓取的代码,学习一下看怎么引入文件、增强稳定性。
- Grasping with path
following这部分的效果不错,没我的那么生硬:就是control_dofs_position的时候用
1
2
3
4for i in range(500):
if i % 2 == 0: # match maniskill's 50hz control freq
franka.control_dofs_position(init_qpos + (target_qpos - init_qpos) * i / 500, motors_dof)
scene.step() - 引入文件:大部分都是urdf
- Grasping with path
following这部分的效果不错,没我的那么生硬:就是control_dofs_position的时候用
- 找场景/物体模型
- scannet获取不方便,而且不是urdf格式的,感觉很奇怪
- urdf object 有urdf格式的数据集,但是没有任务
- 先写一个再说吧,写一个举起物体的
- git@github.com:c-yiting/pybullet-URDF-models.git 获得urdf格式
- 物体有奇怪的碰撞:collision的问题,物体位置高一点
怎么抓着一个东西移动? 我受不了了,它一开始居然是向上的,怪不得要(0,1,0,0) 好麻烦,今天必须要写完至少一个任务。
不能用panda hand,用灵巧手,dex hand?掏出我以前看过的BI-DEXHands
shadow hand
- 怎么获取不麻烦,可以shaow hand company找或者网上一堆资源orz
- 如何控制dof
- 初始dof可以知道
- 中间的怎么运算 motion_plan应该可以吧
- 什么样的指令能转换成期望的dof
- 找资源ing
- Shadow-Hand-Controller
- 最后的要求:只有7个动作
- 通过行为克隆和强化学习让机器人最后支持7个特定的指令
- mujoco的
- 那它的dof数据从哪来?我是说输入指令后模型会给出control序列(20个)
- Shadow-Hand-Controller
安装ompl出问题,OMPL wheels are built only for glibc >=2.28
不能升级系统,试试自己编译吧
OMPL编译过程,用1.16.0版本
- 下载source code:wget https://github.com/ompl/ompl/archive/refs/tags/1.6.0.tar.gz
- tar -xzvf 1.6.0.tar.gz
- cd ompl-1.6.0
- 安装dependency
- Boost (version 1.68 or higher)
- 安装目录/application mkdir boost cd boost
- 下载tar.gz格式 wget https://archives.boost.io/release/1.70.0/source/boost_1_70_0.tar.gz
- tar -xvzf boost_1_70_0.tar.gz
- cd boost_1_70_0
- ./bootstrap.sh --prefix=/data/zly/application/boost
- ./b2 install --prefix=/data/zly/application/boost -j$(nproc)
echo 'export BOOST_ROOT=/data/zly/application/boost' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=$BOOST_ROOT/lib:$LD_LIBRARY_PATH' >> ~/.bashrc echo 'export CPATH=$BOOST_ROOT/include:$CPATH' >> ~/.bashrc echo 'export LIBRARY_PATH=$BOOST_ROOT/lib:$LIBRARY_PATH' >> ~/.bashrc
- source ~/.bashrc
- echo $BOOST_ROOT 出现/data/zly/application/boost 即成功
- CMake (version 3.12 or higher)
- cmake --version 输出版本不够,还得安装高级的
- mkdir cmake(还在/application目录下)
- wget https://cmake.org/files/v3.18/cmake-3.18.0.tar.gz
- tar -zxvf cmake-3.18.0.tar.gz
- cd cmake-3.18.0
- ./bootstrap --prefix=/data/zly/application/cmake
- make -j$(nproc) # 使用所有可用的 CPU 核心进行并行编译,加速编译过程
- make install
- Eigen (version 3.3 or higher)
- emm一看就没安装
- 继续在/application/eigen目录下安装
- tar -xzvf eigen-3.3.9.tar.gz
- cd eigen-3.3.9
- 因为Eigen
是一个头文件库,不需要像其他库那样进行编译和链接,只需要将头文件放到合适的位置即可。你可以直接将其安装到
/data/zly/application/eigen 目录下:
- mkdir -p /data/zly/application/eigen/include
- cp -r Eigen /data/zly/application/eigen/include/
- echo 'export EIGEN3_INCLUDE_DIR=/data/zly/application/eigen/include' >> ~/.bashrc
- source ~/.bashrc
- Boost (version 1.68 or higher)