世界上最流行(github排名高)的开源移动机器人的操作系统ROS开源了!!
AI魔法学院
2024-10-16
分享海报

TurtleBot的机器人操作系统ROS, 开源了!!github开源排名很高

Turtlebot3  ROS 软件包

源代码:

http://www.gitpp.com/goldenbear/turtlebot3

【文生图】人工智能配图,与项目无关

TurtleBot3是一款小型、低成本、完全可编程的移动机器人,它基于ROSRobot Operating System)开发,并继承了TurtleBot系列的优秀特性。作为TurtleBot系列的第三代产品,TurtleBot3在二代的基础之上做了一些改进,并增加了一些新功能以满足用户的需求。

这款机器人的主要特点包括开源ROS软件、硬件开源、小尺寸、低价格、模块化驱动以及强大的扩展性。它配备了强悍的传感器,如激光雷达和摄像头,使其具有自主导航、避障、物体识别等功能。此外,TurtleBot3还支持语音识别和语音合成技术,可以与人进行自然语言交互,完成特定任务。

TurtleBot3的目标是在不牺牲功能和质量的情况下,大幅缩小平台的大小和降低价格。它提供了多种定制化的选择,包括不同的底盘、计算机和传感器,以满足用户多样化的需求。同时,它还支持搭载机械手,如OpenManipulator,以扩展其应用范围。

在教育领域,TurtleBot3可以作为一个优秀的教学平台,帮助学生更好地理解和学习机器人技术。对于研究人员来说,它可以作为一个灵活的研究工具,用于测试新的算法和技术。此外,由于其低成本和可扩展性,TurtleBot3还非常适合作为产品原型开发的平台。

总的来说,TurtleBot3是一款功能强大、灵活多变的移动机器人,适用于教育、研究、产品原型和爱好应用等多种场景

更牛的, 人形机器人 【很丑,但是开源、研究、学习,足够了】

源代码

http://www.gitpp.com/goldenbear/robotis-op3

ROBOTIS OP3 ROBOTIS 最新的微型人形机器人平台,继承了 ROBOTIS OP(又名“DARWIN OP”)和 ROBOTIS OP2(又名“DARWIN 2”或“DARWIN OP2”)。ROBOTIS OP3 的显着变化之一是执行器方面,用 XM-430 执行器替换 MX-28 执行器。另一个重大变化是内部 PC 也发生了变化,将基于 Atom SBC(单板计算机)替换为基于 Intel i3 NUC。通过支持 DYNAMIXEL 协议 2.0 XM-430OP3 提高了扭矩以及基于电流的控制,并加载了各种功能。英特尔 NUC 可大幅提升计算能力,支持 64 位操作系统和蓝牙 4.1。此外,OP3是在ROS(机器人操作系统)下开发的,以利用ROS生态系统中的各种软件包。与之前的机器人相比,所有这些硬件改进和 ROS 支持使开发人员能够更加专注于研发。

·        

ROBOTIS OP2 的物理差异

·        

·        

§

ROBOTIS OP3 不附带设计皮肤,但是提供了 3D 建模文件以支持默认设计皮肤的 3D 打印。

§

OP3 看起来与 OP2 有很大不同,因为没有提供默认皮肤。用户可以下载设计皮肤文件。


下载的皮肤文件可用于3D打印。


ROBOTIS OP3
装载Intel NUC i3处理器,实现计算能力的显着提升。
OP3
支持 HDMI Display Port(DP),而 OP2 仅支持 mini HDMI
OP3
背面有1RGB LED3LED4个按钮。从左到右,每个按钮分别代表模式、启动、用户、重置。

·        

以下是一些机械差异:

·        

·        

OP3的后面板进行了适度的改动。

·        

§

ROBOTIS OP2 上的新型迷你 HDMI 端口连接器

§

§

港口位置

§

§

ROBOTIS OP3 不再具有 3.5 毫米麦克风和音频插孔

§

·    

ROBOTIS OP2 相比,使用 ROBOTIS OP3 进行开发的优势
如上所述,OP3 有几处变化,新 OP3 的优势如下:

·    

§

新执行器(更高扭矩)

§

§

SSD容量增加

§

§

增加RAM容量

§

§

计算能力的显着提高

§

§

HDMI 替代 Mini HDMI

§

§

用户友好的子控制器(CM-730 OpenCR)

§

§

改进的相机

§

·    

硬件规格比较

·    

机器人OP2

机器人OP3

执行器

MX-28

XM430-W350

中央处理器

英特尔凌动 N2600
@1.6GHz
双核

英特尔酷睿 i3 处理器
双核

内存

2GB DDR3 SODIMM 1066MHz
(用户可更换)

8GB DDR4 SODIMM 2133MHz
(最大 32GB
(用户可更换)

贮存

半尺寸 mSATA 模块 (32GB)
(用户可更换)

M.2 SSD 模块 (128GB)
(用户可更换)

兼容操作系统

任何 Linux 版本(32 位)
任何 Windows 版本(32 位)

任何 Linux 版本(32 /64 位)
任何 Windows 版本(32 /64 位)

联网

Realtek 10/100/1000 Mbps 以太网
802.11n
(仅限 2.4GHz

英特尔 10/100/1000 Mbps 以太网
802.11ac
2.4GHz5GHz
蓝牙 4.1

相机

罗技 C905 (1600x1200)

罗技 C920 (1920x1080)

ROBOTIS OP3 是一款经济实惠的微型人形机器人平台,具有先进的计算能力、精密的传感器、高负载能力和动态运动能力,可实现许多令人兴奋的研究和教育活动。

·    

执行器规格比较

·    

MX-28

XM430-W350

重量

77

82

方面

35.6毫米×50.6毫米×35.5毫米

28.5毫米×46.5毫米×34.0毫米

齿轮比

1931

353.51

堵转转矩

2.5牛米

4.1牛米

失速电流

1.4A

2.3A

空载速度

55/

46/分钟

协议

1.0

1.02.0

·    

XM430系列执行器更易于组装和维护,并且支持多种控制算法。

·    

§

减小尺寸并增加扭矩

§

§

带有集成装配螺栓丝锥的金属外壳

§

§

带电缆盖的中空后壳

§

§

6种操作模式

§

§

基于电流的扭矩控制

§

§

用于平滑运动规划的轮廓控制

§

·    

ROBOTIS-OP3 规格

·    

机器人OP3

高度

510毫米

重量

3.5kg(不含皮套)

自由度

20

执行器

XM430-W350-R

主控制器

INTEL NUC i3
英特尔酷睿 i3 处理器双核
8GB RAM DDR4 SODIMM 2133MHz
128GB M.2 SSD

子控制器

开放式CR

相机

罗技 C920 HD Pro 网络摄像头

IMU传感器

3 轴陀螺仪、3 轴加速度计、3 轴磁力计

电池

锂电池 3 11.1v 1800mA

IO设备

RGB LED x 1LED x 3(红、绿、蓝)、按钮 x 4、扬声器 x 1

可安装操作系统

任何 Linux 版本(32 /64 位)
任何 Windows 版本(32 /64 位)

开发
环境

操作系统:Linux64位)
C++
ROSDYNAMIXEL SDK

安全信息

注意:对于因用户疏忽或误用产品而造成的任何损失或损坏,ROBOTIS 不承担任何责任。

·    

开始之前请仔细阅读说明。

·    

·    

不适合 15 岁以下儿童。

·    

·    

请勿使用套件中提供的工具以外的任何其他工具。

·    

·    

机器人工作时,请让机器人远离您的脸部和身体。

·    

·    

防止手指卡在框架之间。

·    

·    

请勿将机器人放置在水、热源或火附近。

·    

·    

仅使用套件中包含的电池和充电器。

·    

·    

长时间过度使用后必须更换齿轮。

·    

包装内容

检查您的 ROBOTIS OP3 包装中是否有以下物品。

物品

数量

1

完全组装好的 ROBOTIS OP3 机器人

1

2

USB 拇指驱动器(带恢复软件)

1

3

保险丝

2

4

1

5

快速入门手册

1

6

备用电缆

1

7

乐泰

1

8

扳手和螺丝刀

1

9

电源线

1

10

直流电源

1

11

备用螺栓和螺母

1

12

以太网电缆

1

13

充电器

1

14

电池组

3

15

硬盒

1

布局

注意:前面板和后面板的布局可能会根据所选内置 PC 的不同而有所变化。

给电池充电

本节介绍如何使用提供的充电器为电池充电。

根据提供的充电器使用任一说明。

使用LBC-010

ROS应用程序接口

·        

订阅主题
/robotis/action/page_num( std_msgs/Int32 )
   要在模块中运行的操作的页码。
   1 ~ 255:播放动作
   -1:停止动作
   -2:刹车动作

·        

·        

已发布主题
/robotis/status( robotis_controller_msgs/StatusMsg )
   描述 action_module 状态的消息。

·        

·        

服务
/robotis/action/is_running( op3_action_module_msgs/IsRunning )
   检查操作是否正在运行的服务。

·        

参数

/action file path(字符串,默认值:“op3_action_module/data/motion_4,095.bin”)
   指示 OP3 动作库位置的文件路径。

op3_base_模块
概述

op3_base_module是初始姿势的模块。
该模块被编译为要在[op3_manager]中使用的库。

入门

·        

下载并构建

·        

参考:安装 ROBOTIS ROS 软件包

·        

·        

用途
运动模块以库的形式在管理器中使用。

·        

参考:创建新的机器人管理器

·        

ROS应用程序接口

·        

订阅主题
/robotis/base/ini_pose( std_msgs/String )
   此消息将使 OP3 采取初始姿势(即使基本模块处于非活动状态,此命令也有效)。

·        

·        

已发布主题
/robotis/enable_ctrl_module( std_msgs/String )
   此消息激活op3_base_module以采取初始姿势。

·        

/robotis/status( robotis_controller_msgs/StatusMsg )
   此消息通知 的状态op3_base_module

·        

数据

·        

初始姿势

·        

·        

数据文件路径:/op3_base_module/data/ini_pose.yaml

·        

·        

YAML 格式

·        

§

mov_time : 移动到目标点的预计时间(单位为秒)

§

§

via_num : 航点数量

§

§

via_time :航路点之间的估计时间(数组结构)

§

§

via_pose :每个路点的每个关节的角度(单位为度,数组结构)

§

§

tar_pose :初始姿势的目标关节角度

§

op3_head_control_模块
概述

本章介绍控制 OP3 头的模块。
该模块被编译为要在[op3_manager]中使用的库。

入门

·        

下载并构建

·        

参考:安装 ROBOTIS ROS 软件包

·        

·        

用途
运动模块以库的形式在管理器中使用。

·        

参考:创建新的机器人管理器

·        

ROS应用程序接口

·        

订阅主题
/robotis/head_control/scan_command( std_msgs/String )
   此消息将请求环视头部运动以扫描环境。

·        

/robotis/head_control/set_joint_states( sensor_msgs/JointState )
   头部关节将旋转到消息中写入的相应角度。

·        

/robotis/head_control/set_joint_states_offset( sensor_msgs/JointState )
   头部关节将根据消息中写入的偏移值调整角度。

·        

·        

已发布主题
/robotis/status( robotis_controller_msgs/StatusMsg )
   此消息通知 head_control_module 的状态。

·        

op3_walking_模块
概述

本章介绍控制 OP3 行走的模块。
该模块被编译为要在[op3_manager]中使用的库。

入门

·        

下载并构建

·        

参考:安装 ROBOTIS ROS 软件包

·        

·        

用途 运动模块以库的形式在管理器中使用。

·        

参考:创建新的机器人管理器

·        

ROS应用程序接口

·        

订阅主题
/robotis/walking/command( std_msgs/String )
   此消息请求开始和停止行走。

·        

/robotis/walking/set_params( op3_walking_module_msgs/WalkingParam )
   该消息设置步行所需的参数。有关详细信息,请参阅WalkingParam.msg

·        

·        

已发布主题
/robotis/status( robotis_controller_msgs/StatusMsg )
   此消息通知 op3_walking_module 的状态。

·        

·        

服务
/robotis/walking/get_params( op3_walking_module_msgs/GetWalkingParam )
   该服务获取行走参数。

·        

参数

/walking_param_path(字符串,默认值:“op3_walking_module/config/param.yaml”)
   指示行走参数位置的文件路径。

数据

·        

行走参数

·        

·        

数据文件路径:/op3_walking_module/config/param.yaml

·        

·        

YAML 格式

·        

§

x_offsetx方向(前后)的偏移量[m]

§

1721125897128

§

§

y_offsety方向(左右)的偏移量[m]

§

1721125901344

§

§

z_offsetz方向(上下)的偏移量[m]

§

1721125905597

§

§

roll_offset:滚动偏移(x 坐标)[]

§

1721125910097

§

§

itch_offset:音高偏移(y 坐标)[]

§

1721125914660

§

§

yaw_offset:偏航偏移(z 坐标)[]

§

1721125918910

§

§

hip_pitch_offset:髋部水平的俯仰偏移(y 坐标)。这些值适用于髋关节俯仰关节的 DYNAMIXEL 位置值。[程度]

§

1721125922949

§

§

period_timeROBOTIS-OP3 完成两个完整步骤(左脚和右脚)所需的时间 [ms]

§

§

§

dsp_ratio:双脚着地的时间与行走周期的时间比。

§

§

§

foot_height:步行时脚部高度[]

§

1721125941162

§

§

swing_right_left:行走期间向左或向右摆动[m]

§

1721125945380

§

§

swing_top_down:行走时身体上下摆动[m]

§

1721125949790

§

§

pelvis_offset:骨盆水平的滚动偏移(x 坐标)。这些值适用于髋部滚动关节的 DYNAMIXEL 位置值 []

§

1721125954277

§

§

arm_swing_gain:相对于前进/后退的手臂摆动增益。如果左脚向前移动,则右臂摆动。

§

§

Balance_hip_roll_gain:相对于陀螺仪滚动的增益

§

§

Balance_knee_gain:相对于陀螺仪俯仰的增益

§

§

Balance_ankle_roll_gain:相对于陀螺仪滚动的增益

§

§

Balance_ankle_pitch_gain:相对于陀螺仪俯仰的增益

§

§

p_gain:尚未实现

§

§

i_gain:尚未实现

§

§

d_gain:尚未实现

§

op3_online_walking_module
概述

本章介绍控制OP3行走的模块。
该模块被编译为要在[op3_manager]中使用的库。
在线行走算法在本书(人形机器人简介)中有描述。

入门

·        

下载并构建

·        

参考:安装 ROBOTIS ROS 软件包

·        

·        

用途 运动模块以库的形式在管理器中使用。

·        

参考:创建新的机器人管理器

·        

ROS应用程序接口

·        

订阅主题
/robotis/online_walking/reset_body( std_msgs/Bool )
  此消息会将身体姿势重置为默认值。

·        

/robotis/online_walking/goal_joint_pose
( op3_online_walking_module_msgs/JointPose )
   该消息将在关节空间中设置所需的姿势。

·        

/robotis/online_walking/goal_kinematics_pose
( op3_online_walking_module_msgs/KinematicsPose )
   该消息将在任务空间中设置所需的姿势。

·        

/robotis/online_walking/foot_step_command
( op3_online_walking_module_msgs/FootStepCommand )
   该消息将设置步行命令。

·        

/robotis/online_walking/foot_step_command
( op3_online_walking_module_msgs/FootStepCommand )
   该消息将执行所需的步行性能。

·        

/robotis/online_walking/walking_param
( op3_online_walking_module_msgs/WalkingParam )
   该消息将设置步行参数。

·        

/robotis/online_walking/body_offset
( geometry_msgs/Pose )
   该消息将设置所需的身体偏移。

·        

/robotis/online_walking/foot_distance
( std_msgs/Float64 )
   此消息将设置左脚和右脚之间所需的脚距。

·        

/robotis/online_walking/footsteps_2d
( op3_online_walking_module_msgs/Step2DArray )
   此消息将从脚步生成器设置所需的脚步。

·        

·        

已发布主题
/robotis/status( robotis_controller_msgs/StatusMsg )
   此消息通知 head_control_module 的状态。

·        

/robotis/movement_done( std_msgs/String )
   此消息通知移动结束。

·        

/robotis/pelvis_posegeometry_msgs/PoseStamped
   此消息发送所需的骨盆姿势以进行定位。

·        

·        

服务服务器
/robotis/online_walking/get_joint_pose
( op3_online_walking_module_msgs/GetJointPose )
   该服务用于获取当前所需的关节姿势。

·        

/robotis/online_walking/get_kinematics_pose
( op3_online_walking_module_msgs/GetKinematicsPose )
   该服务用于获取当前所需的运动学姿势。

·        

·        

服务客户端/robotis/online_walking/get_preview_matrix
( op3_online_walking_module_msgs/GetPreviewMatrix )
   该服务用于计算在线步行的矩阵。

·        

op3_direct_control_模块
概述

本章介绍直接控制 ROBOTIS-OP3 关节的模块。

入门

·        

下载并构建

·        

参考:安装 ROBOTIS ROS 软件包

·        

·        

用法
运动模块在管理器中以lib的形式使用。

·        

参考:创建新的机器人管理器

·        

ROS应用程序接口

·        

订阅主题
/robotis/direct_control/set_joint_states( sensor_msgs/JointState )
   包含用户想要移动的关节值的消息。

·        

·        

已发布主题
/robotis/status( robotis_controller_msgs/StatusMsg )
   描述 action_module 状态的消息。

·        

参数

/robotis/direct_control/default_moving_time(double, 默认值: 0.5)
   移动到目标位置的最短时间
/robotis/direct_control/default_moving_angle(double, 默认值: 30)
   每 1 秒移动到目标位置的角度
/robotis/direct_control/check_collision(bool, 默认值: true)
   启用伪自碰撞检查

op3_tuning_模块
概述

本章介绍用于偏置和增益调整的模块。

入门

·        

下载并构建

·        

参考:安装 ROBOTIS ROS 软件包

·        

·        

用法
运动模块在管理器中以lib的形式使用。

·        

参考:创建新的机器人管理器

·        

ROS应用程序接口

·        

订阅的主题
/robotis/tuning_module/tuning_pose( std_msgs/String )
   用于更改增益调整姿势的消息
/robotis/tuning_module/joint_offset_data( op3_tuning_module_msgs/JointOffsetData )
   用于更改偏移的消息
/robotis/tuning_module/joint_gain_data( op3_tuning_module_msgs/JointOffsetData )
   用于更改增益的消息
/robotis/tuning_module/torque_enable( op3_tuning_module_msgs/JointTorqueOnOffArray )
   用于 en 的消息/禁用关节扭矩
/robotis/tuning_module/command( std_msgs/String )
   命令消息(例如保存增益、保存偏移)

·        

·        

已发布主题
/robotis/status( robotis_controller_msgs/StatusMsg )
   描述 action_module 状态的消息。
/robotis/enable_ctrl_module( std_msgs/String )
   用于更改 robots_controller 运动模块的消息
/robotis/sync_write_item([robotis_controller_msgs/SyncWriteItem]{: .popup})
   用于在 robots_controller 中与 dynamixel 同步写入的消息
/robotis/enable_offset( std_msgs/Bool )
   用于在 robots_controller 中打开/关闭偏移的消息

·        

·        

服务服务器
/robotis/tuning_module/get_present_joint_offset_data ( op3_tuning_module_msgs/GetPresentJointOffsetData )
   用于通知关节状态(包括偏移量)的服务

·        

·        

服务客户端
/robotis/set_present_ctrl_modulesrobotis_controller_msgs/SetModule
   用于更改robotis_controller运动模块的服务
/robotis/load_offsetrobotis_controller_msgs/LoadOffset
   用于在robotis_controller中应用新偏移的服务

·        

参数

offset_file_path(字符串,默认值~/data/tune_pose.yaml:)
   此路径指示包含每个关节的偏移数据的文件的位置。
init_file_path(string, default : ~/data/offset.yaml)
   该路径表示包含每个关节初始化信息的文件的位置

传感器模块

更牛的, 人形机器人 【很丑,但是开源、研究、学习,足够了】

源代码

http://www.gitpp.com/goldenbear/robotis-op3

出自:https://mp.weixin.qq.com/s/p7gkpOK7gjDuiXx2mZnmsQ

© THE END

转载请联系本网站获得授权

投稿或版权问题请加微信:skillupvip