Triskar2 is a highly modular omnidirectional robot base developed by AIRLab. Triskar2 benefits from some years of experience with the omnidirectional robot Triskar. Triskar was built by AIRLab for the Milan Robocup Team, which participated to the Robocup competition up to 2010.
Triskar2 is modular from the mechanical, the electronic, and the software points of view. Its small dimensions (it fits within a circular area of roughly 600mm of diameter) are useful for use in indoor/cluttered environments.
Any mechanical dimension can be changed within hours. Each arm holding the motor is independent and can be locked on the central pillar in seconds. This also allows easy transportation. On the central pillar different "bodies" can be locked.
The electronics of Triskar2 is based on R2P, which allows easy and quick modifications. Data processing is done onboard by a small-form-factor PC running software developed by AIRLab.
The frame of the robot is based on Item mechanical elements Motor and transmission subsystems have been designed to minimize the number of mechanical elements that have to be especially built or customized for this application, thus reducing the time, tooling and skills required for modification, repair or construction.
Triskar2 uses three identical motor+transmission modules. Each of these includes the following elements:
- a Maxon motor+transmission+encoder combination (code #220251, composed of: #118798 DC motor mod. RE36, graphite brushes, 70W, ball bearings, 2 shafts; #166158 2-stage planetary gearhead, 2.25Nm, ball bearings; #110513 HEDS 5540 encoder by HP, 500 impulses/turn);
- two Koyo model UP000 small pillow block bearings (many thanks to the Italian distributor MCI for helping us in getting these!);
- an omnidirectional 100mm wheel (model #14054, with hub #18009 for 10mm shaft) made by Opteq;
- a short wheel shaft (aluminium, 10mm diameter);
- an elastic joint (#0.0.628.83, made by Item), used to connect the transmission shaft to the wheel shaft to reduce transmission of mechanical stresses.
Electronic elements (e.g., motor control) of Triskar2 are based R2P, the modular robot architecture developed at AIRLab by Martino Migliavacca. Independent, low-cost, HW modules implement the single functionalities (motor control, communication, sensor interfaces, ...) and it is connected to the others via a CAN bus, participating in a publish-subscribe architecture supported by the real-time operating system ChiBiOS. This means that interaction among modules is implemented in real-time. Modules include an ST Microelectronics ARM processor on which the basic functionalities of the module are implemented. Therefore, any robot HW can be implemented in hours.
R2P exposes a [MicroROS] interface, enabling each R2P node to interact directly to any ROS node implemented on a connected computer or network.
The first instance of Triskar2 robot is fitted with a small-form-factor PC by Zotac: model ID82, based on an Intel Core i3 2330M dual-core processor. The PC is mounted on a quick-release tray. Check the elastic band to keep it fixed.
Operating system is Linux. before turning off the power, press the PC button to obtain a nice shutdown.
All the software of Triskar2 has been developed by AIRLab, and is modular in its structure to allow easy modification.
Triskar2 uses a 24V DC power supply based on a couple of 12V sealed lead-acid batteries connected in series.
The onboard PC requires 19V DC, which are generated by a configurable board (model DCDC-USB) by Mini-Box.
With batteries charged and connected to the main connector, Triskar 2 is energetically autonomous.
When programming it, if there is no need to run it, you may securely lift the wheels and work with the PC powered by its own power supply, so saving batteries (which are anyhow needed to power the electronics and the engines).
To turn power on, you should press the yellow button below the PC.
To connect to the onboard PC, the usual way is to turn on the AIRLab wireless network, login on it, then go for
ssh -X firstname.lastname@example.org
and log on the machine.
Once done that, one may run
that opens on your local machine...
A PWM of 1000 corresponds to a speed of 400 ticks over 1/100 sec or 40000 ticks/sec.
A PWM of 1500 corresponds to a speed of 650 ticks over 1/100 sec or 65000 ticks/sec.
A PWM of 2500 corresponds to a speed of 1100 ticks over 1/100 sec or 110000 ticks/sec.
The relationship between PWM and motor speed under load seems to be linear.
The time needed to go to the desired PWM seems to be constant and about 1.2 sec, without control.
Inertia when put PWM to 0 from 2500 is about 50 ticks over 1/100 sec or 5000 ticks/sec.
When the robot moves straight forward, 1 cm of displacement is about 785 ticks of each of the two frontal motors.