9/25/2008
CrustCrawler, Inc.
Controlling a Robotic Arm from the Internet
CrustCrawler Robotics receives many "How to" questions related to telerobotics in some form or another. So we decided to create a simple telerobotics demo. This demo is a work-in-process and as time goes on CrustCrawler Robotics will be adding more interactive web pages and free open source code. If you have any questions about this project please post them on our Telerobotics community forum.
Smart Arm Test Drive
Added 10/27/2008, the Smart Arm Test Drive is an internet application created by the CrustCrawler Interactive group that allows anyone to control a Smart Robotic Arm through a web interface. The test drive is using a Parallax Propeller running DynaBus Embedded to control the smart arm's AX-12 bus. A client applicaiton runnign on a PC processes incoming requests from our web server. The requests are sent to the Propeller through a USB connection and then forwarded to the AX-12 bus. AX-12 motor status is queried every 1/2 second and the results are send back to the web server and displayed.
What is Telerobotics?
Telerobotics is an area of robotics that takes advantage of technology to control and monitor robots over some distance.
CrustCrawler Telerobotics Demo
The CrustCrawler telerobotics demo uses the following technologies:
- An Internet application (Linux/Apache/MySQL/PHP) responsible for controlling, monitoring, and state management services.
- A client application (.NET) for communicating between the controlling hardware and Internet services.
- A web browser
This demo takes place in a fictitious factory where robotic arms perform repetitive work tasks to produce widgets. Factory workers schedule work processes and monitor quality parameters like temperature, voltage, and load through an interactive web page.
The goals of this telerobotics project are:
- Keep it simple
- No programming to get started
- Straightforward control panel
- Motor Instrumentation and monitoring facilities
- Expandability
- Help and support
Software Requirements
- Smart Arm Client application This is a zipped folder that contains the "SmartArmWebClient.exe" and supporting library files for controlling an AX-12 network.
- Windows PC running .NET framework 2.0 or later.
- Web browser
Download and unzip the Smart Arm Client application application on the PC that will control the robotic arm or Dynamixel network. The client application, SmartArmWebClient.exe, is a console program that runs on Microsoft Windows. Once launched, the SmartArmWebClient.exe communicates with the CrustCrawler web server through HTTPGET and simple XML services.
If you’re running on non Window platform like Linux or MAC you need to create your own client application. CrustCrawler supplies the source code as a free download. Feel free to use our code as a template.
Hardware
- CrustCrawler AX-12 Smart Arm or 7 AX-12 servos (IDs 1 to 7) or a single AX-12 with ID 1
- USB2Dyanmixel or Parallax Propeller Demo Board
- 7 to 10V (9.6V ideal) power source
A Smart arm is not required! During development CrustCrawler decided to add monitoring services for a single AX-12 with an ID of 1.
Steps-By-Step Instructions to get started
Connect the client PC to the Smart Arm controller using the USB2Dynamixel or Propeller Demo Board. Connection instructs can be found on the Smart Arm Page.
Pre-Written Work Process Files
- Smart Arm LED Check - Check your Smart Arm setup
- Smart Arm Demo - Demo sequence
- Rest Smart Arm - Place the Smart Arm in the "Rest" position
- AX-12 ID(1) Tester - Test a single AX-12 with an ID of 1 (ID 1 is also the rotating base)
If you plan to run the "Smart Arm Demo", I strongly recommend running the Smart Arm LED Check work process first. The Smart Arm LED Check work process lights each Dynamixel LED in sequence starting with 1 and ending with 7. Looking from behind the Smart Robotic Arm
,the base LED (ID1) lights first. After about 2 seconds the left shoulder LEDs lights up (ID 2). Next is the right shoulder (ID 3), followed by the left elbow (ID 4), right elbow(ID 5), rotation wrist(ID 6), and gripper(ID 7). If your LEDs do not follow this sequence do NOT run the Smart Arm Demo. Doing so can cause damage to your Smart Arm. You must reassemble your Smart Arm using the proper assembly sequence as outlined in your assembly guide before using the CrustCrawler's Telerobotics Demo!
Execute a Work Process
- If you have not done so, visit the Login page and create a account. When you create an account CrustCrawler provides a directory to store your telerobotic state files.
- Once logged in you will be directed to the Control Panel page. Look in the upper right hand corner of the page. You will see your username.
- From the Control Panel select the "Work Process" you would like to run. This can be done from any PC with Internet access!
- Double click "SmartArmWebClient.exe" from the PC that is connected to the robotic arm or AX-12 network.
- Enter the COM port number and baud rate for the AX-12 network.
- Enter you email address when prompted. Important step, the client application uses your email address to identify which files belong to you.
- SmartArmWebClient.exe will read your directory on the CrustCrawler web server and load your current work process request.
- SmartArmWebClient.exe will prompt the you to press any key to continue or press "Q" to quit.
- Next, the client application will download and execute the selected work process file.
- Go to the Dynamixel Instrument Panel to monitor the Smart Arm (Dynamixel network) in real-time.
Execute a Work Process (Graphical Steps)
Step 1

Step 2 & 3

Steps 4, 5, & 6
Steps 7 & 8
Step 9

Step 10
