10. Remote Control

Once the robot is built, powered, and connected to ARC, you may test it with remote control before adding autonomous behaviors. Remote controlling the robot with a joystick, keyboard, WiiMote, etc., will allow you to test the functionality and ensure it is correctly operating. 

*Hint:  Your project needs to have a movement panel added and configured before these remote control robot skills can control your robot's movements. Review Step #7 in this getting started guide if you have not added a movement panel.


Remote Control Robot Skills

Avatar JD is a Virtual 3D simulator of JD the Humanoid Robot. You can move this Avatar JD to move your real JD Robot. Also, when you move your real robot Avatar JD will move as well (Version 9: Internal coding changes: Removed timer and used VariableManager and On Servo Movement event to get Servo Values and Scripting variables.) (Version 4: Used WPF Element host for smoother animation. Added $SIM_ global variables so you can write scripts to move Avatar JD and interact with the simulation....


Exosphere is a game-changing product that allows users to control robots remotely to complete tasks anywhere with an internet connection. You can use your phone or tablet to control a robot or add your robot to be controlled by others. This product gives you the power to help make the world a safer place and improve business efficiency. Exosphere gives any robot the ability to execute autonomous tasks or telepresence capabilities in the workplace or home with human intelligence. Exosphere...


This skill is used with a movement panel. When the movement panel is used (i.e. your robot is moving forward, left, right, etc) then the floor map skill will begin drawing a line in the direction of your robot. Use this skill to keep track of where your robot has been. This is not a navigation skill, it merely draws a line of direction and distanced that your robot has traveled over time for informational purposes. By default, the Config values specified will not work with your specific...


Remote control of the ARC Application (and your desktop) over a web browser. Use the Config button to load the configuration window. Specify the TCP Port and usernames for authentication. The default port of the HTTP server is set to 80. If you already have an HTTP server listening on port 80, there will be an error message in the status window when starting the ARC HTTP server. Main Menu Features Remote Control: View the ARC screen and interact with it via left mouse clicks. Using this...


This HTTP Server is different than the regular HTTP Server because it allows custom HTML Files. The HTML Files may contain special commands for controlling your robot Supported file extension types: .HTML .JPG .PNG .CSS *Note: Any other file extension is returned as a mime type of application/octet-stream The HTTP server will get the files from the My Documents\ARC\HTTP Server Root folder by default. This is found in your My Documents folder. In that folder, you can place HTML files, jpg...


The Interface builder skill empowers you to create a touch-screen user interface (UI) for your robot. Use buttons, labels, pads, sliders, drop-downs, checkboxes, and displays to make a control panel to activate features. Its a powerful way to interact with your robot. With the Interface Builder skill, designing a user interface is very easy, and you can create as many pages as you like. The user is presented with navigation buttons to switch between fullscreen pages. The skill allows you to...


A joystick can be connected and used with ARC to control movement, servo positions, and assign scripts to buttons. For XInput joysticks (such as Xbox), use the Joystick (Xinput) skill. The Analog/Digital joystick #1 is configured to control a movement panel. This can be changed by using the Config button and assigning servos to the joystick instead. Each button can execute a script by either pressing down or releasing up. *Note: If your joystick is connected after the project has been...


This is a Joystick skill for XInput devices (Xbox controllers, etc.). The advantage to this over the Direct Input joystick skill is that you have access to vibration hardware and independent access to analog inputs. Analog inputs, such as the triggers, can control servos or vibration motors. *Note: If your joystick is connected after the project has been loaded, press the Refresh button to detect and load the joystick. Main Window 1. Device Drop-down This drop-down shows the Xinput devices that...


Use this control to assign scripts to keyboard shortcuts. Any key can be assigned a Script command. By default, the arrow keys control any movement panel you have added to the project. If you press the UP arrow, the forward direction of the current movement panel is executed. If you press the Down arrow, the reverse direction of the existing movement panel is executed. If you want to configure scripts to execute for any keys other than arrow keys, you can do so in the configuration menu of...


This analog joystick skill controls any movement panel. Rather than using the interface builder to create a custom interface, this can be used to provide an analog movement joystick to any movement panel. Main Window 1. Analog Joystick This red analog joystick can be manipulated with the mouse cursor or a touch screen. Configuration 1. Dead Zone Field This value is the threshold the joystick must move by to be registered as a movement. The lower the value, the more sensitive the joystick will...


An on-screen joystick that will control any movement panel in the project.


Myo Gesture Armband with support for multiple devices. This will allow control of your servos and script variables with Thalmic Labs Myo. The gesture and accelerometer data are mapped to both servos and script variables. Much like how the Wii Controller works with ARC, this is very similar. The benefit on this armband is that it physically attaches to your arms, giving you the ability to have the robot mimic your movements without having to hold a controller or push buttons. Simply move your arm...


The Remote UI Client skill for ARC enables PCs to remotely control robots using customizable interfaces created in other ARC instances, with the ability to switch between multiple interface pages. This skill enhances robot functionality by allowing for tailored control schemes and remote operation, which can be particularly beneficial for managing complex tasks or operating in challenging environments. This is the PC version of the Remote UI Client. The ARC Remote UI Client allows ARC PCs to...


Sketch a path for your robot with your finger (on a tablet) or with the mouse. Use the configuration menu to select the turning and movement speed. These values are specific to the robot and speed. Because this depends on the robots speed and not wheel encoders, it is not always accurate. With wheel slippage and incorrect timing, this is not a reliable method of navigation. This also does not use the NMS (navigation messaging system), so there are no external sensors being used. Consider...


This skill allows you to control servos, movement panels, and scripts with a Wii Remote Controller. Use the controllers Home button to enable/disable the accelerometer servo movement. The directional pad (D-pad) can control a movement panel. You can use the other buttons to activate custom scripts. *Note: There are hundreds of versions of Wii remotes from both Nintendo and aftermarket clones. Synthiam supports the standard protocol of Wii Remotes but isnt a manufacturer of them. Synthiam is...


A server for DIY usage that allows a client to control servos and sends two camera streams to the client for stereoscopic view. This allows a custom VR app to use two cameras for stereoscopic view. C# .Net Win Forms Test App We have provided an example C# .Net test app demonstrating how a client can connect to this robot skill server. The app can be downloaded here: Dual Camera Servo Test App.zip Unity VR App The ideal custom VR app can be created in Unity. If using an Oculus Quest 2, we have a...


Use the Oculus Meta Quest 2 VR Headset to view any robots camera and control any robot’s servos with your hands or controllers. Servos can be attached to finger movements, hand movements, controllers, and buttons. Additionally, a built-in remote desktop controls ARC without removing the VR headset. This robot skill requires the Meta Quest 2 app installed from the Oculus Store to control a robot.  Transform your robot interaction experience with the Oculus Quest Robot Skill for Synthiam ARC,...


This is a servo camera video server which allows a remote client to move servos and receive video stream from a camera device. This is specifically useful for those creating Unity apps that operate as a client to ARC. where the camera video stream can be received and servo positions can be sent. The camera must be streaming for the servo positions to transmit. Demo #1 This is an overview of how this robot skill can integrate with a unity scene using the Unity animation tool. Demo #2 This...


Use Virtual Reality with your robot to see what the robot sees, and control servos by moving your head. This plugin supports all virtual reality headsets through Steam VR (OpenVR), Google Play, and iOS, including Google Cardboard, Oculus, Windows Mixed Reality, and HTC Vive. The plugin does two things; it allows you to see what the robot sees and control the servos with the Pitch and Yaw of the headset. This means when you move your head, the robot head can also move, mimicking your movement....