Given a map composed of nxm squares, make the robot go from a Start square to a Goal square while avoiding obstacles. You can see an example of map in Figure 1.
The robot can only go in the north, south, east, west squares, namely it cannot move diagonally. In the first scenario the map is fixed so you know where the obstacles are. In the second scenario the map can change, so you cannot assume to know it in advance. Video 1 shows a possible procedure to reach the goal.
http://robotics.dei.unipd.it/images/video/exp2.m4v
As a plus, once the robot has reached the Goal square, you have to make it push a touch sensor connected to another NXT Brick. The purpose of this part of the experience is to communicate between two different NXT Bricks using ROS. In order to do this, you have to create a new simple robot configuration starting from the .yaml file you can find in nxt_unipd package and this NXT ROS tutorial. Once your package is ready and tested you have to connect the two NXT Bricks to different computers. In the first computer run your path planning algorithm, in the second make ROS search for master at the first one location:
export ROS_MASTER_URI=http://first_IP_adress:11311
Now all ROS programs you launch in the second computer are connected to the first one and they can look at each other topics.
Sensors messages
Header header float64 intensity float64 r float64 g float64 b
Header header bool contact