Education Beginner Robotics Kits GrandportGrandport Starter Kits Grandport ES Series Kits Grandport MS Series Kits Parallax SolarboticsMousebots Other Solarbotics Robot Kits Sumovore Mini-Sumo Sumovore Parts and Accessories Modular Robotics Systems LegoLego Kits 3rd Party Lego Accessories RobobuilderRobobuilder Kits Robobuilder Parts and Accessories Robotis BioloidBioloid Kits Bioloid Accessories 3rd Party Bioloid Accessories Advanced Robotis System VexVEX Kits VEX Parts & Accessories VEX Software VEXplorer System Advanced Robotics and ToolsCoroWare Humanoids Phidgets Robotics ConnectionHardware and Accessories Robot Kits Serializer Robot Controller Robotics Connection Sensors Surveyor Robot Kits Beginner Robot Kits Track and Wheel BotsParallax Bots Robotics ConnectionHardware and Accessories Robot Kits Robotics Connection Sensors Serializer Robot Controller SolarboticsMousebots Sumovore Parts and Accessories Surveyor SRV-1 VEXplorer Humanoid Robot Kits Bioloid Robot KitsBioloid Kits Bioloid Accessories 3rd Party Bioloid Accessories Advanced Robotis System Futaba Hitec Kondo Kyosho Lynxmotion Parallax RobobuilderRobobuilder Kits Robobuilder Parts and Accessories TOMY Wowwee Full Robotics Systems RobobuilderRobobuilder Kits Robobuilder Parts and Accessories Bioloid Robot SystemBioloid Kits Bioloid Accessories 3rd Party Bioloid Accessories Advanced Robotis System VEXVEX Kits VEX Parts & Accessories VEX Software VEXplorer System Lego MindstormsLego Kits 3rd Party LEGO Accessories Pan and Tilt Robot Parts Communication Wireless CommunicationRadio Control (R/C) IR / Infrared Bluetooth Zigbee Remote Control Adapters/Converters I/O Boards & Robot ControllersPhidget I/O Boards Robotics Connection Serializer BASIC Stamp Atmel PIC PWM Switches Magazines Motor & Servo ControllersDC Motor Controllers Servo Controllers Stepper Motor Controllers Motors / Servos / Actuators DC MotorsBaneBots Lynxmotion Solarbotics Accessories ServosHobby Servos Robot Servos Continuous Rotation Servo Cables Stepper Motors Linear Actuators Switches & RelaysRelays & Switching Controls Floor Mat Switches Bumper / Momentary Toggle & Slider Switches Reed & Security Switches Wiring / CablesWiring Servo Cables & Extenders Sensor Cables Multipin Cable Connectors USB/Serial Cables & Hubs Mechanics Bearings / Bearing Blocks Chassis and DecksWheelbot Chassis Trackbots Bipeds Lock Collar and Shaft Keys Modular Drive Units Mounting Brackets Nuts/Bolts/Washers/Standoffs Pinions Robotic Bracket SystemsBAUER Independents Hitec Lynxmotion Robotis DX Series Transmissions / Gearboxes Wheels / Hubs / CastersCasters and Transfers Servo Mounted Wheels Shaft Mounted Wheels Sensors Distance / Range SensorsAccelerometers / Gyro Force Sensors / Pressure / Touch Sensors EncodersBaneBots Phidgets US Digital Motion Sensors Environmental Sensors Navigation Input SensorsJoysticks Remote Rotation Sliders Touch Sensors Voltage & Current Sensors Sensor Cables and Accessories Vision & Cameras AccessoriesElectronic Supplies LEDs Springs Straps Tools PowerBattery Chargers Portable / Batteries Voltage Regulators Wall Mounted AC-DC Adapters Lighting and DisplaysLasers LED Controller Boards LEDs Text LCD Garage Sale RFIDRFID Readers RFID Tags 125 Khz 13.56 MHzIcode2 Mifare 1S50 Mifare UL (Ultralight) Tag-It Starter Kits RFID Books
|
 |
|
 |
|
Everything begins with the XML!
The Trossen Robotics system uses an XML configuration file in order to store each robot's unique information. Information such as the dimensions of leg sections, servo angle values, and controller serial numbers are stored in the XML file.
Multiple Robots - Same Code
Storing the information in this method allows for people to write code which is usable beyond just one specific robot. Take for example a research lab which has four of the same robot model where each one is being used on different terrains. Even though the model of the robot may be the same each version will have it's own unique values.
For instance each motor controller will have it's own unique serial number and the servos themselves will have slightly different values for their 0, 90, and 180 degree positions. Storing information which fluctuates from robot to robot in an external XML file allows for code to be developed which works across multiple robots regardless of their unique differences.
The advantages don't stop at just sharing code between exact models of robots. The same concept is applied to robots which are similar, but not exactly the same. For example you could have two users which both have robotic arms of different sizes sharing code. One person could be in Japan with an 18 inch tall arm and the other person could be in Chicago with a 36 inch tall arm. These two developers would still be able to share code.
How can different size robots share code?
Simple, since the unique dimensions are stored for each persons robot the algorithms for operations such as walking or articulating an arm are "blind" to the robots size. The algorithms are "fed" the dimensions of the robot from the XML file and can perform their calculations for robots of varying sizes and configurations. No longer restricting people to rewrite basic robotics functions over and over again. To read more please view the Algorithm Library page.
Beautifully Simple
It's not a hard concept to grasp. Storing the robotic values in XML seems like a small step for robotics, but it's implications are far reaching. It opens the doors for a new model in robotic development. One which allows for students, hobbyists, and research labs to share their code and advancements with each other. For far too long
robotics have been reinventing the robotic wheel over and over and over again. It's time we start standing upon each other's shoulders and advancing together as a worldwide community.
|
|
|
|