Difference between revisions of "Triskar2"
(→Mechanics) |
|||
(46 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | == General features == | |
− | + | [[Image:Triskar2.jpg |thumb|left|200px|The Triskar2 basic frame.]] | |
− | + | [[Image:Triskar2FlatSmall.JPG |thumb|right|200px|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 [http://robocup.elet.polimi.it/MRT/Robots/Triskar.html Triskar]. Triskar was built by AIRLab for the [[MRT, the Milan Robocup Team | Milan Robocup Team]], which participated to the [http://www.robocup.org Robocup] competition up to 2010. | |
− | Triskar2 is | + | 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 [[Low-cost Robotics | 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 === | ||
+ | [[Image:Triskar2 from below.jpg |thumb|right|200px|The Triskar2 as seen from below.]] | ||
+ | |||
+ | The frame of the robot is based on [http://www.item24.com/ 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 [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!); | ||
+ | * 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); | ||
+ | * 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. | ||
+ | |||
+ | === Electronics === | ||
+ | Electronic elements (e.g., motor control) of Triskar2 are based [[Low-cost Robotics | R2P]], the modular robot architecture developed at AIRLab by [[User:MartinoMigliavacca | 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 [http://chibios.org/dokuwiki/doku.php ChiBiOS]. This means that interaction among modules is implemented in real-time. Modules include an [http://www.st.com/ 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 [http://www.ros.org/ ROS] node implemented on a connected computer or network. | R2P exposes a [MicroROS] interface, enabling each R2P node to interact directly to any [http://www.ros.org/ ROS] node implemented on a connected computer or network. | ||
− | + | === Computing === | |
− | by [http://www. | + | 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. |
− | Triskar2 is | + | 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 [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 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 [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
Contents
General features
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 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.