Progress Blog
Session: July 23-24
- Presented at SEARCA 1st UC Faculty Forum
- ODETTE: An Autonomous Surface Vehicle Platform for Water Quality Monitoring
Session: June 19
- Socket communication programming
- Refactored Toter mode code
- Followed state-transition coding. Introduced states for each case
- MERGED TOTER CODE WITH SOCKET COMMUNICATION
- Used pickle module to send receive list
Session: June 17
- Socket communication programming
- Test sample client-server code from: https://www.youtube.com/watch?v=PYBZtV2-sLQ&t=622s
- Laptop is both client and server
- Test code in raspberry pi (as server)
- Modified setup: Erle brain - client code, RPI - server code
Session: June 10-11
- Played around with dronekit python. Tried modifying mission_basic.py in attempt to merge auto and loiter
- Tried changing mode from auto to loiter: success but the mission won’t continue
- Saved waypoints to temporary var and reinitiated mission after 3 secs of loiter
- Success!
Session: May 28
- Setup sitl for windows (to try changing of mode via dronekit)
- Followed tutorials:
- http://ardupilot.org/dev/docs/sitl-native-on-windows.html
- http://ardupilot.org/dev/docs/building-setup-windows-cygwin.html#building-setup-windows-cygwin
- git clone https://github.com/ardupilot/ardupilot.git
- cd ardupilot
- git submodule update --init --recursive
- Build ardurover:
- https://github.com/ArduPilot/ardupilot/blob/master/BUILD.md
- ./waf list_boards
- ./waf configure --board sitl
- ./waf list
- ./waf rover
- Output in /build/sitl/bin/ardurover.exe
- Run sitl:
- cd Tools/autotest/
- python sim_vehicle.py -v APMrover2
- MavProxy started
- Connected to tcp:127.0.0.1:5760
- Wrong home loc
- python sim_vehicle.py -v APMrover2 -l 14.1622,121.242,584,353
- MavProxy started
- Connected to tcp:127.0.0.1:5760
- Open Mission Planner: connected
- Test dronekit code
- On CMD: python simple_goto.py --connect udp:127.0.0.1:14551
- Contains GUIDED mode to a single point
- Arming fails
- Set ARMING_REQUIRE to 0
- On CMD: python simple_goto.py --connect udp:127.0.0.1:14551
- SUCCESS!
- Up next: retrieve GPS data during mission
Session: May 7
- Setup network configuration for Odette and jedidiah
- Through Erle Brain’s Odette-wifi:
- ssh thru erle
- Check /etc/hostapd/hostapd.conf
- In /etc/dnsmasq.conf increase dhcp-range to allow more than one connection:
- Change dhcp-range
- In jedidiah:
- vncviewer <rpi-ip>:1
- Edit etc/network/interfaces
- Comment original iface block
- Insert:
- iface wlan0 inet static
- wpa-ssid Odette-Wifi
- wpa-psk <password>
- iface wlan0 inet static
- Reboot
- To test:
- vncviewer <erle-ip>:1
- Success! RPi connects to Odette-wifi on startup
Session: March 20
- Tune speed and throttle and steering: http://ardupilot.org/rover/docs/rover-tuning-throttle-and-speed.html
- Preliminaries:
- Change Switch 8 to Acro > Manual > Loiter
- Tuning Steps:
- Throttle/Speed Tuning
- Manual > Run throttle > Switch 5 > Check CRUISE_THROTTLE and CRUISE_SPEED
- Config > Full Param Tree > GCS_PID_MASK = 2 > Write Param
- Flight Data > Tuning checkbox > Double click on graph > Select pidachieved and piddesired
- Acro Mode > Drive up and down > See red vs blue line
- Config > Basic Tuning > Increase P and I together
- Turn Rate Tuning
- Config > Full Param Tree > GCS_PID_MASK = 1> Write Param
- Flight Data > Tuning checkbox > Double click on graph > Select pidachieved and piddesired
- Check max turn rate: Manual > Drive around to tight circles > Check blue on graph
- Config > Full Param Tree > ACRO_TURN_RATE = result
- Acro > Drive up and down doing tight circles > See red vs blue line
- Tuning is successful though turn rate is poor due to non optimal assembly
- Throttle/Speed Tuning
- Loiter:
- Loiter SUCCESS though not tested fully due to errors in steering
Session: March 8, 13, 19
- Tried setting Loiter mode
- Switched to Mission Planner GCS
- RC, Accelerometer and Compass Calibration
- Compass Calibration doesn’t work
- Tried Live Calibration
- Tested Loiter outside
- SUCCESS! Moved the boat around and the propeller and rudder moved on their own in attempt to hold position
Session: February 13, 14, 20
- Built ardurover3.5 on erle brain2
- Tested the rudder and motors using the ardurover 3.5 build: THROTTLE NOT WORKING
- Tested the ardurover 3.4 build: NOT WORKING
- Tested the ardurover 3.5 build from http://firmware.ardupilot.org/Rover/stable/erlebrain2/: NOT WORKING
- Tried loading the parameters provided here: http://forum.erlerobotics.com/t/erle-rover-throttle-does-not-work/3824/12
- ARM option disappeared!
- Throttle finally WORKED!
- Tried loading the parameters provided here: http://forum.erlerobotics.com/t/erle-rover-throttle-does-not-work/3824/12
Session: February 4
- Built ardurover3.5 from source code
- Followed this link: http://docs.erlerobotics.com/brains/erle-brain-3/sofware/apm#build-apm-using-waf-cross-compil-
Side Project with Interns
- Bianca Ruth Bautista and Andric Quinn Baticos
- Prototype web app and mobile app developed to receive and visualize data from boat
- 18 June-20 July 2018
Session: May 29
- Finished setting up RPi as access point: SUCCESS!
- Followed this guide: https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md
- Installed VNC Server on RPi
- Installed VNC Viewer on Windows: https://www.realvnc.com/download/viewer/
- Mounted sensor on the boat
- Connected wifi dongle on laptop
- Test boat with sensor
- Steps:
- Boot Erle Brain
- Boot RPi
- Connect laptop to Red-SRGBot network and jedidiah network
- Open VNC Viewer
- On terminal: run temperature_sensor.py
- SUCCESS: Controlled propeller and servo while collecting temperature readings
- Steps:
Session: May 25
- Another field test was done in the attempt to improve rudder turns
- Location: Baker Hall swimming pool
- Boat was able to move smoothly but turns are not yet at their sharpest
- Up Next: Integrate water temperature sensor
Session: May 23
- First test for modified boat assembly
- The modifications were on the shaft-propeller assembly where the shaft, propeller, and joint from banggood was used
- It improved the rotation of the propeller together with the motor
- Test was done on the pool
- Issue encountered: Boat moves backwards!
- Solution: Reverse the polarity of the motor to reverse the rotation
- Exchange the red and blue cables
- Sail was successful!
- Up Next: artificial waves/ auto mode
Session: April 13
- We have assembled the boat (with the complete Erle Brain components inside)
- Tested gps signal in APM
- FIRST SAIL ATTEMPT
- Location: Baker Hall swimming pool
- Tested buoyancy first for a minute
- Tested controlling the boat with remote control
- Shaft loosens which made it difficult for the propeller to operate properly
- Propeller’s hollow area adds resistance
- The boat was able to move in a short distance
- TO DO: Modify shaft and propeller. Turn rudder to the other side
Session: August 30
- We have done a buoyancy test on the boat (No electronics first)
- Location: Baker Hall swimming pool
- On first try, no load was placed on the boat
- On the second, a 5lbs load was placed on the boat
Session: August 19-21
- Built a small prototype boat
- Material: Polystyrene foam board
- UP NEXT: Integrate boat hull with Erle Brain and components
Session: August 18
- Tried building APMrover2 on Erle Brain: SUCCESS!
- Installed APM Planner on Windows
- Using controller, tried controlling the motor at different throttle speeds: SUCCESS!
- After turning off controller, the motor went failsafe
- Solution: Initial Setup>FailSafe>Change RTL
- UP NEXT: Motor-Propeller assembly. Prototype boat: Catamaran style, 1 propeller, with rudder
Session: August 8
- Tested temperature sensor DS18B20 on RPi at conference room: Success!
- Set RPi as access point: DONE. Set up VNC: NOT DONE YET
Session: August 3
- Tested RPi at conference room: Success!
- Next step: Buy sensors!
- Q: Can I use Erle-brain instead?
- Maybe: Read on ArduBoat - https://discuss.ardupilot.org/t/rover-3-0-0-release/8267?source_topic_id=8308