User Tools

Site Tools


turtlebot:adventures:wandering

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
turtlebot:adventures:wandering [2015/06/22 17:47] – created pvelaturtlebot:adventures:wandering [2023/11/07 11:30] (current) classes
Line 1: Line 1:
-====== Turtlebot: Sensing Part 2 ======+====== Turtlebot: Wandering Like a Zombie ======
 --------------------- ---------------------
  
 === Intro === === Intro ===
  
-Now we get to the sensing part that maybe you were thinking about initially.  This is sensing of the world outside of the turtlebot (not using proprioceptive sensors).  The default version comes with a depth sensor, so it has an on-board RGB camera and also a depth image.+Here, we will try to combine a little bit of sensing with actuation, but it will be somewhat mindless.  Given the popularity of zombies at the time of this writing, let's say that we are creating a zombie mode for the turtlebot.  Historically this zombie mode has been called wandering; it's a rite of passage for robotics students to create their own wandering zombie robot. 
 + 
 +For that we will need to be able to sense the world around us.  The next [[turtlebot:adventures:Sensing102 | sensing]] module does that, but for now we will explore a stripped down version of it.  Within the turtlebot, there is linescan topic that publishes the depth or range to objects in front of the turtlebot as determined by the on-board depth sensor (which should exist presuming that you are working with a standard turtlebot package).  How to interpret it depends on how you've install the depth camera.  It correspond to the distance to objects in the plane that is horizontal relative to the sensor coordinate frame.  In most cases, this will be horizontal plane relative to the robot coordinate frame too at a height equivalent to the height of the depth camera sensor above the body.
  
 === Investigation === === Investigation ===
  
-What are the ROS topics that must be subscribed to in order to get these sensor measurements? +The basic idea behind this zombie/wander mode is to simply have the turtlebot move forward whenever possible, turning only when doing so would aim it towards emptier space.  The normal procedure for this, based originally on the use of individual sonar or infrared range sensors, is to divide the line scan data into 2n+1 zones with a forward sector, plus n left and right sector.  Within each sector compute the minimal (median, or average) distance measurement within the sector.  Move towards the sector that seems to maximize free space.
- +
-(Need to write about opencv bridge hereArgh.)+
  
 === Adventure === === Adventure ===
  
-==== Explore ====+Take the [[https://github.com/TurtlebotAdventures/ihe_turtlebot_wander|code]] that has been forked from another github tutorial, and which roughly does the job but has several coding errors in it.  Fix the errors and utilize at least 5 total sectors for the zombie mode. 
 + 
 +=== Explore === 
 + 
 +Add in the bump, cliff, and wheel-drop sensing to prevent the turtlebot from doing silly things to itself.  The line scanner isn't perfect you know, nor will the zombie code execute 100% as desired.  It will be correct code (hopefully), but flawed code also.  there is a whole research are on Verification and Validation of code (is the code correct as specified? is the specification correct in terms of achieving the desired goals and avoiding catastrophic outcomes?). 
 + 
 +=== Troubleshooting === 
 + 
 +There is some variability in what the Turtlebot+laptop combo can achieve.  Check out the [[turtlebot:adventures:Sensing102_Hints|hints page]] should there be getting things working.
  
 --------- ---------
turtlebot/adventures/wandering.1435009628.txt.gz · Last modified: 2023/03/06 10:31 (external edit)