VESC for robotics

Support for creating custom user applications on the VESC.
dpetrillo
Posts: 25
Joined: 24 Dec 2015, 01:47
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

VESC for robotics

Postby dpetrillo » 24 Dec 2015, 02:18

I'm interested in using VESC for control of BLDC motors for non-commercial robotics/automation purposes. There are automation quality drivers out there that exist specifically for this purpose, but because they are commercial, somewhat low volume products they tend to be very expensive and bulky. I wanted to pose the question of how far away feature wise, is the ESC from a few different alternatives I'm looking at. I would very much like to get familiar with the VESC and be able to lay out a board in a more standard, slightly less compressed layout, that could meet all of my requirements, and still be affordable.

Something like this is what I would be looking to replicate/replace: http://www.robotshop.com/en/sbl1360-60v ... oller.html There are many other servo controllers like this for much higher prices aimed at the industrial automation market.

I think what it comes down to is positional feedback and control, so:

Does it have or would it be difficult to add positional (encoder, not hall) feedback and closed loop control as a user application?

Worth noting that the VESC is considerably more advanced with it's FOC than the above linked controller using 6-step commutation. I would really like to help make this a working solution for robotics applications. Is there anything else that I'm missing?

Also thanks Benjamin for your hard work and for sharing this project as open source.

Thanks,
Dave

benjamin
Site Admin
Posts: 280
Joined: 15 Dec 2015, 08:38
Location: Sweden
Contact:

Re: VESC for robotics

Postby benjamin » 24 Dec 2015, 03:10

Hi Dave,

Position control with a quadrature encoder is fully implemented and working, both for brushed DC motors and BLDC motors using FOC. For BLDC motors with FOC, there is also an auto-detection algorithm that runs the motor in open loop and figures out:

* The ratio between motor and encoder revolutions.
* The encoder offset.
* Whether the encoder is inverted.

Measuring the motor inductance and resistance is also implemented, together with an algorithm that calculates the PI control parameters for the current control loop based on the desired bandwidth.

Here is a video with position control of a DC motor on the VESC:



The same can be done with a BLDC motor using FOC, but I haven't made a video of that yet. Setting it up is quite easy, it doesn't take more than a minute for a new motor and encoder using BLDC Tool. I will try to make a video of that some time in the next days.

dpetrillo
Posts: 25
Joined: 24 Dec 2015, 01:47
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: VESC for robotics

Postby dpetrillo » 24 Dec 2015, 03:28

Holy wow. Looking at the group buy page, even if this came out to $120, it would be a bargain. I would like to buy two asap, will keep my eye on that thread in order to get in on the next buy. Thanks!

benjamin
Site Admin
Posts: 280
Joined: 15 Dec 2015, 08:38
Location: Sweden
Contact:

Re: VESC for robotics

Postby benjamin » 29 Dec 2015, 01:52

Update :-)


dpetrillo
Posts: 25
Joined: 24 Dec 2015, 01:47
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: VESC for robotics

Postby dpetrillo » 06 Jan 2016, 03:38

Thank you very much for posting that. I've ordered two VESC's from ollin and will be trying this demo out in a couple of weeks. Can't wait.

madcowswe
Posts: 14
Joined: 08 Jan 2016, 15:37
Location: San Jose
Contact:

Re: VESC for robotics

Postby madcowswe » 08 Jan 2016, 15:52

Hi Dave,

I am currently making a PCB that uses a very similar FOC control stack as the VESC, and also includes two axis motion control. See the video below. Let me know if you are interested in alpha or beta testing it, and I can send you one.


benjamin
Site Admin
Posts: 280
Joined: 15 Dec 2015, 08:38
Location: Sweden
Contact:

Re: VESC for robotics

Postby benjamin » 08 Jan 2016, 16:26

Nice to see you here Oskar :-)

I haven't forgotten about your project, but I haven't written my post about FOC yet. I kind of want to make it work perfectly first, and I feel that there still are some things that I would like to improve before I write a post about it. Sometimes things take much longer time than expected.

madcowswe
Posts: 14
Joined: 08 Jan 2016, 15:37
Location: San Jose
Contact:

Re: VESC for robotics

Postby madcowswe » 08 Jan 2016, 18:22


wtip
Posts: 1
Joined: 21 Jan 2016, 17:36
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: VESC for robotics

Postby wtip » 21 Jan 2016, 17:50

I'm very interested in using VESC for a robot.
Specifically I've been thinking of using two VESC's to control 2 hub wheel motors that were designed for these balancing scooters, "hoverboards", swegway things. http://www.ebay.com/itm/Newest-Motor-fo ... SwjVVV5CKf

I'd be controlling the VESCs from an onboard x86 PC over the USB connection. I don't have any experience with CANBUS but I'm assuming I should be able to connect two VESCs with the CANBUS and then only use one USB connection to independently control them from the PC.

benjamin
Site Admin
Posts: 280
Joined: 15 Dec 2015, 08:38
Location: Sweden
Contact:

Re: VESC for robotics

Postby benjamin » 22 Jan 2016, 06:35



[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Return to “Custom Applications”

Who is online

Users browsing this forum: No registered users and 1 guest