Acquiring sensors and prototype for tests

The project continues. I am currently waiting to receive a pack of sensors:

https://es.aliexpress.com/item/37-IN-1-sensor-kit-for-Arduino-starter-kit-high-quality-Works-with-Arduino-Boards-landzo/32691556711.html?spm=a2g0s.9042311.0.0.7LLyew

and a small base and engines:

https://es.aliexpress.com/item/Smart-Car-Chassis-2wd-Robot-Tracing-Strong-Magnetic-Motor-Car-RT-4-Avoidance-Car-with-Code/32809659306.html?spm=a2g0s.9042311.0.0.0UjCYo

The idea is to be able to perform mobility tests and sensors to be able to implement it later in the larger model.

In addition I am investigating on which motors, wheels and axes would be the most suitable for a robot of these characteristics: 15 kg. and 35-40 cm. diameter. I'm also looking at what would be the right height so as not to damage stability. I would like it to be at least 80 cm. high. Any help, idea or suggestion in this regard will be well received.

Propulsion

On the propulsion side, consider: https://www.robotshop.com/blog/en/drive-motor-sizing-tool-9698

In regards to heigh, it all comes down to center of mass. What would you have at 80cm high?

Wow, so many sensors and so

Wow, so many sensors and so little time.

Within the robots enviroment what do you plan on it detecting. I would eally like to help you with this as I have been doing alot of expermenting with different sensors. I have also done seveal projects where I used an Arduino connected back to a PC and then collected the sensor data back to software that would then determin what the outcome would be. With your height of 80cm your base is going to have to be wide to keep stability.

Sensors: position and obstacles.

Basically I intend to detect obstacles and position, to determine where it has to move and against which it should not collide.

I’m not clear yet how to determine position. Indoor GPS is not valid and encoders and relative position is not exact apart from being complex to calculate. The simplest way that occurs to me when working always in a closed and known environment is to compare a series of recorded images that correspond to the different rooms with the image captured from the current position. If they correspond in a certain percentage we give the position as good. I do not know if that option will be viable. I know projects that use this system successfully.

Additionally, a multitude of sensors can be added for a multitude of additional functions: temperature, humidity, CO2, luminosity, smoke, flame, laser, orientation, etc.

I have found that using a

I have found that using a PING sensor is better than an IR sensor but there are places where a PING sensor does not work well and a IR sesnor will. So using both is almost needed. You are correct on a GPS as I have tried this and it is not worth while indoors. Comparing images can be done and I actually wrote software just for this and it was about 80% accurate, but when light conditions change it can not give you a good result. You almost need and image of every object in every lighting condition you can think of for that to work. I tried this with 5 different light conditions and saved the images in a table for it to call back from. While it did work it was not very accurate once again. I think using the sensors for obstacle avoidance and maintaining a siad distance from objects is the first step. Next would be detecting if it is a person or not, if it is a person you would backup to give room or recognize that person and greet them.

 

Using camera to determine position.

Thanks JeffRo for the tips. If you have tried it successfully I will continue that path. On variable light conditions, DOMO5 can control the lights, so you can turn them on if necessary! :wink:

You will need to have the

You will need to have the bot project light onto the objects so they are always looking the same for a comparison then you can use Hough transformation. I have been down this road and it is not accurate and you will use a lot of time trying to make it work correctly. https://en.wikipedia.org/wiki/Hough_transform

Maybe something like this can help you, I have not tried it yet. https://www.robotshop.com/en/sweep-v1-360-laser-scanner.html

Another idea might be RFID, I have not used this yet either.

Localization

Jeff’s visual suggestions sound very interesting.

This link is the best I have seen for positioning…I hevn’t tried it yet though.  My next bot probably will.

https://www.robotshop.com/en/indoor-navigation-positioning-system-433mhz-kit.html

I have also tried localizing visually, in my case by reading words off of walls and comparing compass bearings / angles to a map.  While a fun experiment, it is not a practical localization technique.

Another technique that I think could work is to use a cheap IR tracker camera.  If there was at least one blinking IR source (on the ceiling in a corner perhaps) …the bot could locate it and do the math.  Here is the link…

https://www.robotshop.com/en/ir-tracking-camera.html

The sensor gives coordinates within its FOV of up to 4 IR sources.  I tested it out and it was very easy.

This would require building and powering the “beacons” and building a “map” of your space.  It would also require having a pan/tilt and a compass to move the camera around to get the beacons in the FOV so you can get more accurate coordinates.