Robotics Program: Design Room Layout for Small Robot?

In summary, the conversation discusses the possibility of programming a small robot to navigate a room based on a layout entered by the user. It is noted that while it is easy to write a program for a simulation, it is more challenging to do so for a real-world robot due to the need for sensors and beacons. The Roomba vacuum cleaner is mentioned as a potential source for adapting programming, and the idea of using beacons to determine the robot's location is suggested. Ultimately, the conversation ends with the suggestion of using Roomba-sized pixels to map the room and navigate around obstacles.
  • #1
Shawnzyoo
105
0
is there any programs out there where you can enter a layout of a room for a small robot?
like the room dimensions, basic furniture placement ect...
or can you do this with C or Pbasic or some similar program?
thanks
 
Engineering news on Phys.org
  • #2
Hardware Dependancies

It would be easy enough to write a program that would take a graphic image. (ie an aerial room layout drawn in M.S. Paint) and convert it to a set of commands that would be understood my your chosen hardware. But then you'd have the problem of updating the software every time you changed your room layout, or left your shoes in the middle of the room.

What you would have to do for the problem of leaving shoes, or a backpack in the middle of the room would to have a second set of programming that would handle those cases. Moreover, if your software is good enough to handle shoes or a backpack, it should be able to handle a couch. To have the first level of programming in place would be redundant, and the User would have to go through the added trouble of programming it for each different room.

I did look around online for a while to see if anyone had attempted to write the program that you described. I had not found any, but I did come across a cute game; GNU Robots. You may want to check it out. http://www.mirror5.com/software/robots/faq.html
It requires the GNU Guile, but you can download it from www.gnu.org if you don't have it.
Good Luck in your Adventures.
 
  • #3
I have no idea who makes it or where you can get it, but there's a robot vacuum cleaner that does pretty much what you want. If you can find the manufacturer, maybe you can adapt their programming to fit your needs. Sorry I don't have any more info about it.
 
  • #4
Danger said:
I have no idea who makes it or where you can get it, but there's a robot vacuum cleaner that does pretty much what you want. If you can find the manufacturer, maybe you can adapt their programming to fit your needs. Sorry I don't have any more info about it.

I think you might be referring to the http://roombareview.com/buy/?OVRAW=roomba vacuums&OVKEY=roomba vacuum&OVMTC=standard" robotic vacuum. I don't think that program would be of much use though. That program simply starts in the middle of any room and attempts to cover all possible area by making larger and larger circular paths.

Writing a program to model the dimensions of a room and even the placement of furniture is actually quite simple and be programmed using just about any type of programming language. The hard part is getting the robot to know precisely where it is physically withing that floor plan.

Writting a simulation is a piece of cake because you always know where the robot is simply by reading it's pixel coordinates. With a real-world robot there are not pixel coordinates. The robot's actual location must be determined by reading some type of sensors (often distance sensors).

Many industrial robots that need to know precisely where they are use "beacons". A "beacon" is usually some type of radio transmitter system or other type of markers that the robot can read (sometimes lasers). The location of those markers within a building or outdoor space tell the robot it's coordinates relative to the floor plan (kind of like generating pixel coordinates for the robot). Those types of systems are quite dependable and accurate, but they require having beacons or markers external to the robot around the space that the robot is attempting to navigate. This means that the robot can only be used in environments where these beacons are installed. Of course if you are already using a floorplan program you're kind of stuck with a specific floorplan anyhow so adding beacons doesn't reduce your existing flexibility anyway.

Beacons can also easily be made portable and used with other floorplans as well, they just need to be set up prior to using the robot. Using this method allows the robot to be picked up and moved and still be able to easily figure out where it is relative to the floorplan based on the position of the sensor beacons. It also allows the robot to distingish between permanent furnishings and random objects since the permanent furnishing are part of the floor plan whilst the random objects are not.
 
Last edited by a moderator:
  • #5
NeutronStar said:
Writting a simulation is a piece of cake because you always know where the robot is simply by reading it's pixel coordinates. With a real-world robot there are not pixel coordinates. The robot's actual location must be determined by reading some type of sensors (often distance sensors).
Actually, the reality of that situation is a piece of cake as well. The Roomba uses servomotors and very simplistic obstacle detection systems that make it stop and turn in a pre-programmed way. Using the two, it steps-out distances and creates a very accurate map of the room - very, very similar to a pixel-by-pixel map in a simulation.

So if I were programming it, I'd use Roomba-sized pixels and record a pixel every time the Roomba moves by it's length. Every time you hit an obstacle, you turn 90 degrees to the right and continue (though there may need to be some randomization to avoid unintentional patters, like going back and forth between the legs of a couch)
 
Last edited:
  • #6
NeutronStar said:
That could very well be the one that I was thinking of, but several generations removed. When I ran across the thing was about 20 years ago (around the same time that the Mobot lawnmower came out). The ones in your link are considerably more sophisticated. Thanks for jogging my memory.
 
Last edited by a moderator:

1. What is a Robotics Program?

A Robotics Program is a set of instructions and coding that allows a robot to perform specific tasks or functions autonomously.

2. What is the purpose of designing a room layout for a small robot?

The purpose of designing a room layout for a small robot is to create an optimized environment for the robot to operate in, ensuring that it can navigate and complete tasks efficiently and safely.

3. What factors should be considered when designing a room layout for a small robot?

Some factors to consider when designing a room layout for a small robot include the size and shape of the robot, the type of tasks it will be performing, the layout of any obstacles or objects in the room, and the placement of any necessary sensors or equipment.

4. How can a room layout be optimized for a small robot?

A room layout can be optimized for a small robot by creating clear pathways and minimizing clutter, using walls and furniture to guide the robot's movement, and strategically placing sensors to aid in navigation and obstacle avoidance.

5. What are the benefits of designing a room layout for a small robot?

The benefits of designing a room layout for a small robot include increased efficiency and accuracy in completing tasks, improved safety for the robot and its surroundings, and the ability to customize the environment for specific needs or tasks of the robot.

Similar threads

  • General Engineering
Replies
4
Views
1K
Replies
1
Views
990
Replies
3
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
18
Views
1K
  • STEM Academic Advising
Replies
7
Views
1K
Replies
3
Views
666
  • Programming and Computer Science
Replies
1
Views
2K
Replies
3
Views
2K
  • DIY Projects
Replies
4
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
Back
Top