0
$\begingroup$

Rosanswers logo

Hello,

I have put in place a (custom) mobile robot with a drive controller (taking a desired twist and outputting required wheel velocities) and joint controllers which allow me to actually get the required wheel velocities. This is all done in ros_control.

Now I would like to drive my robot providing it with a desired trajectory (or desired target) and not with a twist (i.e. specify my trajectory in 6D position space, not in twist space). From what I understand, this is the aim of the navigation stack. But the navigation stack's wiki actually states the stack

requires a planar laser mounted somewhere on the mobile base. This laser is used for map building and localization.

Unfortunately my robot is not planning to integrate such a device. Does that mean the stack is unusable to me?

I am not sure I understand why there is such a hard requirement. There are plenty of uses cases for using other localization technique (e.g. triangulation, or video...), or even no localization technique at all (and thus accept drifts), and still expecting to transform a desired positional trajectory into desired velocities (to feed the controllers). Actually I am pretty sure some low layer of the navigation is doing just that. So isn't it accessible to robots having no laser?

Is it me not understanding things or is there something else? As you understood I am looking for a tool taking a desired trajectory or position in input and outputting corresponding twists...

Thanks,

Antoine.


Originally posted by arennuit on ROS Answers with karma: 955 on 2014-10-23

Post score: 1

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

If my understanding of the navigation stack is correct you won't need any of this, not even fake_localization.

The laser requirement comes from the default setup of the navigation stack with all components, i.e.:

  • odometry input
  • amcl or gmapping to produce a stable pose from odometry and laser
  • cost maps to provide "obstacle information" from a pose and laser data
  • global and local planner to steer the robot

The latter two are part of move_base. However, everything is configurable! The relevant parts for your problem will be the fixed frames for the cost maps and observation sources.

The frame can be any frame that you consider fixed, e.g. odometry, data from a motion capture system, ... Set this up to what you expect to have on the robot. fake_localization does only make sense when you plan to employ localization later on. The costmaps itself also do not need to contain a static map for the global costmap.

Observation sources can also be anything that reports obstacles to the cost maps. It does not need to be a laser, e.g. you can input Kinect point clouds.

You'll still need to consider the performance of the system, i.e. if the pose data is not stable the behavior won't be stable, but that is a robotics problem. The same goes for a missing static map or obstacle information. The nav stack will just go through everything that it doesn't know.


Originally posted by dornhege with karma: 31395 on 2014-10-24

This answer was ACCEPTED on the original site

Post score: 3


Original comments

Comment by arennuit on 2014-10-24:
This looks promising... (I'll need to dig in bit in the docs now). Thanks for your help!

Comment by rasoo on 2016-08-16:
I am using Robotino and I am having a kinect. Though I am new but I struggling very hard to create a map with my robotino. But unfortunatley I got the requirment for Laser. I am a stuent and wil not be provided the laser. I tried to create bag files which will be used to create map but it takes only

Comment by rasoo on 2016-08-16:
LasreScan type msg. Then I tried to convert pointcoud2 to LaserScan and try to record the bag file. It creates some bag file but when i tried to save the map it says waiting for map and no response. It shound promising that without laser and faking I can create map but still I could not get the

Comment by rasoo on 2016-08-16:
answere. If anyone of you have done map or navigation without using laser, can you provide me the tutorial link or sample work link or even if you have written in any blog to help. I am n seriusly trouble to find the solution. I am getting no clue for that. Thanks in advance.

$\endgroup$
0
$\begingroup$

Rosanswers logo

Without a Laser you can use fake_localization to localize the robot. It's basically using only odometry data.


Originally posted by ROSCMBOT with karma: 651 on 2014-10-23

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by Catherine Wong on 2016-07-28:
I modified my launch file as here to replace amcl with fake localization and it worked!

$\endgroup$

Your Answer

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