Education Beginner Robotics KitsElenco iBOTZ 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 Hexapod Robot KitsMicromagic Systems Hexapods Beginner Robot KitsElenco iBOTZ Parallax SumoBots Track and Wheel BotsParallax BOE Bot Parallax SumoBots 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 Robonova Kondo Kyosho RobobuilderRobobuilder Kits Robobuilder Parts and Accessories TOMY 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 Xbee & Zigbee Remote Control Adapters/Converters I/O Boards & Robot ControllersPhidget I/O Boards Relays & Switching Controls Robotics Connection Serializer BASIC Stamp Atmel PIC 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 Wiring / CablesWiring Servo Cables & Extenders Sensor Cables Multipin Cable Connectors USB/Serial Cables & Hubs Mechanics Modular Drive UnitsMotor Mounts / Bearing Blocks Nuts/Bolts/Washers/Standoffs Robotic Bracket SystemsBAUER Independents Hitec Lynxmotion Robotis DX Series Sensor Brackets Straps Tools Transmissions / Gearboxes Wheels / Hubs / CastersBaneBots Hub and Wheel System Casters and Transfers Lynxmotion Shaft Mounted Wheels Servo Mounted Wheels Solarbotics GM Series Wheels Sensors SwitchesFloor Mat Switches Bumper / Momentary Distance / Range SensorsAccelerometers / Gyro Force Sensors / Pressure / Touch Sensors EncodersMotion Sensors Environmental Sensors Navigation Input SensorsJoysticks Remote Rotation Sliders Touch Sensors Voltage & Current Sensors Sensor Cables and Accessories Vision & Cameras 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 MHzStarter Kits RFID Books
|
| TRS Explained Part 2 |
 |
Benefits of the TRS |
 |
 |
|
|
 |
 |
|
 |
 |
Some of the major features and benefits with the TRS
No Box!
When we began building a robotics system for the PC our first rule of thumb was that we would not create yet another box which would trap users into something that limited their future evolvement. That meant no IDE and building open agnostic standards. It meant the system had to be easily upgradable and flexable enough to adapt with the quickly changing technologies. The Trossen Robotics System is all these things so that there is no box to become trapped in. Too many companies are providing solutions which limit what users can do and we didn't want to be another one.
Modular
The TRS and the software components used with it are completely modular just like the hardware layers. This way when hardware upgrades are made the related code module can be upgraded as well. There won't be a need to tear apart a project and rebuild it from the ground up just because new range sensors or motor controllers come out. This modular upgradablility extends to thrid party tools as well. Since third party tools plug into the system when a better rendering control or algorythm library emerge the old ones can be thrown out and replaced with ease.
Open Standard
The only way robotics will truly begin to take off is if there are standards which allow people to start sharing. In essence, allowing people to begin standing upon each other's shoulders. We created an entire robotics object model built upon an XML open standard for this purpose. Each robot has an XML configuration file associated with it which stores it's entire model. This makes the robotic code very mobile between robots and developers because the code exists independantly from the layers which are robot specific.
Third Party Plugins, Tools, and Modules
An open standards system is hugely beneficial for a community because it allows for the proliferation of third party tools to emerge. The TRS was designed to allow for companies and individuals to concentrate upon areas of interest and expertise to create add ons and tools. Imagine in a few years when there will be a dozen rendering engines available to choose from. Or a dozen algorithm libraries for every kind of DOF arm on the market. Algorithm libraries for biped and hexabot gates. Vision systems for navigation and object recognition. Motion control plug ins that can read the config file for any differential wheelbot and begin mapping a room out of the box. All these things are completely real possibilities with the TRS. Open Standards are a wonderful thing.
Developer Control
The developer is always in control. Nothing happens without the developers say so. Many systems try to be overly helpful to developers by tying layers together. At first glance this architecture seems like a helpful and intuitive way to go, but before long the dangers of architecting this way become clear. When separate layers are tied together to save time for developers limitations are being introduced into the system. When layers are tied together independence and control are lost. This is not a good way to architect a robotics system, so we didn't. For example, when a developer has a need for motion control a request is sent to the algorithm library and the library returns arrays of data which will execute the motion requested. The algorithm library does not directly make updates to the TROM or send commands out to the motors. That's not it's job. The data is returned and at the developers disposal to act upon. New data may have come in from the sensors which has changed the game plan or a developer may simply wish to analyze options or pre-store certain gates. The code a developer writes should always be in control and a developer should have the freedom to architect their robotic intelligence as they see fit without overly helpful systems getting their fingers in the way :)
Let's take a closer look at each of the TRS components in the next sections:
The TROM
The Sensor & Controller Libraries
The Algorithm Library
The Device API's
|
 |
 |
|
 |
|