ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

Hello,

This is a great toy, thanks for sharing it :)

You have no luck, there seem to be very low to none hacker for this toy (the link you provide is not updated since a year)

But you can be the first !

For a project like this, I will go this way :

  1. Define the position of the computation module :
  2. You can have an on-board raspberry, but since the toy can only communicate in WiFi, your raspberry will be on the robot communicating in WiFi with the robot. It can be good for a outdoor robot or totally autonomous robot. But you will have to manage the raspberry battery and position on the robot (pro tips : use a lot duct tape :) ). The main code will be on the raspberry, the ROS driver on the raspberry too. But since you can have only 1 WiFi connection on the raspberry (without an external WiFi dongle), you will not be able access the raspberry will the robot is running.
  • You can also control the robot with a raspberry connected to your local router in ethernet, and controlling the robot remotely in WiFi. The main code will be on your computer, the ROS driver on your raspberry. You will be able to access your raspberry in ssh through the ethernet connection.
  1. record all data transfered from the smartphone app to the robot :
    • Launch Wireshark or tool like this.
    • Record all http command passing from the app to the robot
    • analyse them to extract the commands
  2. The link you provided look like a begining of this work, a .pcap file (packet capture between the app and the robot) that can be analysed to see which command are sent (Can be seen here)

  3. Describe the API :

    • With Swagger.io for example or just a plain text file
  4. Build an API in Python or C++ :

  5. Cameron Lane, the author of the github you provide began to do it here, you can probably ask him to collaborate on his work)
  6. Python will be easier here, since you can export it to C++ if necessary

  7. Build a simple ROS driver :

  8. Expose the Python/C++ API with standard ROS message, service and/or action.
  9. You will be able to command the robot with standard message from a ROS node.
  10. At this point you have a ROS driver that accept command and give access to camera.

  11. If you want to go further (optional but nice to have for learning) :

  12. Build a URDF model of the robot :

  13. You need to do it from scratch, and be very precise when you do it. Maybe ask the manufacturer for some help since hacking their toy is very good for the brand image.

  14. Build a MoveIt! plugin for the robot :

  15. To plan movement of the arm and the base

Have fun :)