Before I begin, I should add that I am a complete beginner in robotics and hope that I can figure out where I should start by asking this question.

I am trying to make a robot that is able to navigate both indoor and outdoor. The ultimate aim of the robot is to be able to navigate from the outdoors to the lobby of a building and then to the building's lift.

I intend to direct the robot to the building by giving it GPS location when it is outdoors. Then, it should use computer vision to identify the path to the lift lobby. Once indoors, a floor plan of the building's lobby area will be provided to the robot with the location of the lift marked as the final destination but it will still need to map the indoor area to get to the location of the lift.

I figured that I will be using the following key technologies but I am not sure:

  1. Visual Slam: I came across the Accuware Dragonfly which is a visual SLAM technology that uses only an onboard camera. I intend to write a similar software on my own
  2. ROS: Middleware between the Visual Slam and the Robot hardware
  3. Raspberry Pi

Am I thinking about this the right way or is there a better way to do things?

  • $\begingroup$ you are asking for an opinion based answer, which is frowned upon here ..... one observation: you said I am a complete beginner in robotics, which indicates that you may be trying to build a race car when you have not even built a go-kart ..... of course, you have not said anything about any other skills that you have ........ perhaps you could try to build something that runs around a room and avoids obstacles and develop it into something equal to your project idea $\endgroup$
    – jsotola
    Commented Mar 26, 2019 at 3:57
  • $\begingroup$ SLAM is more than locate the robot, it has also to create the map. Genetic algorithms can be used together with SLAM for improved environment building. $\endgroup$ Commented Mar 26, 2019 at 20:42
  • $\begingroup$ I might suggest that an NVIDIA Jetson Nano might be better than a Raspberry Pi for this use. $\endgroup$
    – NomadMaker
    Commented May 4, 2020 at 9:22

1 Answer 1


What you are trying to do is very hard. I know because I am doing it: https://answers.ros.org/question/271819/please-suggest-all-packages-to-achieve-slam-for-robot/.

I would say to you, what is your objective? are you trying to build skills, or are you trying to build a commercial offering? What is your budget? How many people to share the work? These preliminary questions will begin to create constraints that will eliminate various designs, leaving behind a pretty obvious path to achieving your objective.

To help you with your technical question, please consider this:

  • how do you plan on moving. What kind of motors, drivers, are you planning on using? how are you communicating with them?
  • How will you do your mechanical drawings? catching issues before you finalize your design is so much cheaper and easier.
  • what is generating your transformation data? ex: /tf topic in ros?
  • As well, I would recommend adding a PC to your mix.

overall, you have a decent view of how to do it. start building, and you will learn what else you need.

It's doable, but you have to be committed. really committed.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.