Skip to content

开源机器人学(Open Robotics)是一个帮助机器人学习者入门的开源项目。

Notifications You must be signed in to change notification settings

chenjm1109/open-robotics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

开源机器人学

您好,这是一个帮助机器人学习者入门的开源项目,我会在本项目更新以下内容:

  1. 机器人学基础知识点的实现
  2. 实用且有趣的算法实现

需要特别指出,本项目的开发要遵循几个原则:

  1. 单文件原则:除了必要的 python 基础模块外,每个实例仅依赖于单个文件的内容
  2. 索引原则:这不是一份教学材料,附带的文档中固然可以简单讲解算法,但更重要的是为初学者指明有价值的参考资料

本项目将持续更新,感谢您的关注~

目录

刚体运动

0101-旋转矩阵 欧拉角 四元数的转换

查看实例

旋转矩阵是最基本的姿态表达方法。本文件包含了以下与旋转矩阵有关的算法:

  1. 欧拉角与旋转矩阵互相转换
  2. 四元数与旋转矩阵互相转换

可以按照类似如下方法调用:

euler_init = [10, 45, 90]
R = euler_to_rotmat(euler_init)

print('初始欧拉角: ')
print(euler_init)
print('\n欧拉角 -> 旋转矩阵: ')
print(R)

将得到如下结果:

初始欧拉角:
[10, 45, 90]

欧拉角 -> 旋转矩阵:
[[ 0.     -0.9848  0.1736]
 [ 0.7071  0.1228  0.6964]
 [-0.7071  0.1228  0.6964]]

机器人运动学

0201-DH参数表可视化

查看实例

D-H 法是研究机器人学经常要用到的工具。本文件可以根据给出的 DH 表生成对应的 3 维坐标系结构简图。支持标准 DH(SDH)和改进 DH(MDH)。

可以按照类似如下方法调用:

# 标准六轴
# MDH参数表  a   alpha    d   theta
dh_list = [[0,     0,     0,    0],
           [50,  -90,     0,  -90],
           [150,   0,     0,    0],
           [50,  -90,    40,    0],
           [0,    90,     0,    0],
           [0,   -90,    50,   30]]
dh_view(dh_list, dh_type="mdh")

将得到如下结果:

dh.png

0202 DH参数与螺旋轴的相互转换(开发中)

查看实例

旋量理论(screw theory)和DH参数法是表达机器人运动学结构的两种方法。本文件包含了二者的转换关系。

对于下面的改进DH参数表,转换为旋量表达后绘制如图所示:

dh_data = [[0, 0.0,    0.0,   250.0],
           [0, 150.0,  0.0,     0.0],
           [1, 150.0,  180.0,   0.0],
           [0, 0.0,    0.0,     0.0]]

dh2screw.jpg

03 几何学

0301-平面碰撞检测/分离轴测试

查看实例

对于空间中任意两个凸多边形,可以采用一种名为分离轴测试(Separating Axis Test)的方法进行碰撞检测。本文件包含一组矩形的例子:

sat.png

About

开源机器人学(Open Robotics)是一个帮助机器人学习者入门的开源项目。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages