Next-gen ESC validation and integration... VESC [Declined]

Topic:
We’d like to have a proven/tested and commercially available ESC design which includes CAN and FOC capabilities at the very least. The well-known “VESC” already exists, and is 100% open hardware and software and supports all the goals. We’d also like to document this, if successful.

Proposal type: Hardware [ X] , Software [ X] , Other [X ] : Documentation.

Description:
This proposal is for the purchase of 10x working/tested VESCs to be distributed to the core ArduPilot development team on a by-request basis, such that the two software stacks can be tested and integrated and documented.
The one place it appears to need most work in integrating it with ArduPilot is so that they can talk CAN to each other, and so that ArduPilot can be provided data from VESC such as RPM, etc. ( this might use the existing uavcan in ardupilot, or might use the existing can capabilities in VESC).
design overview: http://vedder.se/2015/01/vesc-open-source-esc/
possible retailers: http://www.ollinboardcompany.com/product/vedder-s-speed-controller or http://www.maytech.cn/en/product/e-skateboard/e-skateboard-esc/e-skateboard-vesc

Planned amount $$ (USD): $1650.00 + shipping costs - that’s the “retail” price of 10x units from the ollin link above. we may be able to get discount/s after negotiations, but lets not rely on it for the proposal. Developer/s doing the integration work will not be paid, but will get to keep their VESCs.

Estimated time for completion: 3 months.

I would prefer that CAN was looked at with a broader view to start with. we already have working ESC’s, Airspeed sensors, Optical Flow, Lidar, GPS units etc, designed by various members of the team… (AUAV, ProfiCNC, Zubax, lightwear, and Ben Dyer)

The question is not the availability of working hardware… we have that covered… the question is about how to make CAN easy to work with. is UAVCAN where we should be?

I suggest that there is a SWAT analysis done on the existing technology choices, and that we formulate a plan to move forward from the current stalemate.

Yes, the problem is the high degree of difficulty in implementing UAVCAN drivers in ardupilot. Currently, there’s no HAL layer for CAN - UAVCAN devices work through the PX4 layer. There needs to be a HAL layer for CAN, and there needs to be a UAVCAN implementation in ardupilot.

UAVCAN can coexist with “vanilla” CAN. Vanilla CAN is a far, far easier interface, but the killer features that UAVCAN offers are in-system firmware update and parameters. I think that it should be possible to use vanilla CAN - it is a far easier way to get started on simple projects.

I don’t mind supporting other CAN variants, but I think if I’m going to work on CAN then I should put that effort into UAVCAN next.
If there are other developers who could put in some time with the VESC kits then I would certainly support the idea of us buying the kits for them. The key factor really is developer time.

1 Like

I’d like to post a couple of extensions / comments here:
1 - I’m not fixated on the “VESC”, to me any CAN capable ESC that can be made commonly available to devs will do.
2 - Tridge says - “The key factor really is developer time.” I’d actually say it’s really a trifecta of three things that need to come together at the same time before anything meaningful can be done: Developer has Time available ; Developer has Hardware available ; Developer has suitable knowledge/skills in the area (CAN). ; Developer has motivation… the observant will notice that’s 4 things, not three, whatever.

So really, What this proposal aims to try to do is resolve as many of those as we can:
Developer has Time available => we can never guarentee this, but if developer/s show an interest is recieving “free” hardware, even when it’s got implied strings attached, then they are more likely to find the time than if it’s just handed to them.

Developer has Hardware available => In theory, this is relatively easy to fix, just put the right hardware on the desks of the right developers - except that’s hard if we don’t know “right hardware”. In that case, the best thing we can do is at least give all the developer/s the same hardware, and get them all engaged together around a first common goal. This will also up-skill devs on a shared-common-knowledge platform, so later on we can get different variant/s and different hardware working once the knowledge in the CAN space has been spread around and grown.

Developer has suitable knowledge/skills in the area (CAN) => To start with, most dev/s won’t have the requisite knowledge, this is the issue. Making it more accessible to more devs by giving them all identical hardware, and a place to share their pain ( eg a skype group ), and work together, and get their question/s by the few who already have the knowledge is the best we can do at the start.

Developer has motivation => with a “group” publicly working to get the same hardware going at the same time, together, this is motivating. splitting devs based on their availability to get hands-on hardware, or on their initial skills, or even on their time committment/s is de-motivating. Having a strong leader, or the backing of a strong positive leader is motivating ;

so, as you can see its not as easy as you might think.
Buzz.

I would definately support buying this hw for any developer that has a track record of doing ArduPilot development and wants to get the hw.
Can you get a list of people who fit that?

1 Like

ATTENTION DEVS: Ping me if you are interested in CAN. We can create new skype/gitter channels, and maybe use this list of name/s when we go to send CAN hardware to ppl.

@tridge, there are 26 ppl currently in https://gitter.im/ArduPilot/CANBUS I suspect that’s a good list of devs to start with. maybe the number of devices to send out to start with is 25?

Thanks for the proposal. It appears the VESC site has not been updated for over 18 months, and there hasn’t been any strong demand.

The personal blog of the hardware designer has not had a lot of activity because of the huge demand elsewhere, and he is going through growth and multiple commercialisation eforts. A number of manufacturers have picked up his design as its state-of-the-art. The electric bike and electric skateboard forums /communities are a-buzz with the success of this design, its their go-to design for many reasons.

Olivier Brousse your statements about the VESC aer incorrect, and the statement “hasn’t been any strong demand” is not supported by fact. please re-open this Proposal.
VESC software is actively being evolved, with the last commit being the release of firmware 3.34 just three days ago:

VESC hardware can also be purchased from many places now:


even from HK:

it’s also now available from HobbyKing! as the "Turnigy 50A Skateboard ESC (designed by Benjamin Vedder)"
and is part of their “scateboard comversion kit” too:

"The VESC® BLDC is the latest and greatest Open Source ESC "

oh, and the
"personal blog" is rarely updated because it’s mostly all now at:
http://vesc-project.com/
and
http://vedder.se/forums/index.php

Where the VESC 6, the latest-greatest ( not fully open hardware yet ) had it’s first beta boards manufactured in April.
http://www.electric-skateboard.builders/t/vedders-vesc-6-0/3813
http://vedder.se/forums/viewtopic.php?f=6&t=590&start=10
http://www.trampaboards.com/vesc-6-complete--vedder-electronic-speed-controller-trampa-exclusive-p-24166.html
http://vesc-project.com/forum

and here’s an update from Vedder himself, releasing the schematics of the vedder 6.4 just this week!
http://vesc-project.com/node/311

Thanks for your inputs @DavidBuzz.

However the funding committee decision of not sponsoring this proposal has been taken, after considering not only the mentioned topic by @OlivierB , but also the opinions presented above amongst others, and I fail to see any compelling new facts that would revert the decision.

Once again, thanks for your time for this proposal.

Hello,

That are what we mean by not a strong demand :

https://github.com/ArduPilot/ardupilot/issues?utf8=✓&q=is%3Aissue+is%3Aopen+vesc

https://discuss.ardupilot.org/search?q=vesc

The Vesc is surely interesting but for now, an ardupilot support isn’t ask. I prefer to invest our limited funds on some other project with more demands, even if I want to see a real intelligent motor controller

So I understand this correctly… you’ve closed a proposal that is about next-generation open source ESCs, and the future , because no-one in the ArduPilot community is discussing them in the present…? Isn’t that like saying a person could never fly a plane because no-one around me has done it yet.?

Oh, and there are now 70 ppl currently in https://gitter.im/ArduPilot/CANBUS . The room has nearly TRIPLED in size since since I first proposed this, if that’s not a good measure of the HUGE growing interest in this area, I don’t know what is. :slight_smile:

1 Like