Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited
Resolved Resolved by VGosine!

Camera Questions

I will be using three EZ-B V4's in an up coming robot build and I have a few questions.

- Will I be able to use three cameras, one with each EZ-B V4 and switch between views? For example: One in the robot's head; one down close to the floor; and one on the robot's hand.

- The pan servo will only be able to swing mechanically about 100 degrees due to where it will be mounted. The tilt servo is a winch servo and can travel more than 360 degrees. So I will be able to tilt the servo all the way over so it is facing the rear. Is there a way to invert the video?

Thanks in advance for your help.....


Upgrade to ARC Pro

Experience the latest features and updates. You'll have everything that is needed to unleash your robot's potential.

Hey Rex, Is Magnus back on track now? Is this for him?
Yes, you can have one camera per EZ-B v4.
Yes you can add multiple ezb's to a single project as well as add multiple camera controls.
What you can do to switch between camera views is just cycle through each camera's IP address from one control, or you can have each with it's own camera control.
I don't think there is currently an option to invert the video feed from a camera. but can you keep the camera upright and maybe use the 360 degree servo to rotate it within the x plane, preventing the video from being upside down?

Also, using this control command


ControlCommand("Camera", CameraStart, [Camera URL:PORT])

you can create a simple script that will cycle through each ez-b's camera

For example:


ControlCommand("Camera", CameraStart, "EZB://")
ControlCommand("Camera", CameraStop)
ControlCommand("Camera", CameraStart, "EZB://")
ControlCommand("Camera", CameraStop)
ControlCommand("Camera", CameraStart, "EZB://")

and setup a loop, provided that they are all connected to the same network as your computer.
@VGosine thanks for answering my questions. The script examples were very helpful. Knowing that I can switch between multiple cameras is very exciting.

@Dave Schulpius
Hi Dave. Magnus turned out to be just too much of an engineering and $$ nightmare. *stress* I was hoping for him to sort of resemble B9 in looks...maybe a B4 (get it :D) Not much point in going further with him if I can't get the arms to work the way I wanted. Maybe when you perfect the arms for your B9 Robot it will give me inspiration to resurrect Magnus. :P

I will soon start to move forward with my latest project... Questor Rev. 2.0
The new Questor will have a "retro" look and be larger than Questor 1.0. He will have a dome shaped head with Cylon eye and even moving finger lights similar to the ones on your B9. Right now I am looking for a suitable wheelchair base to use for locomotion.
@rgordon So i tested the example script and made some changes so that it actually works:)

I used two ez-b's on one network that i knew the ipaddresses of. Then i looped the script and had it switch between the two cameras every few seconds. Initially i was missing the port and the quotation marks around the ip address.
@VGosine Thanks so much..... I can't wait to test it out. So the way I see it, which ever camera is active, then, that particular EZ-B can perform camera related tasks while it's camera is active?
I will have three EZ-B's controlling various robot functions. Questor is about 5 feet tall so I thought I would have one camera down low for tracking objects closer to the floor, one camera at head level for tracking people's faces and other things up near the robots head, and one camera on the robots hand to track objects that he is trying to grasp. Does this sound like something that would work?
Yes, whichever camera is currently started you can enable specific tracking types for it.
I think your setup can work just fine. In the script you would need to enable each respective tracking type when you're switching to that camera. This can all be done by using the "Cheat Sheet" tab when writing a script, since it will autogenerate the possible camera control commands for you :-)