1. Setup the network
Once powered, the Raspberry Pi will be automatically connected to the private network hosted by the router. A private network is preferred to reduce the risk of dropping datagrams in flight.
The router has been pre-configured to create a private sub-network between the main computer and the quadcopter which prevent conflicts with the default network(internet). This is the reason why the network address of the router is 198.162.2.xxx. Where 2 in the host address indicates that the IP belongs to a subnet created by the router.
The main computer (The Server) which hosts RC benchmark Tracking Lab should also be connected to the private network. Although, we can use the wifi to connect the server(main computer) to the network, we recommend using a wired connection to minimize network latency.
In order for QgroundControl to receive data from the Quadcopter, the server must be recognized in a private network.
Setting up a private network:
Check on the network icon on the right corner of the startup bar.
Click on Network and Internet Settings. Then, click on change connection properties.
Click on Private Network to switch to a private network.
2. Install the base stations
- Base stations need to be in the line of sight of each other in order to sync. The base stations should be positioned atmost 5 to 6 meters apart. Tracking is weak when the tracker is closer than 75 centimeters to the base station.
- The base stations should be installed at a height of about 1.7 to 2.5 meters to avoid visual occlusion by people.
- Each of the base stations should be oriented in a way that it covers the entire tracking area. A base station has a field of view of 120 degrees and an effective range of 5-6 meters.
- The base stations need to configured in modes 'b' and 'c'. Ensure that the light on both the base station is green.
- We recommend to mount the base stations permanently. Housing the base station on tripods could reduce the tracking accuracy due to the vibrations of the stand.
Complete guide on installing the base stations can be found here.
Image of the setup
3. Install the Otus tracker on the quadcopter
- We recommend the of use the provided vibration dampening mount. It helps in reducing the high frequency vibrations during flight which affects the IMU. Without the mount, these vibrations can cause low performance or complete loss of tracking.
- The mount is attached to the Quadcopter and the Otus tracker using a double sided tape.
- Ensure that the Otus tracker is correctly aligned with the LED of the Otus pointing in the direction of the front of the Quadcopter.
Note: The reference axis of the Otus Tracker is the North-West-Up (North - x axis ; West - y axis ; Up - z axis) and for the Pixhawk it is North-East-Down ( North - x axis, East - y axis, Down - z axis).
The position forward script(pose_forward_rcb.py) on the Raspberry Pi transforms the two frame of references and provides vision estimates using the method, vision_position_estimate_encode().
4. Check safety of the assembly
- Ensure that all screws are firmly secured.
- Check that there are no loose wires that could go in the propellers.
- Use safety nets and ensure that the test area is isolated so that it is safe from people walking into the area.
- Ensure that the battery and Otus Tracker are firmly fixed on the quadcopter.
5. Powering the quadcopter
During development, the Raspberry Pi can be powered using its own micro USB port which also powers up the Pixhawk.The motors however, are not powered while on development mode as they are directly connected to the battery. We still recommend that you remove the propeller during development for safety and to prevent damage to the propellers.
During Flight, the quadcopter is powered by a 4S LiPo battery which powers all the components on the quadcopter. Additional equipment such as servos or cameras can be powered by the ESC with BEC.
Power distribution on the Quadcopter:
The primary power supply is branched out and distributed by the Power Adapter to the ESC and the On-board components parallely. The ESC with BEC is provided so that it can be used for Servo to ensure the regulated power supply is stable.
Connecting the battery
Once the battery is plugged in, the quadcopter powers ups up booting the Raspberry Pi, powering up the OLED and motors.
6. Connect to a default wireless network for the first time
If your drone was purchased with a router, the Raspberry Pi will connect automatically to the router. If you have your own router, you can connect the Raspberry Pi to the network using the graphical user interface of the Raspberry Pi by following those instructions.
- Remove the propellers if you are going to power the drone with the XT60 connector.
- Connect an HDMI cable and a display to the Raspberry Pi.
- Connect a USB mouse and keyboard to the Raspberry Pi.
- Power the drone and wait for the desktop to appear on your screen.
- Click on the network icon on the top right of the Raspberry Pi desktop. Click on your wifi network SSID and enter your password.
7. Change the default wireless network
If you have to alternate between two networks (for example, one with internet access and one without), you do not need to connect an HDMI cable every time. Connect to Cloud9 from your browser (192.168.X.XXX:8080, as shown on the quadcopter OLED) on a computer on the same network as the Raspberry Pi. Then, in the console, type:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
You will see this file
ssid="YOURSSID" psk="YOURPASSWORD" scan\_ssid=1
Edit YOURSSID and YOURPASSWORD to the new network. Do not add spaces. Press ctrl+O to save and ctrl+W to exit. Reboot the Raspberry Pi. The Raspberry Pi should now be connected to a new network. If you made a mistake in the network SSID or password, you will need to use the HDMI cable to reconnect to the wifi.