Whose help do I need to build a robot with AI/ML?

Thread Starter

strantor

Joined Oct 3, 2010
6,841
At work I am building a robot which is basically like a roomba but it climbs walls and drives across ceilings. I can handle the electronics design and programming of things like you would find on a line following robot or similar, but this will need AI onboard, and I am going to need to bring in outside talent for that because it's completely outside my wheelhouse. Unlike a roomba this can't just bounce around off walls until after 90 hours it can be said with relative confidence that no islands of untouched surface remain. It needs to be equipped with cameras, lidar, or other spatial sensors, and deployed into a space/room* with the objective to cover every square inch of floor, ceiling, and walls, in the quickest and most efficient manner possible (no crossing multiple times over the same spot) and just do that. I am on Rev 5 of the robot and it is working pretty well, rev 6 should resolve the last of the issues. My employer knew when they assigned me the project that I would need to bring in outside help for it at some point, and that point is around the corner. I need to get that ball rolling but I am embarrassed to say, I don't know specifically whose help to ask for. If I ask for an "AI guy" I might get someone who writes customer service chat bots or AI stock trading assistants. So my question to you is, what is the name for the person whose help I need? And since that person might be on this forum, if I'm talking about you, feel free to send me a message.

*I can't publicly say where it will be deployed but it won't be some kids room so there won't be shoes laying around or furniture or other things. Just picture empty rooms with one, two, or 3 known/consistent obstacles, and no two rooms will ever have the same dimensions.
 

MisterBill2

Joined Jan 23, 2018
19,474
Artificial Intelligence and Machine Learning are areas of expertise that may possibly be available from some agency, if you have lots of money to spend. But there are organizations working with it, probably a few folks on this site some place. But I am not one of them.
 

k1ng 1337

Joined Sep 11, 2020
1,038
What aspects of the AI do you think you can't program? I happen to train chatbots so while I am an "AI guy", I'm definitely not the kind you need (lol). However, I think you should ask Chat GPT your exact question and tell it your technical limitations.

The scope of ML is so large that you can get a long way programming it yourself with the help of a chatbot. I prefer to work with Python because it is well suited to statistics of this nature. Maybe spend a few hours seeing what kind of algorithms already exist which you can implement.
 

MisterBill2

Joined Jan 23, 2018
19,474
Already have those, they aren't cheap, they don't do a good job, they require confined space entry protocol, and they keep hurting themselves.
If you are getting maids that have those problems then certainly you are dealing with very much the wrong agency. Way to great a charge for poor quality labor. A decent agency would verify both the skill and the attitude of any they offer for employment. A poor quality agency only verifies that candidates can spell their own name correctly most of the time.

Actual creating the software requires that first the actual process flow chart be created and optimized. Making it define every detail is quite tedious as it requires knowing the complete basis for every decision and the process for every action. But creating that level of flow chart will allow the creation of the actual code quite simply.
 
Last edited:

panic mode

Joined Oct 10, 2011
2,892
for any mobile robot, specially if there is a fleet of them or if they can go to unreachable places (like ceiling) i would want to have the wireless connection and central monitoring/management station. onboard functionality can be limited - connect to server, share the findings / sensor readings and let the server provide instructions how to proceed. this way one can minimize double work, or robots getting into each others way. this is also easier from development side when there are still unknowns. if the unknowns do not exist, then one can list all scenarios and come up with code that only runs locally on each robot. flood fill algorithm is not too complicated...

as for disciplines meant to handle this, it clearly involves mechatronics, embedded systems, software engineering
 
Last edited:

MisterBill2

Joined Jan 23, 2018
19,474
No matter what else, the process needs to be defined. If you don't know what it is supoposed to be doing, it will be a real challenge to make it do it. Right??
 

Thread Starter

strantor

Joined Oct 3, 2010
6,841
What aspects of the AI do you think you can't program?
...
Maybe spend a few hours seeing what kind of algorithms already exist which you can implement.
I have spent more than a few hours on it for previous projects. I have spent cumulative weeks trying to get started in the past and was befuddled each time I tried. It is maybe a little too abstract for me. I can't wrap my head around how it works, and that fundamental understanding is absolutely essential for me to learn anything. This requirement of a conceptual grasp prior to delving into the details is a personal failing that I have not found a way to circumvent so far in my life. In Navy Nuclear Power school (which I failed out of) they used to say "just push the 'I BELIEVE' button for now, it will all make sense later." Well I don't have an "I BELIEVE" button and it seems every learning resource I find on the topic is either at the level of a 5th grader or written for someone who already has a MS in computer science with focus on AI; nothing in between on my level. I am fluent in Python and I have looked at the Python example scripts for Tensor Flow, Pytorch, and others, and it does not smell anything like Python to me. It's like reading the lyrics to a Bloodhound Gang song. The words are in my native language but they don't seem to go together, and convey no meaning to me.

I'm not intelligent, just determined, and I am confident that I could figure things out if I set it as my primary goal, but I already have more on my plate than I could ever eat, so trying to force understanding of an abstract concept into a brain that isn't equipped for it, is just not a justifiable expenditure of time.

I think you should ask Chat GPT your exact question and tell it your technical limitations.

The scope of ML is so large that you can get a long way programming it yourself with the help of a chatbot. I prefer to work with Python because it is well suited to statistics of this nature.
Well that's one thing I haven't tried, maybe I should. If I can't find help I will.
 

k1ng 1337

Joined Sep 11, 2020
1,038
I have spent more than a few hours on it for previous projects. I have spent cumulative weeks trying to get started in the past and was befuddled each time I tried. It is maybe a little too abstract for me. I can't wrap my head around how it works, and that fundamental understanding is absolutely essential for me to learn anything. This requirement of a conceptual grasp prior to delving into the details is a personal failing that I have not found a way to circumvent so far in my life. In Navy Nuclear Power school (which I failed out of) they used to say "just push the 'I BELIEVE' button for now, it will all make sense later." Well I don't have an "I BELIEVE" button and it seems every learning resource I find on the topic is either at the level of a 5th grader or written for someone who already has a MS in computer science with focus on AI; nothing in between on my level. I am fluent in Python and I have looked at the Python example scripts for Tensor Flow, Pytorch, and others, and it does not smell anything like Python to me. It's like reading the lyrics to a Bloodhound Gang song. The words are in my native language but they don't seem to go together, and convey no meaning to me.

I'm not intelligent, just determined, and I am confident that I could figure things out if I set it as my primary goal, but I already have more on my plate than I could ever eat, so trying to force understanding of an abstract concept into a brain that isn't equipped for it, is just not a justifiable expenditure of time.


Well that's one thing I haven't tried, maybe I should. If I can't find help I will.
Thinking abstractly is great but it can also be inappropriate if the prerequisite knowledge isn't there. I commented in a topic recently about machine learning but my real sentiments were a lot different. You might find my reflections helpful.

It was their first post here about using "neural networks" to predict a heart condition. This is great because the more people working on problems like this, the better.

But as I read their post I noticed they as many do (myself included), abstracted the problem way too much. They have a great idea and a bit of experience but skipped over the important and necessary iterations. In this case they have Arduino and Pi data and now want to perform machine learning magic on it. I couldn't help but think they went from A -> B -> C -> Q.

It could very well be the case where they are a team of professionals with IP concerns but I think its far more likely they just skipped important (and boring) stuff.

As for your project, I'll ask you again about what you can't program. This time think about my question in terms of the algorithm you have in your head for what this device will do. For example, let's say your current iteration is "it" moves around on the floor and now you want it to climb the wall. Do you have a sub-algorithm to perform this function or is this new territory?

In any case, if you are to outsource this problem to an engineer or technician, you need to define the algorithm exactly. I think this exercise is critical not just for the efficiency of hired manpower, but it also forces you to look at your own work to see if it even plausible as a concept.

And toss out phrases like "I'm not intelligent, just determined". They may be true in a cultural context but as far as your algorithms are concerned, you simply lack information. So what information do you lack? Do you even know? I think a huge part of modern "AI" is having this kind of philosophy. The computers only do what we tell them to.
 

MisterBill2

Joined Jan 23, 2018
19,474
BAck to my posts #6 and #8! The very first part of creating c program, or a process, is to decide what to do. That means deciding every thing in a flow chart. That has been a pencil and paper exercise because no screen is big enough to show it all at once. So the repeated question is "if then, now what?" You can start with the actions that your machine platform is able to do, and the conditions the sensors can sense. Of course, multiple sensors can combine their sensing to reach a conclusion. That often requires some creative thinking, but it still gets down to "If Then, now what."
AI uses huge amounts of external history to decide that "This is like that, and this was done."
 
Top