63 lines
3.2 KiB
Markdown
63 lines
3.2 KiB
Markdown
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. |