Aller au contenu


Photo
* * * * * 1 note(s)

BOB4 - DRONE!


98 réponses à ce sujet

#41 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 18 octobre 2010 - 10:47

Est ce que tu as pensé à entourer l'électronique dans un bloc de mousse si jamais ca ne modifie pas trop le vol de l'engin ?
Tu ne peux pas trouver un système qui prend le relais si la carte plante histoire de couper la direction et le faire atterrir ? J'imagine que tu y a pensé.
Je sais qu'il existe des systèmes en modélisme qui détectent les ordres de la radiocommande, en cas d'absence temporisée le système effectue un ordre de sauvegarde déterminé à l'avance.

#42 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 19 octobre 2010 - 06:12

Merci pour ton message.

Est-ce que tu as pensé à entourer l'électronique dans un bloc de mousse si jamais ca ne modifie pas trop le vol de l'engin ?

Pour la mousse, j'ai déjà commencé à en mettre à certains endroits. Le problèmes, c'est qu'il y a plusieurs parties saillantes qui se prennent les
chocs en premier et sur lesquels je ne peut pas mettre de mousse: les sonars (surtout celui du bas), le push de reset, et les connecteurs. J'ai enlevé le capuchon du push, et je vais changer quelques connecteurs pour mettre des coudés, mais pour le reste, c'est plus compliqué.
C'est en fait sur le sonar du bas que l'électronique a du s'appuyer pendant le crash, et autour de laquelle la carte s'est (légèrement) pliée!

Mais clairement, il faut que je protège ça bien avant de m'attaquer à l'asservissement!

Tu ne peux pas trouver un système qui prend le relais si la carte plante histoire de couper la direction et le faire atterrir ? J'imagine que tu y a pensé.
Je sais qu'il existe des systèmes en modélisme qui détectent les ordres de la radiocommande, en cas d'absence temporisée le système effectue un ordre de sauvegarde déterminé à l'avance.

Pour le système de secours, il faut bien voir qu'un des gros risques d'un engin en intérieur, c'est de se prendre les pales dans un objet (mur, mobilier). les dégats peuvent être vraiment conséquent. Donc mettre une procédure de secours qui maintient, par exemple, les pales en mouvement pendant 1 ou 2 secondes le temps de l'atterrissage forcé mais contrôlé, je n'y crois pas. Il est plus sage, à mon avis, de tout couper. C'est ce que mon système actuel de sécurité fait.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#43 Heron_d'Alexandrie

Heron_d'Alexandrie

    Membre

  • Membres
  • 14 messages

Posté 21 octobre 2010 - 05:32

Bonsoir,

As-tu un site dédié à ce projet ?
En fait je cherchais juste une vidéo et je pensais la trouver sur un site perso mais ici ce serait bien aussi.

Je ne sais pas si tu connais le forum mikrokopter, je sais qu'il y a des projet de drones autonomes là bas.

#44 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 21 octobre 2010 - 06:32

Je ne fais pas de site pour BOB4 pour l'instant. J'en ferais un quand j'aurais des résultats concrets de vol autonome, je ne vois pas l'intérêt d'en faire un avant. Pour les vidéos, j'en ai posté 2 ou 3 dans les posts précédents.

Pour ce qui est de mikrokopter, ce projet a un gros défaut... c'est que ça ne parle que l'Allemand! Und ich spreche nicht Deutch.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#45 raoullevert

raoullevert

    Membre

  • Membres
  • 19 messages

Posté 24 octobre 2010 - 07:49

Salut,

J'ai fait quelques tests avec une micro caméra lcd (fournie avec une carte mini2440). Le principal soucis pour calculer le déplacement X/Y par rapport au sol est qu'il faut compenser les mouvement de rotation de l'hélico. Si tu hélico penche en avant sans même avancer, le capteur va 'voir' un défilement très rapide. Un simple calcul prenant en compte la hauteur est l'angle de rotation pourrait faire l'affaire, à la précision près. Plus l'hélico sera haut, plus la précision sera dégradée.

Je suis toujours assez impressionné par le boulot que tu as fait en tout cas.

Pour les perturbations HF générée par les moteurs : Il n'est pas possible de mettre la carcasse à la masse (sur un moteur à charbon j'entends), et de mettre une ferrite sur les fils d'alimentations ?

#46 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 25 octobre 2010 - 07:57

J'ai fait quelques tests avec une micro caméra lcd (fournie avec une carte mini2440). Le principal soucis pour calculer le déplacement X/Y par rapport au sol est qu'il faut compenser les mouvement de rotation de l'hélico. Si tu hélico penche en avant sans même avancer, le capteur va 'voir' un défilement très rapide. Un simple calcul prenant en compte la hauteur est l'angle de rotation pourrait faire l'affaire, à la précision près.

C'est bien ce que je compte faire, car je connais déjà l'inclinaison dans les 2 sens. Mais avant ça, il faudrait que j'arrive à exploiter mon capteur de souris, ce qui est loin d'être gagné. Il est tout à fait possible que ça ne fonctionne jamais...

Mais pour l'instant, je vais me concentrer sur l'asservissement, et c'est une partie assez difficile, où le risque de crash reste élevé!

Pour les perturbations HF générée par les moteurs : Il n'est pas possible de mettre la carcasse à la masse (sur un moteur à charbon j'entends), et de mettre une ferrite sur les fils d'alimentations ?

Je n'ai pas de perturbation HF gênantes. J'ai fait ce qu'il fallait pour ne pas en avoir: condos de découplage partout, masse "maillée", fils de puissance torsagés.
Ce qui m'empêche de faire des mesures avec la boussole à proximité des moteurs, c'est le champ magnétique créé par les moteurs. Le problème c'est surtout que ce champ est VARIABLE quand les moteurs tournent. Pour l'instant, je garde la solution du capteur déporté.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#47 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 31 octobre 2010 - 01:54

BOB4 est HS!
J'espère que ce n'est que temporaire, on verra bien.
Le module Bluetooth avait pris cher lors du premier crash. 2 ou 3 crash supplémentaires, ainsi que les vibrations importantes de l'hélico l'ont achevé! Des pistes du module ont été arrachées, coupées... impossible à réparer. Je vais commander un nouveau module bluetooth.

Si j'ai encore des problèmes après ça, je referais toute l'électronique, en corrigeant mes erreurs: montage traversant du module bluetooth à supprimer, petites erreurs de routage. Vu le temps que j'ai passé à développer ça, refaire l'électronique ne constituerai pas un effort insurmontable, loin de là. Une centaine d'euros et quelques heures de soudure, c'est tout.

Avancement:
Je bosse en ce moment sur l'asservissement. J'ai réussi à faire un asservissement très correct en "lacet" (l'orientation), et un asservissement perfectible en altitute. L'hélico fait de petite oscillations jusqu'à 10cm, de période ~2 secondes.
Je suis quand même content du résultat, c'est un GROS PROGRES dans l'avancement du drone! Je peux lacher complètement le manche de gauche. J'ai fait comme ça un vol de 3 minutes en ne contrôlant que le manche de droite, c'est à dire du plateau cyclique (longitudinal et latéral). Ca repose de ne piloter que ça! Ce test prouve au moins que l'asservissement est stable (à défaut d'être parfait), même quand je titille l'engin avec le manche de droite.

Je n'ai pas de vidéo à montrer, l'électronique est tombée en panne avant de me laisser le temps. Une petite capture d'écran d'un log sur l'asservissement en altitude. Le mode 'automatique' commence un peu après 14 secondes:
exemple_asservisst_02.GIF

Pilote d'essai:
J'ai endossé un nouveau rôle, pour faire les tests de l'asservissement: celui de pilote d'essai! Eh ben, putain que c'est dur! (désolé pour le vocabulaire, c'est un cas de force majeure). C'est épuisant pour les nerfs! Il faut pouvoir rattrapper rapidement le drone qui part en couille... Sachant que ce drone, c'est quand même un truc auquel je tiens, je n'ai pas envie de le crasher trop souvent, ni trop violemment. Pourtant, il peut partir en vrille d'un seul coup! C'est assez flippant de laisser le contrôle à un programme auquel je ne fais pas plus confiance que ça.
En même temps, pour savoir pourquoi ça part en couille, il faut le laisser partir en couille franchement, ne serait-ce qu'une fraction de seconde. C'est uniquement comme ça qu'on voit (par exemple) quel terme P, I, ou D du PID a fait diverger le truc en premier.

Bref, régler l'asservissement d'un truc volant, c'est tout sauf simple! C'est infiniment plus facile avec un robot roulant. J'avoue que je ne me rendais pas bien compte de la difficulté du truc quand j'ai décidé de me lancer!
En tout cas, il faut avoir énormément de méthode, de rigueur pour ne pas faire de connerie, et pour exploiter au maximum les vols d'essai.
Le pré-réglage de l'asservissement issu de la simulation m'a été indispensable (voir quelques posts plus haut). Impossible de régler l'asservissement en partant de Zéro sur un engin aussi dangereux! (si, si, dangereux)
Il faut ensuite faire des logs les plus complets possibles, en enregistrant même les variables intermédiaires. Il faut noter TOUS les paramétrages de chacun des tests, garder précieusement tous les logs associés, etc... J'ai fait une dizaine de vols d'essais pour régler l'asservissement en altitude, et j'aurais du en faire beaucoup plus si je n'avais pas été aussi rigoureux.

Ma vision du projet:
Ce projet est vraiment génial! Ca m'emène dans des directions que je n'imaginais pas trop. Ca va plus loin que je le pensais. Je ne voyais pas toute la difficulté du truc. Je ne regrète pas du tout de m'être lancé, même si à ce jour, je ne suis pas assuré d'obtenir un résultat correct. Et puis pour les problèmes que je rencontre (crash, électronique HS), ça fait clairement partie du jeu, on va dire que c'est fait pour tester ma persévérance! Rassurez-vous, je tiens bon!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#48 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 14 novembre 2010 - 04:13

Ca y est !!! BOB4 vole tout seul !!!

http://www.youtube.com/watch?v=tFb0ywztnQI

C’est un des tous premiers vols autonomes de BOB4 ! 30 secondes seulement, mais 30 secondes de bonheur ! Dans la vidéo, je fais décoller et atterrir BOB4 en "manuel". Tout le reste, c'est du pilotage automatique! 100% automatique ! Si vous me voyer essayer de triturer les manettes, c'est que je m'apprête à reprendre la main pour éviter le (nieme) crash... mais je ne le fais pas. En fait, la reprise manuelle est irréversible : si je bouge les manettes, je reprend la main automatiquement. Vous avez ici 30 secondes 100% autonomes! J'ai fait 5 vols comme ça, je n’ai pas réussi à dépasser les 40 secondes, l'asservissement n'est pas assez robuste, on voit bien que ça part en couille à la fin de la vidéo.

C’est laaargement perfectible, mais au moins ça fonctionne ! Ca n’est pas super bien mis au point, je perfectionnerai ça dans le futur. Il reste encore énormément de boulot.

Mais bon, je suis TRES content et TRES fier de ce résultat. Moins d'un an après le début de ce projet, j'ai franchi une très grosse étape ! Ca a été difficile, très difficile, mais aujourd'hui, je ne retiens que le résultat. J'oublie les (nombreuses) difficultés de ce projet.

Je rappelle que j'ai TOUT fait moi-même. Depuis les cartes électroniques jusqu'au code. Je n'ai RIEN pompé ailleurs, pas une seule ligne de code ! Et c'est de ça dont je suis le plus fier !
Je rappelle également que le drone est complètement autonome, avec son intelligence embarquée, ses propres capteurs (bousolle + 4 sonars + gyro + accéléro).

Vous trouvez peut-être que je suis excessif dans le ton de ce post, mais bon, vu l'énergie dépensée sur ce projet, j'espère que vous me comprendrez !
N'hésitez pas à réagir.
A bientôt!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#49 raoullevert

raoullevert

    Membre

  • Membres
  • 19 messages

Posté 23 novembre 2010 - 08:44

Juste un mot : bravo.

Ça n'a l'air de rien, c'est vrai, mais c'est un super projet que tu viens de réaliser ! En espérant que ça suscite des vocations !

#50 skyhack

skyhack

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 885 messages
  • Gender:Male
  • Location:Racourt et Flaba (08)
  • Interests:Synthé, modélisation mécanique, bricolage divers, VTT enduro

Posté 23 novembre 2010 - 08:52

Ah enfin ... Je sais à quoi ressemble Léon :P (si c'est bien toi sur la vidéo).

Sinon, bon boulot, to be continued.

skyhack.
" Monsters are real. Ghosts are real too.
They live inside us and sometimes they win."
-------------Stephen King.------------------

" le fait que les extraterrestres étaient amis avec les Mayas ne signifie pas qu'ils sont nos amis ... "
-------------------------------------Stephen Hawking----------------------------------------------------

#51 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 23 novembre 2010 - 11:15

Merci pour vos commentaires.

Skyhack : Oui, c'est bien moi sur la vidéo!

Raoul: Le projet est loin d'être terminé. Comme tous mes projets, c'est un peu sans fin, ça peut aller très loin. Même le prédécesseur BOB3 est loin d'être fini, et peu subir encore plein d'améliorations!

Sinon, je n'ai pas encore fait re-voler BOB4 en automatique. J'ai plein d'idées d'amélioration. Je ne sais pas si BOB4 volera correctement un jour tout seul, mais il serait idiot de ne pas essayer! C'est tout simplement PASSIONNANT comme aventure!

En parallèle de ça, je suis en contact avec les organisateurs de l'IMAV2011. Une participation à cette compétition, face à des équipes nombreuses et fortunées (si, si), ça serait vraiment l'aboutissement de ce projet! Mais bon, c'est encore un rêve lointain. Pour l'instant, j'y crois!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#52 raoullevert

raoullevert

    Membre

  • Membres
  • 19 messages

Posté 24 novembre 2010 - 11:42

En même temps, dans un projet, le proof of concept est l'étape la plus difficile à franchir !
Meme si le projet ne sera jamais finis (c'est le principe du projet pour moi) .....

#53 Jan

Jan

    Webmaster

  • Membres
  • PipPipPipPipPip
  • 4 747 messages
  • Gender:Male
  • Location:Rhône Alpes

Posté 28 novembre 2010 - 05:59

Très très impressionnant ! Bravo pour le travail réalisé...
Franchement je suis épaté, c'est une de plus belle sinon la plus belle réalisation que j'ai pu voir sur le forum.
Merci de nous faire partager ce projet.

#54 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 29 novembre 2010 - 07:24

Très très impressionnant ! Bravo pour le travail réalisé...
Franchement je suis épaté, c'est une de plus belle sinon la plus belle réalisation que j'ai pu voir sur le forum.
Merci de nous faire partager ce projet.

Wow, si j'ai même réussi à épater Bernard!

Ca me fait vraiment chaud au coeur d'avoir ce genre de retour, surtout de la part de gens qui entrevoient la difficulté du truc! Merci beaucoup!

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#55 Inounx

Inounx

    Membre occasionnel

  • Membres
  • Pip
  • 111 messages
  • Gender:Male
  • Location:Toulouse

Posté 29 novembre 2010 - 08:02

Salut Léon,

beau boulot que tu nous a fait là ! BOB4 a volé de ses propres ailes ;)
J'admire ta persévérance pour avancer à cette allure sur un tel projet perso.
Encore bravo et bonne continuation :)
Mon blog : InounxProjects - Projet en cours : Robert
"All the world's a stage, And all the men and women merely players." - William Shakespeare

#56 jeD

jeD

    Membre

  • Membres
  • 20 messages
  • Gender:Male
  • Interests:http://www.voilier.powet.eu

Posté 05 janvier 2011 - 10:27

Bonjour,

C'est vraiment un très bon travail, félicitation! Lorsqu'on regarde des vidéos on pense qu'on peut facilement faire la même la réalité est malheureusement différente !

Des centaines heures condensé en 30 secondes de plaisir, chanceux ! Bon courage pour la suite !

jeD
AUSV-MSE, mon projet de voilier autonome : http://www.voilier.powet.eu

#57 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 06 février 2011 - 07:32

Ca faisait pas mal de temps que je n’avais pas écrit ici. J’ai malheureusement pas mal ralenti ces derniers mois sur ce projet, il va falloir reprendre sérieusement. Mon boulot (celui qui me fait vivre) m’occupe pas mal ces temps ci. Et ma motivation a pour la première fois faiblie. Pourtant, je pense plus que jamais à participer à une compétition avec BOB4, ce qui me donnera un objectif concret de délai. En regardant ce qui se fait comme drones d’intérieur sur le web, je pense que j’ai une chance… Mais ne crions pas victoire trop vite, BOB4 n’en est qu’à ses débuts de vols asservis, il reste une tonne de travail à abattre. Sans compter que je ne sais pas si je pourrais obtenir un résultat satisfaisant un jour.

Quoi de neuf ?
1) Nouveau train d'atterrissage: Suite aux nombreux crashs avec des dégâts j’ai refait le train d’atterrissage en beaucoup plus costaud, avec des tiges de carbone ligaturées entre elles avec du fil à coudre et de la superglue. J’y ai intégré un support batterie (voir plus bas). C’est une grosse amélioration, le drone fait plus fini, plus propre et surtout plus robuste.

2) Batterie plus puissante: J’avais un manque chronique de puissance, l’asservissement ne fonctionnait pas bien du fait de ce manque de pêche. Sans rien changer à l’électronique ni aux moteurs, je suis passé à des batteries 3S donc de tension 50% plus élevée (11.1V au lieu de 7.4V), et de même capacité qu'avant (850mAh). L’électronique est compatible, les moteurs aussi en théorie. L’autonomie est désormais beaucoup plus correcte une dizaine de minutes, et il y a une bonne réserve de puissance ce qui facilite l'asservissement. J'ai mesuré 480g de poussée pour un poids de 300g, contre 320g de poussée pour un poids de 270g auparavant.

3) Filtre électronique: J’ai mis un filtre électronique passe bas (résistance + condo) sur les sorties des 3 accéléromètres, avec une fréquence de coupure de 10Hz. Les vibrations étaient vraiment gênantes pour les mesures des accéléros. Ca améliore les choses, mais c’est loin d’être parfait. La compensation d’offset des accéléro longitudinal et latéral fonctionne assez mal, je ne vois pas trop comment améliorer la chose.

DSCN6005_small.jpg
DSCN6004_small.jpg

Il a fallu tout re-paramétrer le drone suite au changement du train (répartition du poids), et de la batterie (puissance), ce qui m’a pris pas mal de temps. Avec les modifications et un peu de travail, j’ai un peu amélioré l’asservissement, comme vous pouvez voir sur la vidéo. Vous avez ici 2 minutes 30 de vol autonome. La partie autonome commence à 0min9sec et termine à 2min50sec. Le drone arrive à rester la plupart du temps dans une sphère de 50cm de diamètre, pas mieux pour l'instant. C'est en progrès, mais encore insuffisant.

La suite des travaux :
* Il faut améliorer l'asservissement
* Il faut programmer des déplacements en 3D, pour l'instant, il sait juste maintenir une position fixe... J'ai commencé ça, mais pas testé
* Il faut tester les solutions de caméra pour estimer les déplacements.
http://www.youtube.com/watch?v=rZDc73miIfY

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#58 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 12 février 2011 - 09:02

Voici les premier vols avec des mouvements, des translations. Ca pourrait s'appeler "dessine moin un carré".
Je rappelle que le drone est 100% autonome!
C'est pas terrible, moins stable que la semaine dernière. En fait, le drone s'est pris pas mal de crash (encore), la mécanique n'a pas aimé, il vibre beaucoup en vol, et ça perturbe les capteurs. On peut voir notamment que l'estimation d'orientation fonctionne assez mal. Il croit être penché alors qu'il est horizontal.
J'ai aussi une nouvelle fois dégomé l'électronique suite à un crash. J'ai du ressouder tout ça, encore des pistes arrachées. C'est sans doute la fin de cette électronique, que j'ai trop réparée, j'en referai probablement une nouvelle prochainement.
Bref, ça avance bien, mais je rencontre encore beaucoup de problèmes.




Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#59 lordcuty

lordcuty

    Habitué

  • Membres
  • PipPip
  • 298 messages

Posté 27 mars 2011 - 06:09

pour l'avoir vu fonctionner à caprica 3 je confirme que c'est un super projet très impressionnant tout comme bob3 de plsu j'ai eu l'occasion de discuter avec léon

#60 Guiguite89

Guiguite89

    Membre

  • Membres
  • 61 messages
  • Gender:Male

Posté 27 mars 2011 - 09:29

Je viens de tomber sur ce projet, c'est vraiment remarquable ce que tu as fait jusque là ! chapeau bas !! :blush:

Merci beaucoup de faire partager toutes explications sur ce forum, c'est vraiment enrichissant de lire ce post !

Encore BRAVO !



Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users