Visible to the public Download and run the Task 3 seedConflict Detection Enabled

This tutorial is taken largely from the README file for Task 3, availble here: https://github.com/sprinkjm/cvchallenge_task3

Install the CAT Vehicle Simulator

First, make a new workspace and initialize it, then add the catvehicle git repository:

cd ~
mkdir -p cvchallenge_task3_ws/src
cd cvchallenge_task3_ws/src
catkin_init_workspace
git clone https://github.com/sprinkjm/catvehicle.git
git clone https://github.com/sprinkjm/catvehicle_simulink.git
git clone https://github.com/sprinkjm/obstaclestopper.git
git clone https://github.com/sprinkjm/cvchallenge_task3.git

If you have need of other repositories, go ahead and clone them here.

How to run this seed

You will want to open up the catvehicle_simulink/stopafterdistance.slx file, and generate code into this workspace for the launch file to work (see tutorial Stop the vehicle if it gets too far away). After you generate the code:

./build_ros_model.sh stopafterdistance.tgz ~/cvchallenge_task3_ws

You will want to launch into a less interesting world for the default seed: if you have your own velocity controllers, use whatever world you like. Otherwise, we suggest creating a world that has objects around the circle that the hoffmannfollower follows (see world5.world in this seed).

cd ~/cvchallenge_task3_ws/
catkin_make
source devel/setup.bash
roslaunch cvchallenge_task3 catvehicle_custom.launch worldfile:=world5.world

Obviously (or not?) you could still run worldfiles from other task packages you have. In a new tab:

cd ~/cvchallenge_task3_ws 
source devel/setup.bash 
rosrun rviz rviz

Once you have loaded the vehicle and can see its sensor data, you can now run the task3.launch to see how the car drives around.

cd ~/cvchallenge_task3_ws 
source devel/setup.bash 
roslaunch cvchallenge_task3 task3.launch

This will fail if you have not generated the code for the hoffmannfollower and for the stopafterdistance models above.

What do you do next?

Add your task2 solution that generated detections into the launch file, and your task3 solution that takes those detections, listens for a velocity of 0, and then publishes your Gazebo world. That's it!

When submitting task3, you will be archiving this seed alongside any other packages and/or nodes you create or need.

Good luck!