Download and run the Task 3 seed
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!