PA Fiducials slides |

Sections

Introduction

  • High level descritpion of assignment
  • And of what will be learned.

Expected preparation

  • What we should have covered up to now

Specific Readings (PRR)

  • Key sections of PRR that are relevant

What skills this assignment covers

  • The list of “skills”

Requirements for the PA

  • Exactly what behaviors are expected

Steps

  • Outline (sections and subsections)
  • Steps and order to follow
  • Without giving away the answer

What to submit

  • self explanatoriy

fiducial_nav

Videos

How to Run

The Skeleton Code (Sim)

  1. roslaunch fiducial_nav fiducials_sim.launch
  2. export TURTLEBOT3_MODEL=waffle_pi
  3. roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
  4. rosrun fiducial_nav nav_sim.py

The Answer (Sim)

  1. roslaunch fiducial_nav fiducials_sim.launch
  2. export TURTLEBOT3_MODEL=waffle_pi
  3. roslaunch turtlebot3_gazebo turtlebot3_gazebo_rviz.launch
  4. rosrun fiducial_nav nav_sim_answer.py

The Skeleton Code (Real)

  1. bringup (onboard the robot)
  2. roslaunch fiducial_nav fiducials_real.launch (on your vnc)
  3. rosrun rviz rviz (on your vnc. Tune the RViz to visualize what you want.)
  4. rosrun fiducial_nav nav_real.py

The Answer (Real)

  1. bringup (onboard the robot)
  2. roslaunch fiducial_nav fiducials_real.launch (on your vnc)
  3. rosrun rviz rviz (on your vnc. Tune the RViz to visualize what you want.)
  4. rosrun fiducial_nav nav_real_answer.py

Instructions (Sim)

  1. Study and understand the mapper.py file.
  2. Complete the nav_sim.py file such that the robot:
    1. rotates in place to scan all the target fiducials; and
    2. moves to each target fiducial in turn.

Instructions (Real)

  1. Construct a real environment that matches the simulation world, using real fiducials.
  2. Change the fid_ids parameter of the mapper.py file to match the ids of your fiducials.
  3. Complete the nav_real.py file such that the robot:
    1. rotates in place to scan all the target fiducials; and
    2. moves to each target fiducial in turn.

PRR Readings

  1. Chapter 2, sections “tf: Coordinate Transforms” and “Pose, Positions, and Orientations” (pp.25-26)

Resources

  1. ROS Wiki tutorials on the tf2 package.
  2. This may help you understand transforms better.
  3. The tf_cheatsheet.md file found in the lab notebook.

Notes

  1. Pressing CTRL-R to reset your robot’s position in Gazebo won’t work for this project. This is because CTRL-R causes us to travel back in time in the simulation, which breaks the tf tree and the associated functionalities.

  2. Sometimes the tf2 package fails to build the tf tree correctly (e.g., reporting that certain frames that clearly do exist do not, or saying that two frames are not part of the same tf tree when they clearly are). You’ll have to simply try relaunching Gazebo, RViz, and your nav_sim node in these situations.