Portail des Équipes

Coupe de France de Robotique - Eurobot

Sommaire

2017 … On vise la lune

Le theme de la coupe 2017 a été annoncé, il s’agit de Moon Village.

Nous avons déjà pris certaine décision pour l’an prochain:

  • Damien et Fabien travaillerons sur le gros robot, a base de structure alu, moteur encodeur externe, carte Tiva, et Lidar pour la detection. Ils ont deja la base de cette année pour tester et affiner tout cela.
  • Tony et Morgan travaillerons sur le petit robot, avec une structure alu, moteur et encodeur externe, carte beagleboard et Lidar de détection. Si le règlement ne prévois pas de petit robot, nous engagerions donc une seconde équipe en compétition.
  • Jeremy travaillera sur un systeme de balise de localisation externe

Coupe 2016 …Bilan

On a pas vraiment pris le temps de vous faire un bilan de cette année 2016.

Cette année a été un petit peu chargé pour tous les membres (Naissances, achat maison etc …)

Nous n’avons donc pas pu réaliser un robot adapté au règlement. Nous avons repris les 2 robots de l’année précédente que nous avons adapté pour la compétition.

Cela nous a tout de même permis de participer et tester notre asservissement, et la détection avec le lidar.

Nous avons aussi découvert la coupe a l’extérieur, et oui grande première pour nous, nous n’avons pas dormi dans notre lit, mais dans un bungalow d’un camping de la Roche sur Yon.

Néanmoins, malgré la perversité d’un juge arbitre titilleur, nous avons homologué nos 2 robots avant le 1er match, et nous avons fait toute la compétition avec nos 2 robots fonctionnels. Tout n a pas été parfait mais nous nous félicitions  de notre belle 49 eme place

 


Test d’impression 3D de ventouses

Salut à vous ! Cela faisait longtemps que l’on en parlait mais nous n’avions jamais pris le temps de tester : l’impression 3D de ventouses ! Il y a quelques ...

Derniers matchs de qualification + phases finales !

Deuxième et dernière journée de cette coupe d’Europe 2016. Notre estomac bien rempli, nous partons en direction de la coupe ! Difficile de trouver une place de parking proche de la coupe… Tant pis, on va marcher ! Il est tôt, et à en juger par les têtes de certains, le sommeil était en option pour cette nuit…

9h 24, le premier coup d’envoi de la journée. La circulation dans la salle des stands commence à s’établir, les scies commencent à se mouvoir, les fils électriques se torsadent d’un coté de notre stand, et les limes chauffent de l’autre. Tout cela annonce une bonne journée !

Des cadeaux circulent entre les équipes. Et à peine 9h 39 arrive que nous recevons notre deuxième livraison de chocolats de la part d’une équipe suisse ! Merci RI7  !

Début dimanche

Ça y est ! C’est notre tour ! Nous jouerons contre l’équipe russe Reset !

« Ready ? 3… 2… 1… Go ! », À ces mots, les deux robots accourent vers la dune, avec un léger avantage pour Black !… Voir plus, car les lanceurs russes ont tardé à lancer leurs robots !

Les arbitres sont demandés pour un nouveau départ. Ils acceptent !

Soit, nous recommençons.Célestin tuto danse

« Ready ? 3… 2… 1… Go ! », Black se rue vers la dune à son tour ! Il arrive une nouvelle fois premier malgré le léger retard de notre lanceur Valentin ! Les deux robots s’immobilisent, chacun ayant détecté la présence de l’autre. Au bout de quelques secondes, Black finit par essayer de se recaler par rapport à la dune car son adversaire ne souhaitait pas bouger. Stressé par son adversaire qui n’était qu’à quelques centimètres de lui, il n’a pas pu prendre la dune…

Pearl pendant ce temps a rassemblé des coquillages sur notre serviette ! Puis, ayant remarqué que son co-équipier était immobilisé, il s’est dit : « Black mon ami, je vais m’occuper des poissons, ne t’en fait pas ! » Malheureusement, stressé par la situation critique de Black, il n’a pas pu se caler de la bonne manière pour pêcher tous les poissons.

Ainsi, à la fin des 90 secondes de match, le score retenu est de 65 pour nous et 61 pour l’équipe russe.

 

5ème match, nous jouerons contre VaMons a la playa, les champions de Belgique ! Nous les avions battus à la coupe de Belgique, mais ça… C’était avant… ! Connaissant approximativement leur comportement en match, nous avons opté pour une stratégie beaucoup moins agressive au départ.

Compte à rebours terminé ! Nos deux robots partent paisiblement récolter des points. Black commence par ce qu’il fait de mieux, il prend le temps le temps de se placer, puis se saisit de la dune ! Celle-ci est ramenée en sécurité dans notre zone de dépose, tandis que notre robot Black repart s’occuper d’autre chose, ses leds clignotantes fièrement sur le haut de sa balise !Beau match

Pearl n’en a pas fait des moindres. Équipé de son dispositif de pêche hypersophistiqué constitué d’une plaque d’aimants, il prend lui aussi le temps de ramener le maximum de poissons dans le filet.

Ce match nettement moins violent que les précédents s’est clôturé sur un score de 149 pour Black / Pearl et 99 pour les robots de VaMons a la playa ! Bravo à eux !

 

Les phases de qualifications sont terminées et le classement général est établi ! Et, ça alors ! Nous avons amassé suffisamment de points pour participer à la suite du championnat ! Et notre premier adversaire sera RCA que nous avons déjà affronté hier !

13h 20, quelques équipes commencent à partir, mais la tension dans la salle est d’autant plus palpable… D’un coté, nous revoyons nos stratégies en vue du prochain match, de l’autre nous préparons tout le matériel Hardware et mécanique dont nous aurons l’utilité un peu plus tard. Nous prévoyons aussi qui nous pourrions affronter dans les matchs futurs, sous condition de victoire au moins à ce premier match.

Notre rencontre contre RCA commence, tandis que notre mascotte Célestin se donne à cœur joie de nous encourager ! Célestin lui même est encouragé pour continuer par le public !Célstin encourage

Au top départ, Black semble se téléporter devant la dune. Sans problème, il la ramène rapidement dans notre zone de construction. Le gros robot de RCA en profite pour récupérer un bloc de sable de notre coté du terrain. Pearl, qui dans le match précédent avait réussit à marquer pas mal de points est à ce moment perdu sur le terrain. Tentant de se replacer, il s’accroche sans le faire exprès à un coquillage qui l’empêche de se recaler correctement. Finalement, par un excès de zèle, il accélère violemment vers l’un des tasseaux de la zone de construction ! Ça alors !? Pearl tombe à la renverse en plein milieu du match !! Incapable de se relever, il perd conscience… Black est obligé de le décaler tout en se pressant pour ramener d’autres blocs de sable dans la zone.

Pearl, toujours à terre à la fin du match, ne lève même pas le drapeau pirate de la funny action à la fin des 90 secondes réglementaires. Laissant les scores à 145 pour notre équipe et 125 pour RCA.Pearl à la renverse

Pearl va-t-il se réveiller ? Cette chute lui sera-t-elle fatale ? Vous le saurez en continuant de lire cet article !

 

Le prochain match nous opposera à l’équipe serbe MBS ! La tension est palpable, et Célestin fait signe au public d’en donner encore plus ! Ce math s’annonce à priori enflammé, car l’équipe gagnante aura droit à son ticket pour les demi-finales !

Le décompte des 5 secondes est arrivé ! Black donne tout dès ce début de match pour arriver le premier encore devant la dune ! Il se place pour prendre le maximum de cette dune, mais que se passe-t-il ? Le petit robot de MBS semble s’être placé juste derrière Black ! Black, ayant attendu un peu qu’il se décale fini par le pousser légèrement contre les tasseaux. Mais celui-ci en redemande, et à peine Black s’est replacé pour prendre la dune que ce dernier se recale derrière lui… Ces deux robot immobiles nous font tourner les yeux vers notre Petit Pearl qui s’est remis de son choc de tout à l’heure ! Celui-ci a d’ores et déjà accompli une part de son travail en poussant le bloc devant la zone de départ vers notre zone de dépose. Cependant, il semble ne pas pouvoir sortir son bras pour pêcher les poissons tant convoités…

Après 40 longues secondes d’inertie, Black finit par s’extirper de l’endroit où se trouve le petit robot de MBS, laissant tomber dans sa course désespérée la majeure partie de son butin de sable, et s’arrêtant même avant la zone de dépose… Quel dommage.

Ce match très controversé donne lieu à une discussion sérieuse entre les différents arbitres et les deux équipes. Certains estimant que Black n’aurait pas dû pousser le petit robot comme il l’a fait et d’autre que ce petit robot n’avait pas à rester si longtemps au même endroit…

Après cette discussion de presque une demi-heure avec les arbitres, la sentence nous déçoit, mais est irrévocable. Le score est donc de 81 points pour l’équipe serbe, et 53 point pour nous..

L’aventure de cette coupe officielle de robotique Eurobot s’arrête donc en quarts de finale pour nous. Cela dit, c’est tout de même mieux que l’année précédente où nous nous étions hissés jusqu’en huitièmes de finale. Gardons la tête pleine de bons souvenirs car nous avons eu de beaux matchs.

L’équipe vainqueur de l’édition Eurobot de cette année est donc une fois de plus RCVA. Équipe que nous avions battu en demie-finale cette année même en coupe de France. Bravo à eux !

 

Aventuriers et joueurs comme nous sommes, nous n’avons pu résisté à l’envie de demander un match amical contre RCVA, et en bons adversaires, ils ont bien sûr accepté ! Voici donc la retransmission (pas en direct !) de notre rencontre face à eux :

La plupart du public est debout même après cette longue journée. Et cette fois ci les arbitres ne sont pas présents, donc pas de problèmes avec les discussions trop longues ! Chacun opère à ses petits réglages avant le début du match : coups de tournevis, nettoyage des roues, recalage des éléments de jeu ! Nombreux sont les spectateurs qui se sont accumulés autour de la table. Au programme : un rush rapide de notre côté !

Les robots sont prêts ! Et notre commentateur favori est là aussi ! Et il est bien renseigné !

Les deux robots sont lancés ! Et à toute vitesse de chaque coté ! Une collision a eu lieu devant la dune ! Mais nos gros champions se sont vite écartés l’un de l’autre. Cela fait, la dune était dans un état assez pitoyable. Ce que Black a fait, c’est qu’il a réussit à tirer le maximum de ce qui restait de la dune : il a écarté tout le devant avec ses ventouses, puis en s’y calant bien, il a réussit à s’en emparer ! De plus, petit changement par rapport à d’habitude, il s’est servi de la dune pour pousser les portes des cabines de plage !Célestin accroupi

Ce match loin de ceux très sérieux d’aujourd’hui s’achève avec un score de 116 pour RCVA à 60 pour nous. Nos robot ont réellement tout donné durant cette coupe ! Ils méritent amplement leur dose de repos qu’il auront pendant le voyage qui nous mènera jusqu’à Angers.

C’est ainsi que s’achève la coupe Eurobot 2016, sur une équipe qui s’est surpassée et qui va profiter du voyage pour se reposer… Enfin, pour ceux qui ne conduisent pas !

Coupe d’Ile de France 2016

Ce weekend nous étions à la coupe d’Ilde de France à Electrolab ! Merci à tous pour ces deux jours de robotique ! C’était super chouette de pouvoir se retrouver ...

Bientôt la mise à jour

Bonjour à tous,   Nous avons été un peu pris par le temps, entre travail et avancement sur le robot. Nous promettons de mettre très bientôt à jour notre site avec photos et articles sur la Coupe de France de Robotique et sur la Coupe d’île de France ! Nous allons également créer notre chaîne […]

Goldorak 2016 post-mortem

Until two years ago, the robots we developed for Eurobot, were centralized systems. An FPGA board powered the robot: reading sensors, controlling actuators, and running all the control loops. An auxiliary computer provided access to higher level features such as computer vision, and it sometimes was used to run the strategy.

However, due to an increasing number of actuators on the main robot: Debra (a robot we started developing in 2011 as a reusable platform with a differential base and two SCARA arms), we decided to shift to a distributed architecture.

Thus, the FPGA was replaced by several motor boards, a single master board, and the embedded computer remained.

  • The motor boards are little boards we designed in 2014-2015 that use a STM32F3 microcontroller to control a single motor in torque, velocity, and position. They were connected through a CAN bus to the master board.
  • The master board is an STM32F4 board from Olimex (Olimex E407) connected to CAN, and to the computer via Ethernet.

Robot architecture

The motor boards1 were controlled over the CAN bus, then an IP link with a custom RPC protocol bridged the CAN bus with the computer.

As with all projects, we had delays, so in 2015 we weren’t able to homologate at the SwissEurobot competition, although we managed to win a Jury award for best design.

Last October, @antoinealb and I, decided after a trip to ROSCon 2015 in Hamburg2, we want to experiment with CAN directly on a computer, and leverage all the tools and libraries provided by ROS and SocketCAN in order to build the small robot for Eurobot. It was dubbed project Goldorak, and the name stuck, so the robot was named Goldorak3.

This post goes through our journey, the limitations we hit when using ROS for Eurobot on a microcomputer (the BeagleBone Black), and the lessons learned from it.

ROS meets UAVCAN

CAN on Linux

The choice of an embedded computer was pretty straightforward. I had previously worked with the BeagleBone Black and grew acquainted with it. It provides CAN and Ethernet off-the-shelf. So we chose to use the BeagleBone Black as our embedded computer.

At first, we did the setup by hand, but later on we automated it using SaltStack4. Installing and setting up SocketCAN was quite easy5.

Bridging UAVCAN with ROS

In order to use the motor boards we designed the previous year, our BeagleBone Black had to speak UAVCAN. We needed to send PID parameters and setpoints, and to also receive feedback if needed.

First, a ROS-UAVCAN bridge was the first node to be written. We wrote it in C++ since UAVCAN’s Python implementation was not as mature back in October. The process was quite straightforward, but boring and repetitive: for each message structure supported by the motor board, there are a ROS publisher and a UAVCAN subscriber, or vice versa.

Each motor board had a name and node ID to identify it. The CAN messages were relayed onto ROS topics divided between setpoint and feedback, and organized by namespace: each node name defined an associated namespace. Take the right_wheel node for example, the associated list of topics looks like this.

/right_wheel/feedback/encoder
/right_wheel/feedback/index
/right_wheel/feedback/position
/right_wheel/feedback/torque
/right_wheel/feedback/velocity
/right_wheel/feedback/voltage
/right_wheel/feedback_pid/current
/right_wheel/feedback_pid/position
/right_wheel/feedback_pid/velocity
/right_wheel/setpoint

We can control the right wheel of the robot by sending a message over the right_wheel/setpoint topic and receive feedback from it through several topics under the namespace right_wheel/feedback. One especially useful feedback is /right_wheel/feedback/encoder providing external incremental encoder values used for positioning. The right_wheel/feedback_pid namespace was dedicated to feedback for PID tuning which included setpoints along with measurements of the same quantity.

PID tuning over CAN

Using RQT for plotting and using dynamic reconfigure to send PID parameters to the motor boards, we setup a nice interface to tune the PIDs of the motor board:

  • Setpoints and measured outputs are plotted in top left (PyQtGraph plot)
  • PID parameters are tuned through the widget in top right (dynamic reconfigure)
  • Topics are monitored and selected for plotting, from the bottom widget (topic monitor)

PID tuning interface with Rviz and Dynamic reconfigure

Making Goldorak a ROS enabled robot

Once our differential base’s motors were controllable through ROS nodes, and our PIDs were tuned, we were ready to build an abstraction of the wheelbase to be used for robot motion.

In order to control a robot the ROS way, you need to expose a node that subscribes to the /cmd_vel topic of type geometry_msgs/Twist. This is a message describing a desired velocity in linear x,y,z and rotational x,y,z axis (roll, pitch, yaw) to be performed by the robot.

geometry_msgs/Vector3 linear
  float64 x
  float64 y
  float64 z
geometry_msgs/Vector3 angular
  float64 x
  float64 y
  float64 z

For a robot with differential base, this is quite easy, since you can only apply a combination of linear x and angular z (yaw) velocity. The equations are also straightforward:

velocity_right = (velocity_forward + (track / 2.f) * velocity_yaw) / radius_right;
velocity_left = (velocity_forward - (track / 2.f) * velocity_yaw) / radius_left;

Where track is the distance between the two differential driving wheels.

Moving the robot is nice, but the robot also needs to know where it is. For that, we use incremental encoders placed on additional external wheels, that we call odometers (i.e. not the motor driving wheels). Odometry equations are simple for a differential base.

Our system, however, is a bit more complex due to its distributed architecture. Indeed, the two odometers are wired and handled by two separate microcontrollers so there is no synchronisation between their samples. A solution to this problem is to predict the encoder value of the wheel with the oldest sample at the time of odometry computation. This asynchronous odometry was implemented last year, so it was only a matter of wrapping it in a node and subscribing to the right topics to get encoder values. The estimated robot pose is published to the /odom topic which is a nav_msgs/Odometry type of message.

std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
string child_frame_id
geometry_msgs/PoseWithCovariance pose
  geometry_msgs/Pose pose
    geometry_msgs/Point position
      float64 x
      float64 y
      float64 z
    geometry_msgs/Quaternion orientation
      float64 x
      float64 y
      float64 z
      float64 w
  float64[36] covariance
geometry_msgs/TwistWithCovariance twist
  geometry_msgs/Twist twist
    geometry_msgs/Vector3 linear
      float64 x
      float64 y
      float64 z
    geometry_msgs/Vector3 angular
      float64 x
      float64 y
      float64 z
  float64[36] covariance

Now our robot is compatible with the ROS navigation stack. Yay! But that was not enough for us, we also wanted to visualise our robot in Rviz… in 3D! In order to achieve that you need a joint state publishing node to broadcast the state of the wheel joints, this will alow you to see the wheels rotating in Rviz. Then running the robot_state_publisher node we would get the TF of all the links specified in our URDF robot description.

This was a simple model of the robot with two wheels, two caster links, the body and a beacon link6.

Goldorak in Rviz

Using ROS navigation stack for Eurobot

So now we can control our robot, know where it is and visualise it in real time. Time to make it navigate!

The ROS navigation stack is a set of motion planners based on a discrete costmap approach. It consists of a global planner and a local planner.

  • The global planner solves the problem of going from point A to point B in spatial coordinates (x, y, z) given a discrete map with obstacles (occupancy grid). This problem is typically solved using A*, Djikstra and/or potential field algorithms.
  • The local planner will locally compute a feasible trajectory on the global plan (result of the global planner) taking into account desired arrival orientation and kinematic constraints (holonomic or not, fully actuated or underactuated). Popular implementations of local planners include the simple trajectory rollout, the Dynamic Window Approach, the Elastic Band Approach to cite a few.

The navigation stack also supports inputs from a laser scanner, but we didn’t use it on Goldorak since we only had one that was already used on Debra.

ROS navigation stack

Setting up the navigation stack is not black magic, a nice guide is provided in the tutorials and if you follow it you’ll be OK. Tuning the navigation stack, now that was another story. I was able to tune the parameters when running the navigation nodes on my laptop using DWA as local planner. The result was pretty cool.

But as soon as it had to run on the BeagleBone Black, we would hit the computational limits of the platform, so we had to tune the parameters sub-optimally to run on it. We switched to trajectory rollout for local planning, and increased the goal tolerances while decreasing update rates of costmaps and control.

The result was OK, although not sufficient for the tasks at hand. We only realized these limitations a few weeks before the contest when we started testing the fishing module for the competition. By then, it was too late to change much in our approach to the problem. Retrospectively, a possible solution would have been to use the spare Intel NUC of Debra and connect it to the BeagleBone Black, then have it run all nodes except the UAVCAN bridge which would run on the BeagleBone Black.

Computers are all fun and games until they are not

Saving CPU resources on the BeagleBone Black

Now that our navigation was consuming up to 70% of CPU time on the BeagleBone Black, we needed to think carefully about how we used our resources. We switched time critical nodes into nodelets to save some CPU time. Nodelets are a way of writing a node such that it can benefit from zero-copy publish/subscribe and free us from some overhead of processes while maintaining the introspective capabilities of ROS. One major setback was that we weren’t able to wrap the UAVCAN bridge into a single thread or a nodelet.

We also played with nice, a Unix tool that allows you to set the priority of a process. This way we were able to give priority to control nodes.

BeagleBone Black’s limitations as ROS platform

Along the journey, as we had more and more nodes to build for our robot to run, the build time increased from a few seconds to ~20 seconds. This effect was more dramatic on the BeagleBone Black, we went from a few tens of seconds to a full record of 20 minutes of painful compilation time. It felt like writing software in the 1960 where you had to wait until next day after the code you wrote was punched into cards and ran by a computer operator.

A logical reaction of ours was to try crosscompiling for the BeagleBone Black on our machines. We crosscompile everyday for ARM cortex-M microcontrollers that run our motor boards and such. So crosscompiling must be easy, right? Well… turns out it’s not. After a few minutes of Google search, you realize that no one ever crosscompiles ROS nodes, and you wonder why. So you try to make it crosscompile on your own. You sacrifice a few goats7, and you learn more than you would like to know about CMake, and you managed to compile, but then crosscompilation crushes you because you will NEVER link against ROS libraries. You heretic, how dare you think about crosscompilation8.

So if you were thinking about crosscompiling your ROS nodes, then think about something else to do with your life, maybe become a farmer and grow some corn: agriculture makes more sense than computer science, at least it’s governed by laws of physics.

2016 Competition summary

The swiss contest took place on May 2016. With Goldorak, we intended to perform several actions:

  • Shell collection using grippers (2 points per shell)
  • Door closing (10 points per door), this task was left to the bigger robot, Debra
  • Fish collection in the water (10 points per fish in net and 5 if in the robot) using a dedicated module (2-axis cartesian with impeller and magnets)
  • Beach umbrella deployment using a pneumatic tank (20 points) on which Mathieu wrote a great article

With all the software, mechanical and integration hassles encountered, we only managed to perform the last two actions.

The umbrella deployment worked flawlessly. The electrovalve commanding the pneumatic release was controlled by a motor board acting as on/off switch and DC-DC regulator. The umbrella was successfully deployed in all our 7 matches.

The fishing sequence had high requirements on the position of the robot relative to the border. The left side of the robot had to be less than 2cm away from the border to allow the impeller to deploy correctly in water and attract the fish to be caught using magnets.

In the end, fishing sequence had to be hacked around due to the poor performance of the navigation on our CPU-bound platform. We managed to collect between 0 and 2 fish per match for a total of 9 fish in 7 matches, and we successfully deposited 7 fish in the net (1.14 fish per match in average if counting fish in robot as 0.5 fish).

An unexpected problem was getting stuck by a shell and thus getting lost. Another common problem was the navigation oscillating around its goal at the 2nd or 3rd fishing sequence, after which the robot would freeze until the end.

In average, the small robot scored 31.4 points per match, well below the maximum 90 points envisioned at the design phase (70 if we don’t count the door closing action).

Closing remarks

To finish this long article, here is a list of things to remember:

  • ROS communication stack is stable and very nice to have, it makes node debugging easier and feature implementation faster.
  • ROS navigation stack is fun and very useful for large scale robots navigating among humans but for Eurobot it’s overkill and requires a very powerful onboard computer to run properly. The navigation stack is well suited for probabilistic navigation and avoiding unpredictible obstacles, however Eurobot requires more precise and repeatable positioning.
  • ROS visualisation tools are very useful but tend to crash sometimes which is kind of frustrating (but it doesn’t matter since processes are decoupled).
  • Smach is a cool library for writing a state machine for your strategy but its viewer crashes all the time.
  • There is a nice framework to write tests with ROS nodes but the feedback loop is too long to use effectively for Test Driver Development.
  • We didn’t manage to cross-compile ROS packages to ARM which slowed down our development as we approached the contest and the changes were only testable on the real hardware.
  • We lacked thorough testing due to delays in manufacturing and assembly of the robot and very long feedback loops between two tests on the robot.
  • Having a computer on board your robot for Eurobot is nice for CPU hungry computation, but don’t use a microcomputer such as the BeagleBone Black or the Raspberry Pi. These boards are nice for tinkering but they tend to have long boot times and slow CPUs. They can’t be used as replacement for a more conventional computer in all applications. Also note that it’s not as simple to use IO as it is on a microcontroller9.
  • Keep your stack as simple as your application requires.
  • We are going to use a microcontroller board as master on our robots. That doesn’t mean we won’t use an onboard computer, just that it will be a slave and won’t be a critical component of the robot.
  1. DC Motor Controller boards with CAN Interface.

  2. The just got back from conference effect.

  3. Project Goldorak, CVRA’s small robot for Eurobot 2016.

  4. Setup of the BeagleBone Black used on Goldorak, our small robot.

  5. My BeagleBone Black setup for embedded and robotics development.

  6. The beacon system we used this year consisted of an optical obstacle detection based on an emitter and receiver on our robots and a reflector on the opponent’s robots.

  7. No goats were harmed in the making of this article.

  8. Where we stopped trying to crosscompile.

  9. In order to use IOs on Linux, you need to setup the device tree overlays and use sudo. You can use sysfs to run without sudo, but that can’t be applied to all peripherals.

RCVA nous dévoile ses robots

Mardi dernier, une des meilleures équipe de la coupe a pris le temps de poster 2 vidéos de ses robots complètement démontés et en a expliqué le fonctionnement et la ...

CVRA at the MassChallenge Switzerland Opening

On Friday 10th of June, 2016 a few team members and Debra were invited to present the robot at the inauguration of the MassChallenge startup accelerator. This accelerator aims to be the most startup-friendly on the planet, by providing entrepreneurs with the ressources needed to take their companies to the next level. MassChallenge will last 4 months and it will be installed just a few meters away from the CVRA.

During the opening, Debra was tasked with an important job: giving the inaugural ribbon-cutting scissors to Anne-Catherine Lyon, member of the Council of State of Vaud and to Marianne Huguenin, Mayor of Renens. It was started using the typical Eurobot cord by Philippe Leuba, member of the Council of State of Vaud.

Such an event was an excellent opportunity for us to present our activities to local politicians as well as other members of the tech industry. We would like to thank MassChallenge Switzerland, Inartis and UniverCité for inviting us.

Watch the pictures of the event in our album.

Debra revealing the ceremony ribbon-cutting scissors

Picture © Inartis Foundation 2016

Coupe de France de robotique 2016 The Beachbots : le retour

Cette année encore, les « roboteux » sont se sont bien amusés à la Coupe. Le lieu de la compétition a changé puisqu’il s’est déroulé à La Roche-sur-Yon. Cependant cela n’a en rien changé l’état d’esprit d’entraide et bon enfant qu’on voit chaque année entre les équipes. La préparation des robots à la compétition, les homologations ainsi que les matchs se sont déroulés au Centre d’Exposition les Oudairies.

P1020358

Baby Gali

P1020370

Gali IX

 

 

 

 

 

 

 

 

 

 

 

 

 

L’équipe Eceborg a eu de bons résultats puisqu’elle termine 42éme dans la compétition avec un total de  361 points totalisés sur tous ses matchs. Les étudiants ont assuré leurs arrières avec deux victoires ; ils ont pendant un moment été 22ème mais malheureusement des petits problèmes techniques font que les résultats ne répondent pas totalement à leurs attentes. Une chose est sure : l’équipe Eceborg a plus que jamais été dans la compétition.

 

 

 

 

 

P1020346

Open robotics

Après leur panne de robot pendant la Coupe d’Allemagne, la deuxième équipe Open Robotics de l’association a réalisé un exploit en réparant intégralement leur robot pendant les journées de préparation. Ils ont pu participer à pratiquement toutes les rencontres et réussissent à marquer 71 points au cours de leur dernier match ! Ils terminent avec un résultat plus qu’honorable en se plaçant à la 108éme place.

 

 

 

P1020260

Le robot construit en trois jours

P1020293

Lancement d’un match des « poubelles rebelles »

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Mais la plus grande surprise est venue de l’équipe qui s’est formé pendant la coupe chez les supporters d’Eceborg. En effet, les étudiants ING3, candidats pour le futur bureau, ont décidé de commencer la construction d’un robot pendant la coupe. Après négociation avec les jurys, ils ont pu s’inscrire et homologuer leur robot. Leur nom « les poubelles rebelles » évoquent leur volonté de faire un robot en récupérant des pièces et des servomoteurs en démarchant les équipes. Au final, leur robot se déplace, marque des points et gagne même plusieurs matchs. Incroyable mais vrai : ils sont montés jusqu’à la 130ème place de la compétition. Le jury a vraiment apprécié les exploits de leur robot « éco-responsable » et leur ont décerné le prix Mac Gyver pendant la remise de prix à la fin de la compétition.

En revenant de la coupe, tous les membres de l’association ont pu se réunir pendant l’Assemblée Générale de l’association et ont élu le bureau pour l’année à venir. Les étudiants élus ont su montrer leur motivation et leur passion pour la robotique et ils promettent une année très fructueuse pour l’association Eceborg.

L’aménagement du local étant terminé, les futures activités de l’association vont pouvoir reprendre de plus belle avec déjà un programme qui s’annonce bien rempli pour l’année prochaine. Des petits-déjeuners, des concours, des formations et même des afterworks ?! Le nouveau bureau ne tarit pas de bonnes idées pour vous faire rêver.

Pour revivre la Coupe en image, cliquez sur le reportage réalisé par le Fablab d’Amiens avec en bonus un interview d’un membre de l’association : https://www.youtube.com/watch?v=cheGc_yqHgk&feature=youtu.be

En attendant Septembre prochain pour l’annonce des nouvelles règles pour la Coupe :)

P1020341

Eceborg à la Coupe 2016 : The Beachbots

P1020330

l’Équipe d’Eceborg

P1020180

Gali

 

Gali et ses amis

Luc Debatte