# protobot-python-api
> latest update: 2021/12/02
## Python安装方式
```
cd src
pip install -e .
```
## API文档
### 初始化电机对象
出厂ID:0x10
参数:
- reduction: 减速比
常用减速比:
- 二级行星:-12.45
- 三级行星:-44
- RV50:53.325
- RV100:110.205
- 谐波50:50
- 谐波100:100
``` python
from protobot.can_bus import Robot
from protobot.can_bus.nodes import MotorFactory
robot = Robot()
motor = robot.add_device('motor0', MotorFactory(), 0x15, reduction=12.45)
```
使用pcan驱动时的初始化方法
``` python
from protobot.can_bus import Robot
from protobot.can_bus.nodes import MotorFactory
robot = Robot(bustype='pcan', channel='PCAN_USBBUS1', bitrate=1000000)
motor = robot.add_device('motor0', MotorFactory(), 0x15, reduction=12.45)
```
### 电机状态
`motor.status()`
最近一次心跳包的内容
返回值:
- 电机状态dict
- state: 工作模式(1:空闲,8:使能)
- error: 错误码(1:电压不足,14:急停)
- motor_err: 电机相关错误码
- encoder_err: 编码器相关错误码
- controller_err: 控制器相关错误码
- control_mode: 控制模式(1:力矩控制,2:速度控制,3:位置控制)
- input_mode: 输入模式(1:直接值,2:带加速度,3:带滤波,5:梯形轨迹)
- timestamp: 时间戳,上一次收到心跳包的时间
### 获取API版本
`get_api_version(timeout = 0)`
参数:
- timeout: 请求超时时间(s),0代表无超时时间
返回值:
- API版本dict
- device_uuid: 设备uuid
- main_version: 主版本号
- sub_version: 副版本号
### 电机软急停
`estop()`
### 电机重启
`reboot()`
### 清除错误
`clear_errors()`
### 保存设置
`save_configuration()`
设置参数后默认不会保存,直到调用此函数
### 设置电机CAN_ID
`set_can_id(id, rate)`
参数:
- id:电机新CAN_ID (0x01~0x3F)
- rate: 心跳包发送周期,ms
### 电机使能
`enable()`
### 电机失能
`disable()`
### 电机校准
`calibrate()`
校准后需保存参数
### 读取总线电压
`get_vbus(timeout)`
参数:
- timeout
返回值:
- 总线电压值(V)
### 读取电机温度
`get_temperature(timeout)`
参数:
- timeout
返回值:
- 电机温度(°C)
### 读取电机状态参数
`get_status(timeout)`
参数:
- timeout
返回值:
- 电机状态参数(位置rad, 速度rad/s, 力矩Nm)
### 读取电机位置
`get_pos(timeout)`
参数:
- timeout
返回值:
- 位置(rad)
### 读取电机速度
`get_vel(timeout)`
参数:
- timeout
返回值:
- 速度(rad/s)
### 读取电机力矩
`get_torque(timeout)`
参数:
- timeout
返回值:
- 力矩(Nm)
### 读取电机控制模式
`get_controller_modes(timeout)`
参数:
- timeout
返回值:
- 控制模式(control_mode, input_mode)
- control_mode: 控制模式(1:力矩控制,2:速度控制,3:位置控制)
- input_mode: 输入模式(1:直接值,2:带加速度,3:带滤波,5:梯形轨迹)
### 读取加速度输入模式参数
`get_ramp_mode_ramp(timeout)`
参数:
- timeout
返回值:
- ramp: 加速度(rad/s^2)
### 读取滤波输入模式参数
`get_filter_mode_bandwidth(timeout)`
参数:
- timeout
返回值:
- bandwidth: 滤波带宽 / 输入频率(Hz)
### 读取轨迹模式参数
`get_traj_mode_params(timeout)`
参数:
- timeout
返回值:
- 轨迹参数(最大速度, 加速度, 减速度)
### 读取电机PID参数
`get_controller_pid(timeout)`
参数:
- timeout
返回值:
- 电机PID(位置环P, 速度环P, 速度环I)
### 设置电机PID参数
`set_controller_pid(pos_p, vel_p, vel_i)`
参数:
- pos_p: 位置环比例系数
- vel_p: 速度环比例系数
- vel_i: 速度环积分系数
### 读取电机速度电流限制
`get_limits(timeout)`
参数:
- timeout
返回值:
- (输入端最大速度(r/s), 最大电流(A))
### 读取电机速度限制
`get_vel_limit(timeout)`
参数:
- timeout
返回值:
- 输出端最大速度(rad/s)
### 读取电机电流限制
`get_current_limit(timeout)`
参数:
- timeout
返回值:
- 最大电流(A)
### 设置电机速度电流限制
`set_limits(vel_limit, torque_limit)`
参数:
- vel_limit: 输入端最大速度(r/s)
- torque_limit: 最大电流(A)
### 设置电机速度限制
`set_vel_limit(vel_limit)`
参数:
- vel_limit: 输出端最大速度(rad/s)
### 进入直接位置模式
`position_mode()`
直接PID控制位置
### 进入滤波位置模式
`position_filter_mode(bandwidth)`
参数:
- bandwidth: 滤波带宽 / 控制频率(Hz)
### 进入轨迹位置模式
`position_traj_mode(max_vel, accel, decel)`
参数:
- max_vel: 最高速度
- accel: 加速度
- decel: 减速度
### 设置位置
`set_pos(position)`
参数:
- position: 目标位置(rad)
### 进入直接速度模式
`velocity_mode()`
速度PID控制
### 进入匀加减速速度模式
`velocity_ramp_mode(ramp)`
参数:
- ramp: 加速度(rad/s^2)
### 设置速度
`set_vel(velocity)`
参数:
- velocity: 目标速度(rad/s)
### 进入力矩控制模式
`torque_mode()`
### 设置力矩
`set_torque(torque)`
参数:
- torque: 目标力矩(Nm)
没有合适的资源?快使用搜索试试~ 我知道了~
机械臂关节控制python程序,直接可用
共323个文件
pyc:40个
ipynb:29个
py:28个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 28 浏览量
2025-01-02
16:45:06
上传
评论
收藏 207KB 7Z 举报
温馨提示
在IT行业中,机械臂是一种广泛应用的自动化设备,尤其在工业4.0和智能制造领域中扮演着重要角色。本文将深入探讨如何使用Python编程语言来控制机械臂的关节,实现正运动学和逆运动学的仿真控制。 我们需要理解机械臂的基本原理。机械臂由多个关节组成,每个关节可以围绕一个轴线旋转,形成多自由度的运动。正运动学(Forward Kinematics)是根据关节角度计算末端执行器(如抓手)在空间中的位置和姿态,而逆运动学(Inverse Kinematics)则是反过来,根据目标位置和姿态求解各关节的最佳角度。 Python作为一门高级编程语言,因其简洁明了的语法和丰富的库资源,常被用于机器人控制。在这个项目中,我们可能会用到如PyRobot、MoveIt!或Robot Operating System (ROS)等开源库。PyRobot是一个统一的Python接口,支持多种机器人平台,包括机械臂的控制。MoveIt!则是一个强大的ROS包,提供了规划、仿真和控制等功能。对于初学者,使用这些库可以大大简化编程过程。 在实际操作中,我们首先要安装必要的软件和库。这可能涉及设置ROS环境,安装
资源推荐
资源详情
资源评论
收起资源包目录
机械臂关节控制python程序,直接可用 (323个子文件)
00ae39495f8e4f67c799105425bfc245ea70f4 486B
00d77331f7ee78f661e1cc639f6329d244a5d5 223B
030c7c108b7a39eecbc8e83a42398d8994b85b 82B
0334773932c60db55a4f24f74ab489cf976fcc 88B
039c9b0c2689251a0efc180f4596eb9607a38f 133B
03d342e36d75e99c83ceb4484f35f7bb69182d 646B
081c0517359495201f735ebaaeb1c9d44ece45 82B
08fabea9cc8ccb8e3b52b8231280cbce3435c7 219B
0934c5078821862e9138307dc8ed2ff9055380 1KB
09380c652cae50ce77660ed2873a3e971f88b4 73B
0c9c63085f7abde4482be16b474db989c724d1 1KB
0f07ed2f7a8f491d01b63e016b36f97a70ed2d 164B
12ca038e60c8fe46250ea18d19f4f71edb6080 906B
1314f82452c64ac163c44f171eda73f2bf694a 153B
13ff4f352601127a4b2af67f55e28ddd6dd16a 1KB
14069728e4ca3a7bd5419d272d8ad76d5889ce 222B
1798dca60461d55faee97b4762beb085af3c23 268B
1b30d1e675b823abee0a85f5a922d385f0ba69 3KB
1c2e0be567aebf0be880aa2a9381dc0aac9261 87B
1dcfc492cb131a17e0d33dcbf1855aef9ffe75 150B
1dda3288f815a827c0b095b02d327866cd407a 130B
1eb6dc86e104e726a81d0e26846d1153e4b5bb 2KB
208dbc1710cc1a237bb916e22b3bfa195316b0 57B
2562ec287861a9d589f08126628205070901c1 222B
25a39088049aaec2696c36394944c7e7acc417 152B
28cbbb74380d2efebb183b0e53ce64cfb16ddc 287B
299a50b726161015b55a782f6f1b6d371dadbb 151B
2a16b6c277af69159fc23abd1c9be73493b7c1 2KB
2d17c4d69ec705754f2b47a249d685ab66b117 4KB
312be7d7818cc8b23b3fe0b5a5c3f14d773203 223B
318f9b19349b47f5ddc50805348130f6b2ca77 87B
331c6eea8eaeffd40ec24f003ba00afab5ece0 179B
33b82e8b76e199edff7f119b35441aa1722ebd 223B
341fb4858a7978508ce5db4ad47cf4fc534c03 223B
3456d980f552ef1dff32de67e1eac8f4cc02f0 2KB
34f4fcc0aaff89d0316d97d686515f139599a8 158B
359072befe68c618e6a5a6be032a86abbc271a 115B
36aca3821497100a22fd787f4735416ce6abca 182B
3731bcf1a32a3e321a9b10aab87dd95f634517 1KB
38896ed3fdf8a689caac3c0776ce238fa1f0f5 153B
38c94749489e4d90c6095034fa810f441b8086 224B
3ad788741a1804f85a334f037d23a08e85befe 1KB
3b400986e2ded7275f40bb7782498f6b81a307 153B
3ba251e55c2c5caa48f52ed6beddbdbd2ddd09 222B
3da824985146a76f9924d26fde3aa8d2d453b6 223B
3e09eb73558293240847faf29e4369e8a32c13 1KB
403390d1dbf04d092f720e47bcc59a684808bc 150B
41f4683645f7e053e109056a945b452e571ab1 52B
42788335a91d97619bbb936a711380b9570259 2KB
44403ee3dc5c35f08ab19b2a5fc8cd8d3c9a73 1KB
45113a4f901208a37b4064f52f38fe464cd170 2KB
4584ccbfb55e9a4d0185a0fc75d6dcbcd91028 280B
4688de67500e69668bf1c57c9f3f1397ea26a2 182B
47afa988830c7d6ef714a72d3d7cf3cdd01d5e 182B
491bb0ed70156e0c47e55575af834920912d1b 108B
4a03a06147b95870eb22a50e75d08fd91ece3e 1KB
4a837e58d8f049ad93258c6480f93512e17352 2KB
4bf8634280002526fcbdb11a4b086af0bdc5a6 222B
4cfef6a5c0b69398c3174cb79c7498e56e8026 2KB
4f26dc7aaff74b4bceeab4ff4ffd1d9d8aa040 2KB
4f8e590765b0bcfba1f77c050dacfebd204ae8 150B
4fbe1caca0d5457c809c0f510bd0b56e615168 442B
4fddea0a255dac74b3a43f1e8807ad6951ee4d 222B
51cfd45ce37bfa9a022e025c25e76f2bdab659 222B
540248e4cd3b16955aa044126758af9a571d22 182B
56c55a9e41861a8d7da17f584ccef4abb1ad04 210B
57b51cea12c63a208591e021ad759654c4eff5 168B
5885e999d75d3662afe6f499b139e78b16cf7b 186B
5907e30569807dfd2f7503097d6489893b3ec2 150B
592f5c758c5ce141c994e4776c93becb206e5b 220B
5c6e73f758666a9fcff8ec10d7732b7356d8b6 1KB
5cd87675c7552d0e32c8599e60db57c6fbaa29 187B
63a751f73c9cabf1502bdbde7a474a6313d65a 1KB
643f9fe87e6852eae8e24e02ac5b3ccf54e83e 4KB
652e4b47eea81e83a6a1a447f7514075ea0dfd 117B
66dd4cb79630591f5755a3ca9e0dfa8435e3bb 183B
682e2c8075db6c36c9784c18310716c00e5b43 153B
69da76a3621da21e79cf34834f6190586a416d 87B
6c2c06add873f81269dddc2de58827b80bea64 150B
6c97288f2d1f9eb668e664584eb7dfdce0a3d1 150B
6d47ce2cb71470825459e61faa6aab6f3b250b 150B
6d90c185da0bec3bab372159be0fcce41ecd83 2KB
6db5db868f61151235e3c181e30d97ee9fc720 223B
6e1f712de1bfe9cb35f2c59c7dba958e9a8c33 1KB
7504638995058cdb1b8ae1067ff7194150b2d0 161B
7508b5fad183ad2d6195bb9ec99e11201f288d 689B
768ef555321fa8420710b7b8c1fae49f25495a 162B
78397f23f4b5fd9e1ea1993498ad44fc3f801b 182B
79e5f2fd9fc11951138045a748aa5db8130385 182B
7b0a83ef6e9f2819bcf50679b000f5c9a0c712 2KB
7d75f73155f6955369a8f3ef0f65f7bbe532e0 150B
7fad5bcce8dd940d7302b7fb3cd21fa40cb5c7 223B
81ac90422969e082fd53336457ac62df02d3b4 1KB
82060650c5e82d47c0462edad134ca6d23083a 158B
82c33433d3b2542e6a5db74359746c27aa22d9 73B
8343410d93e94d181a5ee5fd9ff6cb859fb82c 222B
84532fe848b07bfbf47b63b84a133e813c395b 222B
84bd08b22bc8852c51aaf75a7acdbed202fea7 216B
888f9449872c72776ec457927b9f6e250c7eea 178B
88f0f35a6bc251e54adcee6cf86a02803e918d 203B
共 323 条
- 1
- 2
- 3
- 4
资源评论
一只蜗牛儿
- 粉丝: 3839
- 资源: 49
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- COMSOL石墨烯 钙钛矿太阳能电池仿真模型 光电耦合模型,文章复现
- 三菱FX5UPLC全部最新手册(编程、通讯、模拟量、定位、硬件等手册)
- 模块化多电平MMC-驱动永磁同步电机-变频 高频正弦注入法抑制子模块电容电压波动 Matlab-2021b,子模块个数为N=4,直流侧电压Udc=680V
- 电池充电放电控制 Matlab simulink仿真搭建模型: 介绍:该模型介绍了在案例研究中实现的电池充电 放电控制,该案例研究涉及直流总线 (恒定电压)、电池、公共负载和双向双开关降压-开压 DC
- 机器学习(预测模型):大学生运动员受伤率和运动表现的影响数据集
- JAVA音像店租赁管理系统的设计与实现(源代码+论文)
- 光储并网直流微电网simulink仿真模型,光伏采用mppt实现最大功率输出 储能由蓄电池和超级电容构成的混合储能系统 为了确保微网并网时电能质量,采用二阶低通滤波法对光伏输出功率进行抑制,
- 电梯厅门悬挂组件sw19可编辑全套技术资料100%好用.zip
- 机器学习(预测模型):1970年至2023年全球各国的关键健康指标
- CeLiangBaoYan个人文件
- 天然气水合物降压开采,基于COMSOL热-流-固多场耦合实现,同时可以表征开采过程中的储层孔隙度、渗透率的演化,考虑水平井筒环空高压充填石英砂层,有水平井和压裂水平井模型
- JAVA医药管理系统设计(论文+源代码+数据库)
- 高精度镜片摩擦清洗机sw17全套技术资料100%好用.zip
- fluent金属熔凝最强学习资料 1.流动传热传质 2.激光移动热源 3.金属熔化凝固 4.宏观偏析 5.激光熔覆 6.udf代码讲解
- 政府办公自动化系统-高分毕设
- Pem电解槽等温阳极单侧流道模型,水电解槽模块与自由与多孔介质流模块耦合,参数化建模 comsol电弧放电模型 水平集两相流、流体传热、相变、马兰戈尼、电磁力、表面张力、反冲压力,温度场耦合流场,c
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功