Difference between revisions of "Triskar2"

From AIRWiki
Jump to: navigation, search
m (Some findings)
(Mechanics)
 
(10 intermediate revisions by 2 users not shown)
Line 22: Line 22:
 
* a [http://www.maxonmotor.com/ 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 [http://www.velmex.com/pdf/other/data%20for%20HEDS%20rotary%20encoder.pdf HEDS 5540 encoder by HP], 500 impulses/turn);
 
* a [http://www.maxonmotor.com/ 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 [http://www.velmex.com/pdf/other/data%20for%20HEDS%20rotary%20encoder.pdf HEDS 5540 encoder by HP], 500 impulses/turn);
 
* two [http://www.koyo.eu/en/ Koyo] model UP000 small pillow block bearings (many thanks to the Italian distributor [http://www.mci-componenti.it/ MCI] for helping us in getting these!);
 
* two [http://www.koyo.eu/en/ Koyo] model UP000 small pillow block bearings (many thanks to the Italian distributor [http://www.mci-componenti.it/ MCI] for helping us in getting these!);
* an omnidirectional 100mm wheel (model #14054, with hub #18009 for 10mm shaft) made by [http://www.opteq.nl/Shop/ Opteq];
+
* an omnidirectional 100mm wheel (Opteq model #14054, with hub #18009 for 10mm shaft: i.e., [http://probotics.eu/Wielen/omniwielen/14054-omni-wiel-100mm-dubbel-alu-met-kogelgelagerde-rollen this one]
 
* a short wheel shaft (aluminium, 10mm diameter);
 
* a short wheel shaft (aluminium, 10mm diameter);
 
* an elastic joint (#0.0.628.83, made by [http://www.item24.com/ Item]), used to connect the transmission shaft to the wheel shaft to reduce transmission of mechanical stresses.
 
* an elastic joint (#0.0.628.83, made by [http://www.item24.com/ Item]), used to connect the transmission shaft to the wheel shaft to reduce transmission of mechanical stresses.
Line 32: Line 32:
  
 
=== Computing ===
 
=== Computing ===
The first instance of Triskar2 robot is fitted with a small-form-factor PC by [http://www.zotac.com/ Zotac]: model ID82, based on an Intel Core i3 2330M dual-core processor. The PC is mounted on a quick-release tray.  
+
The first instance of Triskar2 robot is fitted with a small-form-factor PC by [http://www.zotac.com/ 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. All the software of Triskar2 has been developed by AIRLab, and is modular in its structure to allow easy modification.
+
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.
 +
 
 +
Instructions to get the onboard wifi adapter working with linux: http://rricketts.com/installing-ralink-rt3290-wireless-drivers-in-ubuntu-12-04/
  
 
=== Power supplies ===
 
=== Power supplies ===
Triskar2 uses a 24V DC power supply based on a couple of 12V sealed lead-acid batteries connected in series.  
+
Triskar2 uses a 24V DC power supply based on a couple of 12V sealed lead-acid batteries connected in series. They have to be connected to the Y cable with the black terminals.
 +
 
 +
The onboard PC requires 19V DC, which are generated from 24 V by a configurable board (model DCDC-USB) by [http://www.mini-box.com/DCDC-USB Mini-Box].
 +
 
 +
12V are needed for the access point, and are taken from a different battery, to be connected with the white connector.
 +
 
 +
The PC can be turned on by pressing the button on the left side (red when powered but switched off, green when switched on).
  
The onboard PC requires 19V DC, which are generated by a configurable board (model DCDC-USB) by [http://www.mini-box.com/DCDC-USB Mini-Box].
+
The engines can be switched on by pressing the yellow button below the PC, on the support.
  
 
=== Operating Instructions ===
 
=== Operating Instructions ===
  
With batteries charged and connected to the main connector, Triskar 2 is nergetically autonomous.
+
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.
+
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 turn power on, you should press the yellow button below the PC.
Line 51: Line 61:
 
To connect to the onboard PC, the usual way is to turn on the AIRLab wireless network, login on it, then go for
 
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 triskar@192.168.1.10
+
ssh -X airlab@triskar1
  
and log on the machine.
+
and log on the machine with the usual password (ask for it).
  
 
Once done that, one may run
 
Once done that, one may run
Line 68: Line 78:
 
A PWM of 2500 corresponds to  a speed of 1100 ticks over 1/100 sec or 110000 ticks/sec.
 
A PWM of 2500 corresponds to  a speed of 1100 ticks over 1/100 sec or 110000 ticks/sec.
  
The time needed to go to the desired PWM seems to beconstant and about 1.2 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.
 
Inertia when put PWM to 0 from 2500 is about 50 ticks over 1/100 sec or 5000 ticks/sec.
  
Moving the robot straight, 1 cm of displacement is about 785 ticks of each of the two frontal motors.
+
When the robot moves straight forward, 1 cm of displacement is about 785 ticks of each of the two frontal motors.
 +
 
 +
=== The controllers ===
 +
To tune the controllers we have found [https://controls.engin.umich.edu/wiki/index.php/PIDTuningClassical this page] and [https://controls.engin.umich.edu/wiki/index.php/PIDDownsides this page] very useful.

Latest revision as of 17:24, 20 March 2014

General features

The Triskar2 basic frame.
The Triskar2 base as seen from the side, with PC mounting.

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.

Triskar2 is currently under development as a base for some Robogames, the most advanced of which is presently Alien-Bot.

Components

Mechanics

The Triskar2 as seen from below.

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 (Opteq model #14054, with hub #18009 for 10mm shaft: i.e., this one
  • 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.

Electronics

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.

Computing

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.

Instructions to get the onboard wifi adapter working with linux: http://rricketts.com/installing-ralink-rt3290-wireless-drivers-in-ubuntu-12-04/

Power supplies

Triskar2 uses a 24V DC power supply based on a couple of 12V sealed lead-acid batteries connected in series. They have to be connected to the Y cable with the black terminals.

The onboard PC requires 19V DC, which are generated from 24 V by a configurable board (model DCDC-USB) by Mini-Box.

12V are needed for the access point, and are taken from a different battery, to be connected with the white connector.

The PC can be turned on by pressing the button on the left side (red when powered but switched off, green when switched on).

The engines can be switched on by pressing the yellow button below the PC, on the support.

Operating Instructions

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 airlab@triskar1

and log on the machine with the usual password (ask for it).

Once done that, one may run

geany &

that opens on your local machine...

Some findings

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.

The controllers

To tune the controllers we have found this page and this page very useful.