本文主要是介绍webots之Robotis OP2机器人(DARwIn-OP),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Robotis OP2机器人
- Robotis OP2
- Motors and Position Sensors
- LEDs
- Accelerometer
- Gyroscope
- Camera
- Speaker
- Managers
- Gait Manager
- Motion Manager
- Vision Manager
- PositionSensor
- Robot Window
- Accelerometers Tab
- Gyro Tab
- Motors Tab
- Position Sensors Tab
- Camera Tab
- Motion Editor
- Remote Control Tab
- Samples
- soccer.wbt
- symmetry.wbt
- visual_tracking.wbt
- walk.wbt
Robotis OP2
ROBOTIS OP2是一个具有先进计算能力的开源微型仿人机器人平台。它由ROBOTIS(韩国机器人制造商)与宾夕法尼亚大学合作开发制造。
之前的模型被命名为DARwIn-OP(Dynamic Anthropomorphic Robot with Intelligence-Open Platform,动态拟人机器人与智能开放平台)。
ROBOTIS OP2主要用于大学和研究中心的教育和研究用途。它共有20个自由度:头部2个,手臂3个,腿部6个。这款机器人的价格相当低,而且是基于开源组件(包括硬件和软件)。它已经在RoboCup国际比赛中使用,并取得了一定的成功。
Motors and Position Sensors
电机位置和识别器 如下图所示:
LEDs
两个RGB LED被放置在机器人的头部。它们被称为HeadLed和EyeLed。两只眼睛的颜色是一样的。请注意,这些LED也会复制到机器人背板上。
另外三个LED是单色的,放置在机器人的背部。
它们被称为BackLedGreen,BackLedBlue和BackLedRed。
Accelerometer
加速计返回的数值在0到1024之间,对应的数值在-3[g]到+3[g]之间,就像真实的机器人上一样。
模拟它的Webots设备被称为加速计。
Gyroscope
陀螺仪返回的数值在0到1024之间,对应的数值在-1600[deg/sec]和+1600[deg/sec]之间,与真实机器人返回的数值类似。
模拟它的Webots设备称为Gyro。
Camera
摄像机是一个RGBA摄像机,它的默认分辨率是160x120像素,但可以改变任何值。
它的默认分辨率为160x120像素,但可以更改为任何值。
水平视场为1.0123[rad]。
Speaker
Webots模拟扬声器的设备名为Speaker。
它可以用来播放声音文件或进行文字转语音。
要使用文字转语音功能,需要在机器人上安装espeak程序。
Managers
为了在仿真中实现Robotis框架的所有关键功能,我们提供了一个库。该库分为三个部分,称为管理器。
每个管理器实现了框架的一个模块。
第一个名为 "Gait "的管理器允许您使用Robotis框架的行走算法。
第二个称为 "Motion "的管理器允许您播放存储在 "motion_4096.bin "文件中的预定义动作。
最后一个名为 "Vision "的管理器,包含一些图像处理工具,例如,在相机图像中找到一个彩色球。
Gait Manager
RobotisOp2GaitManager类允许你使用Framework的行走算法。
在Framework算法中,有很多参数可以用来调整步态。
但为了使这个管理器易于使用,只能设置参数的一个子集。
其他参数被设置为默认值,已知工作正常。
然而,如果需要的话,也可以通过改变存储在".ini "配置文件中的默认值来改变它们。
为了运行,Gait Manager需要知道每个电机的位置和陀螺仪的值。
因此,在使用前必须启用每个电机的陀螺仪设备和位置传感器设备。
#include <RobotisOp2GaitManager.hpp>RobotisOp2GaitManager(webots::Robot *robot, const std::string &iniFilename);
第一个参数是应用该算法的机器人,第二个参数是存储默认参数的文件名。
为了修改控制器中的主要参数,可以使用以下方法:
namespace managers {using namespace Robot;class RobotisOp2GaitManager {public:RobotisOp2GaitManager(webots::Robot *robot, const std::string &iniFilename);virtual ~RobotisOp2GaitManager();bool isCorrectlyInitialized() { return mCorrectlyInitialized; }void setXAmplitude(double x) { mXAmplitude = DGM_BOUND(x, -1.0, 1.0) * 20.0; }X影响脚步向前的长度,它可以取-1和1之间的任何值。void setYAmplitude(double y) { mYAmplitude = DGM_BOUND(y, -1.0, 1.0) * 40.0; }Y影响脚步在侧面的长度,它可以取-1和1之间的任何值。
这篇关于webots之Robotis OP2机器人(DARwIn-OP)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!