...
POST No. 2407405
EasyVR voice recognition and Bioloid
2019-05-05 23:28:52 Hermesf

Has anyone done any work on adapting the Bioloid for on-board voice recognition, i.e., not using mobile app, but embedding the feature in the robot? Specifically using the EasyVR module, but any approach would be helpful/interesting.


Regards, Frank

2019-05-05 23:28:52
Hermesf
2019-05-07 17:31:13 Will Son

Hi Frank,


That's a very interesting idea.

First of all, you need to find a proper power source for the EasyVR board. 

You might also need to do some research on EasyVR embedded library(since CM-530 is not compatible to Arduino) to see if it can transmit packet data that is identical to RC-100.

http://emanual.robotis.com/docs/en/parts/communication/rc-100/#communication-packet


It could be possible if EasyVR can generate and transmit RC-100 packets via TX/RX serial pins, but you'll need to put quite amount of time and effort to make it work.


Thank you.

2019-05-07 17:31:13
willson
2019-05-09 12:36:37 Frank B Hermes

Hi Willson,


I've reviewed the RC-100 packet construction earlier and understand what you are suggesting...


I have played with the EasyVR module a bit since I wrote the initial post...connected it to an Arduino...once the EasyVR accepts the utterance, the acceptance can be used to generate an activity in the Arduino (creating an RC-100 packet and transmitting it via BT, e.g.) - since the CM-530 can do BT, maybe I can cobble something together, or, in any event maybe use the OpenCM for Bioloid control and connect the Arduino directly to an OpenCM9.04-C (have one on order)...do not know enough about OpenCM yet to know if there might be an available library for the EasyVR, as you suggest...


Since all that thought, however, my new view is to try to see if I can create an Alexa-based interface - see https://www.dexterindustries.com/projects/alexabot-amazon-alexa-controlled-robot/ - it would be great to be able to control the Bioloid, but in addition, have access to the Alexa world! Any info from the community in this regard would be helpful...


So, I will work on both, with a goal of the latter...thanks for your reply!


Regards. Frank


PS - wish there was a way to receive alerts in this forum.

2019-05-09 12:36:37
Hermesf
2019-05-10 12:16:29 Frank B Hermes

Update:


It appears that an Alexa-Bioloid is doable...


If you read the tutorial I referenced above from Dexter, you will note that their communication path is rather convoluted - I think this could be greatly simplified by making the Bioloid essentially an Alexa Gadget...from the Alexa site:


...the Echo device and the gadget exchange this information in binary format instead.


To facilitate encoding and decoding the information to and from binary, we use a mechanism called protocol buffers to represent the fields of directives and events in a platform-agnostic way. A .proto file is similar to a JSON file in that it represents structured data, but you can run a compiler on the .proto file to generate code that can read and write the data in the programming language of your choice...


So, I think what would be constructed:


1- create an AlexaPi - this is an Alexa-voice-enabled RaspberryPi (this is simple and well documented) which uses WiFi to talk to AVS (Amazon Voice Services) just like an Echo


2 - either, create a Gadget using an Arduino/Bluetooth, or, determine that the AlexaPi could also perform the function of a Gadget in addition to it's primary role (AlexaPi)


3 - send a voice command to the AlexaPi (LEFT, RIGHT, FORWARD, BACK, etc.), which in turn receives a response in the form of a .proto packet (see Google re protocol) containing a message you design, e.g., it could contain the exact elements of an RC-100 packet, or simply text of the specific voice-instruction you sent, or a code, or whatever), which then transmits that .proto packet to the Gadget (internal code if the RaspberryPi performs both roles, or, via BT to the Arduino Gadget)...


4 - once the .proto packet is received by the Gadget, it translates it into an RC-100 packet (if necessary) and sends it to the CM-530 via BT (or maybe Zigbee if the RaspberryPi is also the Gadget)...


A lot of unknowns at this point but I think the schema is sound (except concerns regarding latency) and actually pretty straight-forward...hopefully it would keep things in the CM-530 world if that is more simple than going to the OpenCM world (unknown to me at this point)...


Frank

2019-05-10 12:16:29
Hermesf
2019-05-14 10:42:30 Will Son

Hi Frank,


It looks like your project is getting bigger and more interesting.

Although I have zero experience with interfacing Alexa to our product, you might have found a way to do it.

OpenCM9.04 may not 100% cooperate with other Arduino code as the board is intended to control DYNAMIXEL under Arduino IDE.

However, please feel free to let us know if you have any question using our product.

Good luck on your project and can't wait to see it working :)

2019-05-14 10:42:30
willson
Reply
웹에디터 시작 웹 에디터 끝