Go to file
Matas Keras 84cd4442a9 increased acceleration 2022-08-18 07:56:59 -04:00
launch added straightline guidance control 2022-07-22 08:09:32 -04:00
src increased acceleration 2022-08-18 07:56:59 -04:00
README.md Update 'README.md' 2022-08-12 12:10:20 -07:00
setup.bash fixed typo in setup.bash 2022-07-14 15:11:32 -04:00


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


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.