Asked — Edited

Roli Rover Video Streaming Over The Internet

I am very interested in Ezrobot Products, especially the Roli Rover. I am looking for and have been for some time, an economical security type robot for home use where I can control the base over the internet and control the camera pan/tilt functions over the internet and stream live video streaming over the internet using my Samsung Galaxy S4 over their 4G network. what came close was the Brookstone Rover Revolution Robot. However they didn't allow it to be accessed over the internet. I have a couple of questions regarding the Roli Rover specifically. Will this Rover be able to traverse over a carpet (not the shag type)? Also I was wondering what the capability of the pan/tilt system is? What is the pan range and the tilt range. The pan range isn't so critical as the robot can be driven to also pan the camera. What is a bit critical is the tilt range. Can the tilt mechanism be raised enough to be able to look up at windows and doorways, etc.? Also your robots seem to have some high power computing power and was wondering how the video stream is over the internet say using my Samsung Galaxy S4 over the 4G network? Again seems like the main computer is pretty heavy duty. Seems it off loads motor control and other robot control functions to the PIC32 processor. Also what is a typical delay or latency over the network with a video stream of say 240 X 320 resolution and possibly higher. Is there a way I could test this out without first purchasing the complete robot? also is there much latency in the actual control or driving of the base itself. It would also be nice if you could view the video stream at night. Are there any plans to add some IR LEDs to the camera or around it for use at night or in dark areas. Seems that this could be added fairly easily and would add an important function to the Rover. Also maybe a different camera could be added to your selection of add-ons to be purchased from your store. Also, is it necessary to buy the complete Roli Rover Kit all at once or can you purchase it in pieces as you can afford it? Would like to start out with computer/camera module first and then order the other pieces as time and money permits. I am assuming that with just the computer and camera modules I could check out some of the video issues for myself before jumping in all the way. However I am hoping there has been enough experience with the video streaming over the internet and control of the robot over the internet by the user community to give me a sense of how good the performance is and what I can expect. Thanks much and looking forward to your reply/replies......Rick Bonari


ARC Pro

Upgrade to ARC Pro

Synthiam ARC Pro is a new tool that will help unleash your creativity with programming robots in just seconds!

#1  

You have a lot of questions my friend. A lot of learning, you must undertake, young petawan.

  1. I believe so, but performance will be reduced due to more friction.

  2. If you get ARC and download the Roli example, and go to the AutoPosition control, I bet there is an action which will have servo positions going to the max and min. Just look for those numbers. The numbers will represent degrees.

  3. Yes. I believe he will be able to see that high. I don't own one though.

  4. Okay. This is a very common misconception. The ez-b robot board does no computing. Everything is offloaded to a phone or pc. This will complicate your idea a bit.

  5. Video delay on LAN is maybe 200ms but it will be much worse once you start tapping in from outside.

  6. Not really, unless someone local to you brought their robot by. People have already done this though I believe.

  7. Driving delay in my custom robots are little to nothing. If connecting from outside the network, there will be a fair amount.

  8. No plans for it less to my knowledge but you could install a wifi it led camera...

  9. Yes you could buy part by part, but it would be much less cost efficient with shipping costs and the bundled markdown. But yes, all parts needed can be bought separately.

  10. As stated, I believe it has already been done, or at least persued.

To do what you want, you will need to have a computing device(PC or phone) always connected to the robot over wifi. The robot would need to be connected to your network in client mode. The computing device would then need to run the http we host control I believe with the camera( there may be another way). You would then need to go into your router settings and portforward the IP address and port for the web host so you could access it from the outside.

A fair amount of work to do. Not for the faint of heart, but definately do-able.

#2  

I was wondering if anyone has used the ezrobots over the internet and if so what kind of delays do you experience in the video stream and drive/control response using say a 360x240 resolution? Can't believe no one has viewed the video stream or tried to control these robots outside their local area networks over the web. Looking for users that have actually done this and what their results and experiences have been. Would think using my samsung galaxy s4 over a 4g network it would have alot to do with the speed of the 4g network itself. Hoping to hear from someone experienced with controlling over the web outside of the local area network. Thanks much MazeHorizonTech for helping out.

PRO
Synthiam
#3  

Many many people use their ez-robots over the internet. Give questions time for people to volunteer and answers questions.

It would be helpful in the future if the questions were listed individually rather than in a paragraph. I believe @Techno answered many of your questions the best he could. However, without the ability to reference a list of the original questions, i can see how difficult it would be to apply the large paragraph of questions to an ordered list of answers. I'll expand on his responses a little, hopefully this helps:)

  1. The servos move between 1 and 180 degrees. So the question regarding your viewing angle is between 1 and 180 degrees (limited by anything in the way)

  2. There are many details to consider regarding "the internet". Firstly, even suggesting the speed of "4g" is still an arbitrary measurement. It's a good idea to use the internet and understand what 4g speed really means, as it's unique per carrier: https://en.wikipedia.org/wiki/4G

Also, consider that "4g" from your carrier is not guaranteed and ez-robot cannot be responsible for internet speeds.

The speed of the camera over the internet when i connect to the robot is approx 200ms-500ms delay sometimes, and when the internet is slow or moderate it's between 1000ms and even 3000ms.

*disclaimer: EZ-Robot is not responsible for the speed of internet connections and the speed answers you receive on this forum are not expected benchmarks.

That being said, you can easily calculate the raw video size before compression. Since you're mentioning a desired resolution, let's use that but first let's fix it. 360x240 is not a valid resolution. 320x240 is a valid resolution. Here's how you can calculate raw image size using a valid resolution...

Raw image Size: 320 x 240 x 3 = 230,400 Bytes

That is: Width x Height x Color Depth = Size

The color depth is RGB, which is one byte per color. Red is a byte, Green is a byte, and Blue is a byte.

The codec used by EZ-Robot compresses each frame to an average of 20,000 Bytes.

*disclaimer: please consider this compressed image size as a recommend average as EZ-Robot is not able to control visual environments and therefore the resulting image size of a compressed image is uncontrolled.

So, if you have a 20,000 Byte compressed frame, and imagine having a 1,000,000 Byte/sec transfer on your "4g" network, the max being 50fps. Now, the camera will limit transfer speed because it has a max of 30fps and attempts to idle between 10-20fps based on dynamic compression to leave bandwidth for audio and commands. A 1,000,000 Byte per second cellular connection is very uncommon.

*disclaimer: your provider and most research results may promote mb vs MB. The difference is byte vs Byte. So if your carrier promotes 5,000,000 mb/sec, that's actually 625,000 Bytes per second. A consistent 625,000 Bytes divided by 20,000 Bytes is 31 fps.

Dynamic compression means the compression algorithm changes between average frame size to increase fps over complicated images.

In summary, the question of controlling a robot over the internet is based on your internet connection - and everyone will have a different experience.

Your biggest question should be battery consumption - how long do you expect a robot with 12 motors and servos to have power while you're out of the house?

Lastly, you can purchase the parts separately. Visit www.ez-robot.com and click on the Products link from the top menu. That will introduce the web store of components. If you view the Roli product, there is a list of it's inventory. It really consists of servos, camera, body, ez-b v4, grippers, and camera. Each of those items can be purchased separately. If you have experience purchasing online, there is a concept of a "cart", where you can add items to the cart. Either adding the entire robot, or the parts individually.

There is no plan from EZ-Robot to add IR LED's for night vision, but it is something you can easily add yourself. EZ-Robot promotes robotics and not remote and advanced vision capabilities, which night vision does not qualify. Although, there are thousands of options to add IR LED's yourself, including IR flashlights, etc. available from eBay:)

#4  

I think most of your questions were answered, but no one addressed how to access it over the internet.

There are (at least) 3 ways to do it.

  1. Connect EZ-B remotely. To do this, you will need the router at the location with the robot forward ports 23 and 24 to your robot. ARC (either mobile of PC based) could then point to the public IP or host name. You will either need a static IP address or a dynamic DNS service to know where to point to. Although very effective, and probably the best camera performance, I would never forward port 23 on my network. It is a common attack vector, and you will probably have performance issues just from all the hackers trying to find something hack-able on your network with that port open and listening. You could have your router do port translation so you expose a less common port and point it to 23 on the EZ-B, but still, not what I would recommend.

  2. ARC running locally, and using the built in web server. ARC has two different built in web servers, a basic and a more advanced one that can be used to view the camera and remote control the robot from a remote location. You can define the port for the web server to run on, and as in #1, forward to that port. The video doesn't stream, but is instead a constantly refreshing jpeg, so performance is not quite as good. Still not sure if I would do this regardless of which port I chose because the web server built into ARC is not well tested for security and there could be unknown vulnerabilities that you are exposing.

  3. Remote control software (VNC, TeamView, Splashtop, etc...). A lot of users use TeamView to remotely access their ARC PC. This is effective although not the best video response. I use Splashtop Remote which is specifically designed for good video/game performance over a remote connection, but there is a yearly subscription fee to using it over the internet. Any of these A(well, except VNC) have the advantage that you are not opening a port in your firewall. The software running on the ARC PC establishes a secure connection to the vendors servers, and you log onto the vendor's servers with secure credentials to establish the connection. Security is part of their business, so this is probably the safest method of connection.

DJ mentioned battery, and that is a significant concern. I would not do this with a Roli. If you don't want to design a robot with automatic return to a charging station from scratch, the best off the shelf solution is an Roomba, either the Create (which doesn't have the vacuum parts and is made for hacking) or any recent vintage vacuum, which can be hacked. Get the EZ-B, camera, lever servo and rotation servo for your pan and tilt, and a clip and play adapter plate (all available in the store). You'll need to make a cable to connect to the Roomba, but then you can drive it with ARC, and just give it a command to find its charger and recharge when the battery is low.

Alan

#5  

Oh yes. The battery life. Yea Roli might not be the best choice. It may last 5 hours idle. Moving could chop it to 15 minutes.

#6  

Hello All,

Those answers were great ! The explanation by DJSures regarding video streaming was very helpful and educational at the same time ! Also the information regarding the battery issue was very helpful ! The option of using the Roomba as a base is very interesting. If I am getting what I hear you say, I can use the EZ-Bv4/Camera/Servos, etc. With Roomba and drive the Roomba, operate PTZ mechanism and view video stream using your amazing ARC software just like I would do with the Roli Rover but I would be able to resolve the battery issue by seeking out the battery charger for Roomba. Can I use ARC software to control all aspects of the Roomba base including of course driving the Roomba and controlling other aspects of the Roomba using ARC Software/User interface? Your help is much appreciated and all the options you provide along with the superior software interface make your products very attractive for any robot build. Your support is also first class. Thanks much. Interested to hear your thoughts regarding the Roomba Base useage and the depth of your support for it...Rick B.

PRO
Synthiam
#7  

Yeah - you could use a Roomba instaed of the Roli rover.

  1. EZ-B v4
  2. EZ-B v4 Camera
  3. lipo battery
  4. lipo battery harness
  5. Horizontal Clip'n'play servo
  6. Vertical Clip'n'play servo
  7. A little bit of hot glue to attach the servos for pan/tilt with camera to the roomba

voila

#8  

I would add clip and play adapter plate and glue or screw that down to give a good base to attach the camera servos to (and it is only $5).

Yes, you can drive the roomba around, and also give it commands (like clean, where it follows its normal clean pattern using its normal bump sensors etc...).

Search Roomba here on the forum and in the script manual for more information. Lots of discussions about it, and several users have built their robots using it as a base.

Alan