Matas Keras 84cd4442a9 | ||
---|---|---|
launch | ||
src | ||
README.md | ||
setup.bash |
README.md
Installation: 1: Follow the installation guide at https://git.spirirobotics.com/cesar.alejandro/oscillation_ctrl/src/branch/master to set up the oscillation_ctrl package, along with everything required to run the oscilattion_damp simulations
2: Create a new directory (not in your catkin_ws) to house the github files. This could be done by running the commands
cd ~
mkdir OscillationControlWithCircle
3: Run the command
git clone https://git.spirirobotics.com/scorpio1/OscillationControlWithCircle.git
This will create a copy of the OscillationControlWithCircle files in the folder you just created
4: Run the command
cd OscillationControlWithCircle
This will move you into the OscillationControlWithCircle folder
5: Run the command
chmod u+x setup.bash
This will set it so you can execute the setup script
6: Run the command
./setup.bash
This will copy the the files from src into the src folder of the oscillation_ctrl package, and the files from launch into the launch folder.
7: Move into your catkin_ws directory (cd ~/catkin_ws)
8: Run the command
catkin build
This will rebuild your catkin workspace, making sure the changes all work.
Running the demo: You are now ready to run the circle demo. There are two versions of the demo, one based on waypoints and one based on controlling the spiri directly with acceleration.
You can run the demo based on the waypoints using the command: roslaunch oscillation_ctrl oscillation_damp_circle.launch
You can run the demo that uses the acceleration topic to control spiri using the command: roslaunch oscillation_ctrl spiri_circle_acceleration.launch
There is a launch file that corresponds to straight line flight. To run this file, use the command: roslaunch oscillation_ctrl spiri_straight_line.launch
There are also two optional parameters that work on all demos. Like oscilattion_damp.launch, there is an option to change the model. You can do so by adding model:=model name, replacing model name with of spiri, spiri_with_tether, headless_spiri_with_tether. There is also an option to also start a turtlesim node, and a turtle_test node, which will create a turtlesim window with a turtle that maps the two dimensional movements of the drone. This will allow you to see if the drone deviates from a circular path. To enable this option, add turtle:=true to the end of your launch command.
Finally, there is a launch file that corresponds to the obstacle avoidance demos. To run this file, use the command: roslaunch oscillation_ctrl obstacle_avoidance.launch
Like the other launch files, there are the model and turtle optional parameters. You can additionally change the walls you want spiri to avoid. You do so in the obstacle_test.py file. Near the bottom, there will be a variable called wall_lines. This variable can be modified to add or remove lines. Each element of the list is a line. Each line is a tuple of the form ([m,b],lower bound, upper bound), where the line is defined by the equation y=mx+b, and exists for lower bound<x<upper bound. If you are making changes to this file, you can either make them in the oscillation_ctrl package, or you can make them in the local directory you have for this git page, and then run setup.bash again.