Difference: GoogleCSR (7 vs. 8)

Revision 82021-03-25 - DamianLyons

Line: 1 to 1
 
META TOPICPARENT name="FordhamRoboticsAndComputerVisionLaboratory"

GoogleCSR Autonomous Robotics Project Spring 2001

Autonomous Robot Exploration

Line: 43 to 43
  feizza01ATgmail.com, dengconnie0723ATgmail.com, silviadb48ATgmail.com
Added:
>
>

 

Schedule

W1 3/1: Begin Phase 1 UBUNTU in place, ROS installed, Start tutorials

Line: 84 to 86
  Review this program and discuss it in your group meeting. If your group has questions, please email me, but copy both teams so everybody can benefit from the answer.
Changed:
<
<
Using "roslaunch turtlebot3_gazebo turtlebot3_house.launch" start the simulated house world. In a separate window, start the wanderT3 python program with "python3 wantderT3.py". Observe the behavior of the robot - have you any ideas for improvement so that it explors the house better and quicker?
>
>
Using "roslaunch turtlebot3_gazebo turtlebot3_house.launch" start the simulated house world. In a separate window, start the wanderT3 python program with "python wanderT3.py". Observe the behavior of the robot - have you any ideas for improvement so that it explores the house better and quicker?
 
Line: 102 to 104
  W4 3/22: Demo gMapping. wander script. exploration mapping
Added:
>
>

NOTE: an important note for everybody: add the following line at the end of your .bashrc file in your home folder:
source ~/catkin_ws/devel/setup.bash

To start the SLAM mapping node in ROS do the following:
1. In a new terminal window type
roslaunch turtlebot3_slam turtlebot3_slam.launch slam_method:=gmapping
2. To move the map display in the RVis GUI that comes up when you type this:
left button drag will rotate the view
shift left button drag will move the view up/down and left/right
zoomin/out as you would for gazebo

To SAVE your map, in a new terminal window, type
rosrun map_server map_saver -f nameoffile

Here 'nameoffile' will be any name you pick to save the map. The map will be saved as a PGM image file. To view it, type "eog filename". The command"eog" is a linux command ("eye of gnome") related to the Gnome window system, and that runs on linux that you can use to view any kind of images.

To start a teleoperation ROS node to move the robot around:
1. start a new terminal window and type
roslaunch turtlebot3_teleop
and press the TAB key to allow it to auto-complete. Then press enter.
2. Try to have the Gazebo and/or RViz view oriented so that moving the robot forward is up on the screen
3. w and x increment/decrement forward velocity, a and d increment and decrement rotational velocity
pressing the space bar stops the robot
4. I recommend you navigate by rotating the robot until it faces in the right direction, and then go forward. When you want to change direction. stop, rotate to the right direction and only then go forward.

You can start the wander program anytime you want by making a new terminal window and typing "python wanderT3.py". Stop any of these nodes that you do not want by typing control-C (^C).

NOW you need to think about how to change wanderT3 so that it allows gmapping to make a better quality map. Think: how can you avoid it going over the same spot repeatedly? How can you encourage it to explore new areas, go into doorways and corridors and so forth?

It may be useful to have access to the robot's estimation of its own location in space. The location is just a coordinate on a 2D grid (x,y) in meters along with an angle that gives the direction the robot is facing (the yaw angle, or angle around the Z axis) in radians (remember 2pi radians = 360 degrees).

The program goto.py attached here shows you how to 1) declare that your node SUBSCRIBES to the position topic which is called /odom and 2) make a callback function for the topic that will place the x,y, and yaw angle in a global variable called gLoc, where gLoc=[x,y,angle].
If you include these two steps in YOUR program, then you will always have access to the current position of the robot as the global variable gLoc.

The program goto.py is executed in a new terminal window by typing "python goto.py" with two numbers on the same line separate by a space, e.g.
python goto.py 1 2
The robot will try to drive to this location on the grid (1,2). It does not avoid obstacles.

Next meeting is Wed 3/29 at 5:00pm


 W5 3/29 Begin Phase 2

Design & testing of exploration algorithms

Line: 124 to 171
 
Added:
>
>
 
META FILEATTACHMENT attachment="moveSquareT3.py.txt" attr="" comment="Simple ROS Node" date="1615411134" name="moveSquareT3.py.txt" path="moveSquareT3.py.txt" size="1753" user="DamianLyons" version="1"
META FILEATTACHMENT attachment="WanderT3.py.txt" attr="" comment="WanderT3.py" date="1616030867" name="WanderT3.py.txt" path="WanderT3.py.txt" size="3264" user="DamianLyons" version="1"
Added:
>
>
META FILEATTACHMENT attachment="goto.py.txt" attr="" comment="Goto node" date="1616680185" name="goto.py.txt" path="goto.py.txt" size="3028" user="DamianLyons" version="1"
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback