Interfacing CM-150 with smart phones and tablets
(By C.N. Thai)
In December 2016, ROBOTIS released the mobile app PLAY700 which was designed to work with the PLAY700 kit (using the controller CM-50). This means that a TASK program running on the CM-50 can make special function calls to the mobile phone or tablet to use many of its built-in services such as display screen, touch areas, camera, text-to-speech and even speech recognition! (see how the CM-50 took pictures from the phone camera in this first video).
Upon further “hacking”, I found that the PLAY700 app would also work great with any Firmware 2.0 systems such as CM-150 (DREAM system) and OpenCM-904/C (MINI humanoid). This second video showed how a CM-150 and an OpenCM-904/C performed the same picture taking task (my apologies for the poor sound quality).
On TASK tool V.1, these functions are available under the “Remote Device” category, and on TASK tool V.2, they are classified under the “Smart Device” category.
At present, there is a big difficulty for English-speaking users to fully utilize these “Smart” functions because the detailed Control Table for these functions is available only in Korean. Fortunately, if ones happen to be using Google Chrome as web browser, ones can get Chrome to translate this page into “understandable-enough” English. I have captured these translated web pages for you in this PDF.
Furthermore, starting with TASK V. 2.1.4 (March 2017) and for unknown reasons, ROBOTIS took out the “Smart Device” category from the TASK V.2 menu for the CM-150! But hence I have figured out another work-around solution which depends on setting the “proper” type of controller in the “Programming” field of the TASK tool main menu.
Essentially, whenever the user needs to use the “Smart Device” functions with a CM-150 based robot, one needs to change the value in this field to “CM-50”, then one would “see” these Smart functions in the Category menu and can then use them as normal in the TASK code. However the user needs to remember to switch this field back to “CM-150” before using specific CM-150 functions and also before compiling and downloading this TASK program to your CM-150 based robot. So a bit of inconvenience at this point in time, so STAY CALM and KEEP ON HACKING!
BTW, as the TASK tool V.1 has not been updated for a while, these “Remote Device” functions are still available in TASK V.1 for the CM-150! So another possible route is to first program your CM-150 code in TASK V.1 and then pull it up inside TASK V.2 to save it in V.2 format. However if you modify this V.2 version, then you'll have to use the trick of changing the "Programming Controller" field like shown in the preceding paragraph.
More details about programming with Smart Device functions are described in Chapter 11 of my forthcoming Springer book. All source codes will also be available at the Extras Springer web site in August 2017. So for now, you can download the sample code "CM_50_150_RC_Tilt_Sensor.tskx" at my Public Dropbox folder and its companion video can viewed here.