Requesting advice: Robotic home automation/security project

Hi,

I’m Seb, a hobbyist hardware engineer (professionally a software engineer with ANN/AI/HMI specialization) and an utter robotics n00b, who would like to tinker a bit with robotics in order to make my connectivist home automation/security system project more tangible and also prepare for possibly high demands my boys might have on me when they reached a certain age. I have an interdisciplinary background in computer science, neurology and psychology and my dear father is an electrical engineer. Together our skill sets extends to subjects like electronics, control systems, machine learning, computer vision, speech recognition/synthesis, picture compilation and so forth, but mechanical engineering is not amongst them. This is where we could use some support from the community, if you would be so kind.

Description of the current project:

We already hooked up certain environmental functions such as smart garage door control of our family residence to Pi’s via simple sensors, relays and custom code untilizing gpiozero. Now I want to make the next step: Home automation nodes (just finished the software framework) controlled by an expert system (the software challenge) that shall be almost conscious and feature some rudimentary theory of mind. The term conscious is dabatable, but I would not like to go into this in here too much though - my definition in this context a the combination of high-level awareness, not self-awareness, and agency based on beliefs, drives and needs. I’m rather in Dennett’s camp than in Chalmers’, just in case you were wondering. :slight_smile:

I envision the core of this system (a Pi-cluster that is already online) in it’s project box (preferably spherical, but I have trouble finding a retailer) to have limited mobility in our home (see 1) and sensor/effector arrays attached to it (see 2) at it’s disposal.

My chassis design will develop in an iterative fashion, but these features are already required:

1. The unit shall be able to move a distance of ca. 10 meters bidirectionally along the garden-faced interior side of our soon to be finished conservatory on at least one steel wire in approximately 2.2 meters height. For this we need advice regarding motors, wheels and other hardware from you. For the first iteration of development the ‘torso’ shall be able to tilt +/-30° and pan +/-180° (or rotate completely). For the second iteration I might want it to move up and down by about 1 meter, but that is not of concern now.

2. The unit shall have two arms, with one project box each (instead of hands) for the sensor/effector arrays. Here we desperately need advice with the material suited for the construction of these arms. Ideally the** shoulder joints should feature +/-180° tilt and +/-30-60° pan**, the elbow joints +/- 30-90° tilt and pan, and the wrists +/-30-90° tilt and +/-180° pan. These are max values, which are ultimately limited by chassis obstructio

**3. **It needs power and possibly a wired network connection so there has to be at least one cable moving with it. My first idea was a cable feed/retraction device attached unterneath the steel wire improvised from spare hoover/vacuum parts, but maybe somebody has a better idea.

I would be very grateful, if you could share your experience with us and give us some advice on the realization of this project. If you find this project interesting and this post turns out to be productive, I’m willing share our progress, parts of my software architecture and my AI findings with you as well.

Best regards,

Seb

Interesting project. To summarize your needs:

]Humanoid roughly 2.2m tall/:m]
]Mobile (preferably wheels)/:m]
]Torso able to tilt +/-30° and pan +/-180° (or rotate completely) and future, possibly raise / lower by 1m./:m]
]Two arms with sensor arrays replacing hands/:m]
]Possibly wired power (10m in two directions)/:m]
]Possibly wired communication/:m]
There are not many similar robots on the market on which to base a design, so aside from a lot of custom mechanical design, you might actually need to look into some calculations (especially torque).
The assumption will be that you’re not looking to reinvent the wheel, and would prefer to purchase items rather than design and manufacture them yourself. The items won’t be inexpensive, so set aside a good budget.

Consider a wide enough mobile base (omniwheels or mecanum, provided the surface is flat), coupled to a track actuator onto which two arms are mounted (on the traveller). The base needs to be wide enough to not topple over when the arms are outstretched, or when the robot stops moving. You really might want to consider batteries in the base which will help with stability. Some examples:

robotshop.com/en/20-stroke- … force.html
robotshop.com/en/robotshop- … onics.html
robotshop.com/en/4wd-arduin … robot.html
robotshop.com/en/agent-390- … otors.html

Before choosing a mobile base, you’ll need to get a sense of the total weight it will need to support. Suggest designing and building the torso first.

Hi Coleman,

thank you for your reply, but I’m afraid I was misunderstood. My post was obviously lacking clarity in the description of the first design iteration. What I have in mind is a tad more modest than the ambitious 2.2 m tall unit you described (although psychological warfare is part of my concept and such an impressive robotic housekeeper would certainly serve this purpose bang on). Let me try to show you what I have in mind (please excuse the horrible schematics):

drive.google.com/open?id=1cjjgdZ4ZCb56LxVRYqwr60gSZetgLOsc

EDIT: The missing label for the total width of the robot including extremities was supposed to say “ca. 1 m”.

I think that still qualifies as a robot. So what I meant with wheels are the wheels the unit should ride on the steel wire with. Hardware refers to what I will need to construct the triple-joint array-arms and the suspension the torso is hanging from the wire with. And I also need motors to move it all. The power cable shall be parallel to the steel wire coming from the wall with a certain amount of tension so it does’t bend down - therefore it should extend and retract proportionally in respect to the unit’s movement.

Does this make any more sense?

Also: Costs are a secondary issue, although I guess not all the motors need to have perfect stepper precision, since we will address precision with the sensors in integral and differential control circuits. We are also certainly not afraid to construct custom segments in an explorative fashion, which should be fun.

Cheers,

Seb

The diagram explains a lot. The steel wire will need to be very tight and anchored well. You’ll need pulleys above and below to ensure it does not fall off. As for how to get it to move, you can either put a drive wheel pressed against the wire (friction will play a big part), or run a second wire. You can even wrap the wire in a loop and have a motor connected to the wall / anchor.
Regarding the arms, are they fixed or have any degrees of freedom? What purpose does the torso servo?

Hi again,

the purpose for the torso:

So it will host the Pi’s for GPIO and parallel processing and as for the arrays:

Also, this is important in conjunction with degrees of freedom:

BTW: Thank you for your analysis. It resembles my ideas as well. Could you then recommend motors and wheels with enough friction for the pulley system, since I think that I would prefer to explore that option (less hardware overhead, since aesthetics are of interest).

Cheers,

Seb

Not many wheels are designed to be used as pulleys - your better / safer bet might be to take the “ski lift” approach. It reduces the weight of the robot itself, provides a second line onto which the robot can rest and help keep it level…
The surface area between a wheel and a wire is really low, so there will likely be slipping, and not a lot of grip. A V or semi-circular pulley which wraps around the wire might help, but it’s still not ideal.
If you’re considering the suggested approach, then you next step is to find parts to use in the torso, arms and sensors - calculate the sum of their weight and design it keeping in mind it would be suspended from guide wires. The choice of travel motor would come last.
Alternatively, you could choose a motor and everything else needs to fit within its capabilities, which might end up limiting you a lot, or forcing you to buy a new motor if the original is under rated.

Hello Coleman,

sorry for the late response. I was quite busy the last few days, however I also had time to think it over.

I think that I changed my mind and will now opt for the alternative propulsion method you proposed, meaning:

The unit still travels on the wire hanging from at least one pulley (I’m also considering two parallel wires and four pulleys in total to stabilize the unit in all four directions), but it’s propulsion should be achieved by a secondary pair of wires fixed to the unit on each side, which pull the unit along the primary wiring towards their own wall fixings respectively.

There might even be dual use possible, if I could manage to realize this secondary propulsion wire pair with a sturdy power cable on one side and a sturdy network cable on the other.

I’d like to explore this option, so my question to you would now be:

Could you suggest parts (motors, gears, coiling components) for two custom devices with which I can retract and release those cables in that fashion?

Secondly, I would like to engineer the unit’s arms myself, since $700 is a bit much in my eyes, seeing that we can care for the control system ourselves. So what general items does RobotShop offer which would be suitable (stepper/motors, gears, aluminium hardware profiles, etc.)?

Do you mind giving me some pointers for my shopping cart?

Cheers,

Seb

You really should have an idea of the weight and setup of the robot first before choosing a motor - it’s not a good design approach to suggest something randomly, only for you to discover it’s under powered.
To select a motor, you need to know the pulley diameter (or radius), the speed at which you want the robot to move, and the torque required.
Use the equation to get linear velocity = rotational velocity (rad/s) * pulley radius (v = ω *r).
The torque needed is harder to calculate since it’s effectively being resisted by inertia and friction.
You’re likely going to need a motor in this range: robotshop.com/en/lynxmotion … coder.html

If you want to design an arm, you’ll at least need to sketch it (including dimensions, connections etc.). We sell stepper motors, gears and profiles, but it’s all custom - can’t provide a “shopping list” for something like this.

It’s entirely custom at this point - you’ll need to do the design before choosing components. For example, you need ot know the weight being supported, the lengths of each segment, the range of motion, how you want to control it and more. Wish we could say “use this stepper and this extrusion” but with absolutely no details, it would not be of any use.

… more design work required.

Alright,

thank you for your help on this project, Coleman. I appreciate your input and sales ethics. I don’t know whether I will find the time to actually plan it all out in detail in advance. I rather imagined a more agile approach: First iteration without perfectly tailored profiles, movement speeds and little weight. If the motors I bought at first have too little torque, I would add gears to trade off speed for power until the next iteration and so on. Learning in the process of doing it and having fun, but yes: it is also prone to disappointments here and there. Although that is part of the engineering process anyway.

I also simply don’t have enough free time to prepare a proper thoroughly calculated design sheet and perform sort of a V-model-like engineering process for this grownup toy, so I guess you are quite right and I should check my goals here and maybe reduce them to an easily doable set of key features. I will research some approaches and try out others with cheaper parts from eBay for now, since it is all custom anyway. I think I was looking for sort of a semi-shortcut, but you answered that question in your last post. My actual interest lies with refining my neural network paradigms anyway and the unit is just for show, more or less. So I guess I just screw the arms and stick to the wire challenge.

Sorry, if I turned out to be quite a disappointing prospective customer. I can’t promise that I will order all future quality parts from you guys, but some basic materials, like profiles suited for robot construction, might be what I will order with you. Cheers for your help and I’ll be sure to check back here and post some pictures of my achievements (if there will be any that aren’t too shabby).

Best,

Seb

PS: Sadly, some of my colleagues advised me not to share my AI findings in this forum, since they could be of considerable value to competitor companies (I’m in the warfare industry) and, unlikely but still possible, patent-worthy. It is a private project, but they have a point: I’d rather share my know-how with my own corp, where I developed a lot of it, than others. My apologies.

It sounds like the robot is going to have some considerable weight to it eventually. 20-50kg at least I assume.
So you’ll probably need a solid rail or a pipe or 2 pipes in parallel which will be infinitely easier to grip, attach to things etc. Also you may want to consider attaching a toothed belt to that rail or pipe for that added linear accuracy. And maybe a cable chain on top for for the wires. 10m is a lot though.