0
$\begingroup$

Rosanswers logo

I have entered a firefighting robot competition which is similar to the famous Trinity College one. The robot must conduct a search of rooms in a known map with a known starting position.

My thought was that I could use some sonar or IR sensors along with encoders on the robot, and use ROS via XBee to a PC to localize the robot and publish the necessary cmd_vel to control the motors. I have already gotten teleop with a joystick to work (which is good news, my kids will be able do to their part of the competition). However, as I sit and wait for parts to arrive, I am wondering if my solution has any chance of working. Is the navigation stack on ROS fast enough to keep up with a speedy little robot? Will it do a decent job on localization if don't have a laser scanner or Kinect? I do know the map and the starting position.

I know that Fergs is a prior Trinity winner and he used wall following as his primary form of navigation. Perhaps a combination approach of that with ROS doing corrective localization would work? Or is this a completely crazy idea.

I realize this is largely a "try it and see" type of situation, but I'd welcome any comments or advice.


Originally posted by eschulma on ROS Answers with karma: 23 on 2012-03-20

Post score: 2

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

I would recommend for ROS, but against using the nav stack for your particular application. The default mapping, localization, and planning algorithms in the nav stack are fairly CPU-intensive, and would be unlikely to be able to keep up with the speeds your robot would likely be running at. Though you can fake a laser with sonar as Dimitri said, you really have to be sitting still if you want to simply drop that data in place of the LIDAR data the nav stack wants (since a LIDAR scan is much more of a snapshot than a slow sonar/IR scan is).

Though the nav stack can be modified to meet your needs, it would likely be easier for you to use ROS as the underlying infrastructure and write your own behaviour node(s) if you're not already familiar with transforms and the nav stack.


Originally posted by Ryan with karma: 3248 on 2012-03-21

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by eschulma on 2012-03-21:
Ryan, thank you, that is what I suspected. I think I could work around the slowness of a IR pan, but even so, it is more complicated than necessary.

$\endgroup$
0
$\begingroup$

Rosanswers logo

I'm sure that ROS could do what you want to do. If your IR or sonar sensor is on a gimble or turret, you can easily use that system to "fake" a LaserScan message. All you need is the sensor and an encoder on the turret, and you have a cheap LIDAR (much slower of course). This could then be converted to a LaserScan message for use with the navigation stack.

Wheel odometry from the wheel encoders will provide fairly realistic odometry over short to moderate distances, provided that the robot's driving dynamics aren't outlandish (4-wheel skid-steer also poses a problem).

ROS provides this stack for the LegoNXT. If that robot can be used with ROS, there's no reason that yours can't.


Originally posted by DimitriProsser with karma: 11163 on 2012-03-21

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by eschulma on 2012-03-21:
Thank you! I have seen the approach you mention used for Pi Robot, haven't checked the LegoNXT stack but will soon. The real question in my mind has been, will it be fast and reliable enough, as mentioned in the next comment...

$\endgroup$

Your Answer

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