[Dprglist] Robotics "Capability Maturity Model" - Thoughts?

David P. Anderson davida at smu.edu
Wed Oct 27 11:59:22 PDT 2021


Hi Chris,

This is certainly a valuable exercise as these are questions that get 
addressed all the time.  The progressive approach you outline here is as 
good as any.   I might tend to side with Carl that odometry and even PID 
controllers are later-stage achievements. Lots can be accomplished and 
learned without either, and with just open loop control.   If nothing 
else, that will teach you why you need those things, and in what 
situations.

At least that's the way I came up.

cheers!

David



On 10/27/21 10:03 AM, Chris N via DPRGlist wrote:
>
> */[EXTERNAL SENDER]/*
>
> So in part because of questions along the line of "where do I get 
> started" from Kumar, and others before him, that we occasionally get, 
> I thought it might help to have some sort of capability model in mind 
> that can be referenced.
>
> That way one can ask "OK - what level are you at currently?  What 
> level are you trying to reach in the near term?"
>
> Below is what I mean.  For now this is focused on software and 
> locomotion (but starting with Level 8,  perception comes into the picture)
>
> I have more explanation to go along with each item but wanted to keep 
> it brief in this e-mail.
>
> The idea is not to explain how to do these things.  This just 
> represents milestones along the journey.  This is really more about 
> having an agreed upon vocabulary.
>
> Thoughts?   Is something like this helpful to have written down?  Is 
> it already written down somewhere ? (I am sure that in some ways, this 
> is captured in some of the material that David Anderson has published 
> over the years)
>
> Level 0: I have an API through which I can control the speed and 
> direction of the individual wheels. My robot can move!
>
> Level 1: I have an API through which I can reliably get the 
> incremental encoder counts for each wheel.  When motors are commanded 
> with a certain duty cycle, I can measure what that translates to in 
> terms of encoder counts per time unit.
>
> Level 2: I am keeping track of my Robot's X, Y and Theta via 
> dead-reckoning / odometry
>
> Level 3: I have taken at least basic steps to calibrate my robot's 
> odometry calculations.
>
> Level 4: I can command the robot to move, but using more abstract 
> units such as "meters/second" or at least "encoder ticks per time unit"
>
> Level 5: My robot actually moves at the linear and angular velocity I 
> tell it to, even when battery voltage is lower or surface friction is 
> higher.  And because I have completed Level 3, it can go in a somewhat 
> straight line when I ask it to.
>
> Level 6: My robot moves in a fairly smooth fashion, i.e. it changes 
> speed and direction somewhat gradually. Movement is not "robotic"
>
> Level 7:  I can command my robot to go to a certain X,Y coordinate aka 
> waypoint relative to its current location,  and the robot more or less 
> reaches that location provided nothing is in the way
>
> Level 8:  My robot can reach the target location, even if there are 
> obstacles in the way.
>
> Level 9:  My robot can come back after reaching its destination.
>
> Level 10: My robot can do all this, even if the obstacles are moving 
> around quite a bit or if there are other sources of possible confusion
>
>
>
>
>
> _______________________________________________
> DPRGlist mailing list
> DPRGlist at lists.dprg.org
> http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dprg.org/pipermail/dprglist-dprg.org/attachments/20211027/76d7c2c0/attachment.html>


More information about the DPRGlist mailing list