Ask Your Question
1

MeBo 2.0 on ROS?

asked 2018-01-06 19:11:39 -0600

NexxuSix gravatar image

updated 2018-01-09 02:43:04 -0600

gvdhoorn gravatar image

Hello All, I’m a beginner with ROS. I have it up and running just fine, and have completed the basic Turtle sim. I also have a book and some other literature on ROS, and have a pretty good idea on how ROS basically works.

I have a robot toy called a MeBo 2.0

The robot has both and Android and iOS application. They way the robot is controlled is to connect to its WiFi, and then you are presented with a view through its camera with a soft button control overlay on the screen. You can go forward backwards, etc, and control the manipulator.

There is a project out on the web that shows the MeBo web-API, but I can’t seem to make the MeBo respond with HTTP-only commands (I think it’s my syntax???). See for details: mebo-api

My question is, is it possible to control the MeBo 2.0 from a laptop running ROS (Ubuntu 16.04LTS Kinetic) to control the robot with HTTP commands through WiFi, and is it possible to import the camera preview page from the MeBo’s web page and use OpenCV to do basic navigation?

The MeBo itself uses a Sonix Access Point camera board similar to the SkyViper GPS drone (less GPS of course). Although firmware is available for most of Rocket Toys products, I have yet to find the actual firmware source for the MeBo 2.0 on their github site SkyRocket Toys

I would think this is possible, and was thinking of having the MeBo carry a ROS-enabled Raspberry Pi with Astro-Pi Sense Hat for a mobile solution. I know from reading some of the ROS tutorials, the MeBo would have to be defined with a URDF file, but I don’t have much information on how I would go about adding a consumer toy robot like the MeBo 2.0

Any help, thoughts or suggestion will be appreciated. As I mentioned I have a ROS beginner, and I’m learning as much as I can on my own.

Thank you!


Edit: Thank you for your prompt reply!

One note of interest is, that I've actually opened the MeBo 2.0 to see what is on the inside. The camera head has a camera and Sonix AP board with a speaker. That board communicates through a ribbon cable of sorts to the motor board in the base. The motor board has both a serial interface and a SW debug port on it. The drive train of the robot consists of a central motor for each pair of wheels... both left side and right side are each driven by an independent motor through a series of gears to give the MeBo 2.0 four wheel drive. The front axle of each drive train is internally connected to a simple wheel encoder. Feedback for the arm position consists of analog voltages going to the motor board.

Although all of the sensors exist, there is no "diagnostics web page ... (more)

edit retag flag offensive close merge delete

Comments

1

@NexxuSix: please don't post answers unless you are answering your own question. For everything else, update your original question or use comments to interact with other posters.

gvdhoorn gravatar imagegvdhoorn ( 2018-01-09 02:43:42 -0600 )edit

3 Answers

Sort by » oldest newest most voted
1

answered 2018-11-13 11:53:37 -0600

somerandomperson412 gravatar image

For people googling for this in the future, I had help with some users on the Letsrobot.tv Website, to hack this robot, and our API is open source on this github https://github.com/meborobot/runmyrobot it includes the Video API, and Controlls, arms, Claw, Wrist, and turning speed Feel free to download it! Lots of love! :)

edit flag offensive delete link more
0

answered 2018-01-08 04:37:04 -0600

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 :)

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2018-01-06 19:06:41 -0600

Seen: 1,786 times

Last updated: Jan 09 '18