SwARM, choosing parts

Hi everyone,

This week we started to focus on the “how“. We met on Wednesday to discuss about the electronic parts we will buy.

We should be able to source some low-tech parts (motors and battery) from China, and still get an acceptable quality. But Alexis made us realise that getting the radio module (the part allowing the robots to communicate, one of the most important) in China is very risky, and would likely make the whole system poorly reliable. So we had to start again and search for a new solution for communication. The teachers mentioned some interesting solutions, like using a SoC (a single chip including the microcontroller and the RF device). We were also shown a module able to take care of the RF communications and the real-time localisation of the robots : Decawave DW1000. It allows to measure the time of flight of the data packets, and therefore distances between fixed anchors and the robots. The robots will then triangulate their location. These modules look very promising but are unfortunately  quite expensive.

We were able to choose some other parts like the H-bridge, and we decided to include a magnetometer, because we checked that our small motors weren’t pertubating magnetometers too much.


5 comments to SwARM, choosing parts

  • Loki

    Hey guys,
    just catching up on the start of the project.

    I see you wondering about localization, have you thought about odometry? (like encoders on the wheels) or even using an IMU for inboard localization.
    If the robots move from a known starting position it can work.

    You can also think about fancy stuff like using the same sensor as an optical mouse to measure relative translations.

  • Arnaud

    Hi !
    We plan to include encoders coupled to both wheels, but it doesn’t seem reliable enough to use it as our only input. We’d like to keep the system running for some time, and with both methods I fear the error will keep growing.
    In addition we’d like the allow the robots to run on various terrain (it would be really nice if we could use it outdoor, on flat roads or sidewalks).
    So we’ll use odometry and UWB real time localisation (less precise) and try to get the best out of the two.

    For angular control, we though a magnetometer may be enough, since we plan to use “small” motors, magnetometer should still be usable. We tried to put a sample motor near a smartphone and see how it affects the embedded magnetometer, it seemed to be still usable if we compensate for the static error, variations in current intensity had little effect. But maybe are we a bit optimistic about that.

    Anyway thanks for the input ! The optical mouse trick is certainly worth trying in other applications with shorter run time 😉

  • Pomme

    Sorry, I’m catching up late on this message, just started to read your logbook. I had wonderings on localisation too, I don’t know if you’ve change of idea yet
    I’m afraid decawave will be really not enough precise for your project, I don’t know how big you want your robots, but there is no way you can have a 10cm precision with those sensors :/ Anyway you will need to attach at least three beaconns for your decawave chip, and it won’t handle a lot of robots, so why not have a camera and use video to locate robots precisely?
    Good luck for your project!

  • Arnaud

    Hi pomme,
    sad to hear that the DWM1000 are not as precise as expected … Do you know what precision we can expect then ?
    To track many robots at once, I saw there was some fancy methods, like synchronising the beacons with a shared clock (tricky electronics ahead), to reduce the amount of packets.

    We tought about using a camera too, but it might be difficult to install (it has to be above the robots to see them all) and we’ll have to be either very high or have wide angle optics to see all the robots at once.
    But in the end, we may have to combine the two anyway …

    • Pomme

      The 15 cm is the minimum error you can have. You can easily have 1m error even after signal treatment and it depends a lot on your setup and the environment. For the treatment by camera you can find appropriate software online, and adapted to wide angle camera so you can focus on the other parts of the project. The best I can suggest is don’t throw the camera solution 😉
      You can also try that each robot can find by itself what’s around it and act in consequence, that would make intelligence inside the robot and be a lot more impressive!
      Good luck for the rest of your project 🙂

Leave a Reply