Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share your modm projects #360

Closed
salkinium opened this issue Mar 19, 2020 · 7 comments
Closed

Share your modm projects #360

salkinium opened this issue Mar 19, 2020 · 7 comments

Comments

@salkinium
Copy link
Member

I want to build a list of projects that use modm, so that new people can perhaps explore "real" projects, not just the rather simple examples in modm.

Please add a link to your projects here, and perhaps some short feedback how well modm worked for you in this project. We're always looking for more feedback please!

@salkinium salkinium pinned this issue Mar 19, 2020
@salkinium salkinium changed the title External projects using modm Share your modm projects Mar 19, 2020
@rleh
Copy link
Member

rleh commented Mar 19, 2020

@mikewolfram
Copy link
Contributor

I cannot provide any links since the code is hosted in-house. What we use it in our automation project as of now for:

  • RFID reader based on NXP CLRC663 with CAN and optional 2.4" Touch TFT
  • Conveyor controller
  • Master controller acting as an interface between MES and automation hardware

The reason for us to select modm was, that it builds on modern C++, small footprint and still allows for lot of control. Had a look into mbed before and dislike, that there happens so much behind the scenes.

@rleh
Copy link
Member

rleh commented Mar 27, 2020

@strongly-typed
Copy link
Collaborator

strongly-typed commented Mar 29, 2020

Very good question! Gives a good opportunity to look retrospectively at what I did the last years. As with Mike, I sadly cannot share many of the developments as they were for my clients or employers. In most cases, at least some code diffused into xpcc / modm.

I was doing some stuff myself and sometimes initiated other people to work with xpcc / modm. Here are some in arbitrary order:

  • An exotic AVR32 project (now a fully deprecated platform for me)
  • LED animation on the PhD hat of my partner.
    xpcc was strong in providing good fades and gamma-correct colours
  • WS18B20 LED installation for an exhibit for DLR Stuttgart
  • Ultra Wideband Ranging library (DW1000 modules, done by @Maju-Ketchup)
  • Interfacing an IMU to ROS (Claire during UROP at RWTH Aachen University)
  • Implementing 1-wire for DS18B20 efficiently with UART (done by Jiyeon Hong)
  • SD Card interface for STM32L4 (done by @AndreGilerson)
  • Interfacing Time of Flight sensors to ROS (for Clemens at Robotise)
    Driver was already there, the ROS serial lib was very handy and I could easily reuse from a former project
  • ROS to CAN bridge using a cheap Nucleo board and external transceiver
    Again, ROS serial was very handy to just plug together this in less than an hour.
  • Interfacing four Maxon motor controllers to ROS (myself at Robotise)
    Reading out the hall sensors directly as encoders to get positional feedback (which the motor controller did not provide). @chris-durand took over this project and improved it a lot.
  • Many PoC with sensors, microcontrollers and other stuff.

I probably need to extend the list later and watch out what I could do with some KUKA robots, a very large ABB 6-axis gantry robot at ERNE AG Holzbau here in Switzerland. I am probably looking into CANOpen and DeviceNet as I have to deal with some serious industrial stuff here.

@mikewolfram
Copy link
Contributor

I probably need to extend the list later and watch out what I could do with some KUKA robots, a very large ABB 6-axis gantry robot at ERNE AG Holzbau here in Switzerland. I am probably looking into CANOpen and DeviceNet as I have to deal with some serious industrial stuff here.

I already started on CANopen and am also working on SECS protocol.

@salkinium
Copy link
Member Author

salkinium commented Apr 27, 2020

@WasabiFan
Copy link
Contributor

Hey everyone! Myself and the rest of @uw-advanced-robotics has our own project to share 😄

At their core, our robots are all operated by STM32F4s; after a few years of working with... err... less pleasant tools (cough cough, Keil MDK, cough cough) we adopted modm around a year ago. We've since rebuilt almost all functionality in the modm world, with the exception of a few robots' special features which drew the short straw due to this past year's truncated season.

I'd like to point out that our project is very much not vanilla as far as modm is concerned; we have some constraints regarding approach-ability for people brand new to C++, as well as miscellaneous aspects of the dev workflow which involved some customization. In particular, pretty much all modm classes are wrapped in our own types -- this is primarily for test-ability. Our SConstruct is also a) almost entirely custom and b) written by people (read: me) who neither understand nor enjoy the tool in question. You have been warned 😆 What I'm trying to say is: what works for us may not work well for others, and may indeed be suboptimal.

All of that being said, we hope others can benefit from our work!

Our main repo lives at https://gitlab.com/aruw/controls/aruw-mcb. We have a GitHub mirror at https://github.com/uw-advanced-robotics/aruw-mcb.

We've only recently made the repos public, so there may be some rough edges as we make other repos and their docs public. Making the issue tracker public is in our short-term plans. From here on out, we're developing in the open.

cc @MatthewMArnold

@modm-io modm-io locked and limited conversation to collaborators Sep 29, 2021
@salkinium salkinium unpinned this issue Sep 29, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Development

No branches or pull requests

5 participants