Message Boards Message Boards

[WSS16] Mapping of indoor environments with the Wolfram language

For the Wolfram Science Summer School, I had the opportunity to talk with Stephen Wolfram about the current situation of robotics. He talked about the possibility of using Mathematica to control a robot that would gather information about its environment to generate 2D contours of indoor environments.

The topic discussed is formally know as Simultaneous Localization And Mapping (SLAM), which is a field in Robotics that has gained a considerable amount of attention in the past decade.

Introduction to SLAM

The Simultaneous Localization and Mapping (SLAM) problem asks if it is possible for a mobile robot to be placed at an unknown location in an unknown environment and for the robot to incrementally build a consistent map of this environment while simultaneously determining its location within this map.

SLAM in Mathematica

A program was developed to simulate the behavior of a robot inside of a room with obstacles to detect. The robot is considered to have sensors on all four sides, detecting objects adjacent to it. A room was created to contain the robot, and test its detection capabilities.

Generated map for the robot SLAM simulation in Mathematica

Physical implementation

Given that a free version of Mathematica is available on the Raspberry Pi, a robot was built based on this platform. The program was adjusted to adapt to the Pi's hardware limitations (3.3V digital logic), and a GUI to control the robot was also developed.

More info to be added later

2 Replies
Posted 8 years ago

I am interesting in your project and looking forward to reading more detail coding.

I have two questions.

1). Usually a robot is always moving forward, so the front sensor is more important for guiding, the rear sensor is almost useless. Is that possible to implement SLAM algorithm with only front sensor? Here is good Mathematica example: http://community.wolfram.com/groups/-/m/t/872077

2). Raspberry Pi is usually cheap and slow, what can be your strategy for speed improving of programming. Let's say your hardware and software is able to support with a mobile robot with a good moving speed ( like 500mm/s - 1000mm/s) ?

POSTED BY: Frederick Wu
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract