Meeting Minutes: MAV

August 2020

Aug 27th

Juncheng Li

  • Able to pick up the crank arm and bin at different orientation using the new pick and grasp algorithm.

  • Adding validation test to the training network. It will use the same datasets as an input to calculate the accuracy of the result in order to evaluate the overall performance.

Arindam

  • Able to get the network trained. The mean average precision on the test dataset is 90.2.

  • Ran the network on the fetch robot. Some of the results are the following.

Aug 20th

Arindam

  • Loaded some wrong parameters in the detection model, so the training didn't go as planned. It failed with error value going to infinity.

  • Fixed the issue and now training again.

Wei Huang

  • Add Kinect and other sensors onto turtlebot3.

  • Can now project the depth image to 2D map.

Aug 13th

Arindam

  • Classification training is complete. 3 versions of models are there, smaller one has 11 convolution layers 92% accuracy, biggest one has 17 convolution layers 97% accuracy.

  • Training for detection now.

Juncheng Li

  • Writing new pick algorithm which can make the gripper has the same orientation with the object.

  • New algorithm has two parts. The first part is moving the arm a little bit above the object. The second part is to do the actual grasping which is moving the gripper down to the centroid of the object and then closes the gripper. If no IK solution find, it will change the gripper angle while maintain the same orientation with the object.

Aug 6th

Arindam

  • Created the network and training it now.

Wei Huang

  • Imported main dome into Gazebo.

    • Currently, different objects need to be export as .igs format separately. Then, modify and reassemble in SolidWorks before imported into Gazebo.

    • Still looking for an easier way.

Juncheng Li

  • The MoveIt motion planning result will collide with the table.

  • Writing code to scan the scene to generate a wide range of point cloud for occupancy grid.

July 2020

July 30th

Arindam

    • Created the dataset with all the objects.

  • Wrote the code for the neural net, encountered some bugs, trying to fix those.

Wei Huang

    • Looked for algorithms to do automatic 3D mapping.

    • Now, still learning about VSLAM (Visual SLAM) and try to modify frontier-base exploration to combine with 3D mapping.

July 22nd

Arindam

  • Almost done with the code to create the dataset by affixing these images with the masks on background images.

  • There are some bugs which I am trying to fix.

Juncheng LI

  • Create a Octomap for MoveIt planning scene.

    • Write the code transforming the pose from head_frame to base_link for MoveIt.

July 16th

Juncheng Li

    • Successfully recognize the crank arm as a whole unit. https://drive.google.com/file/d/1yiuW2a6TX9JxG5k18bTsYKlvWUJtcfRl/view?usp=sharing

    • Improved performance of multiple objects at the same scene. https://drive.google.com/file/d/1iP6iVPYHtW8efudfHu4GU8kkpxj1LoBC/view?usp=sharing

    • Able to use the prototype board to do the two way communication via Ethernet. https://drive.google.com/file/d/1GD8qpudx1pZzFYX0ZVWh4ccDkX3KlxXR/view?usp=sharing

Arindam

  • Collected all the images of the objects needed. Created the masks for all of them.

  • Writing the code to create the dataset by affixing these images with the masks on background images.

Wei Huang

    • Test with turtlebot3 and localization with AMCL package works fine.

    • Make two changes to bypass localization issue with Fetch.

      • Instead of using amcl package, use fake_localization to track robot's position.

      • Set global_frame in local costmap from /odom to /map. Also, reduce robot inflation radius to 0.3 to make it easier to pass narrow gap.

    • Now able to navigate through door and narrow gaps. Realized auto-slam with frontier-base exploration.

    • Successfully build the 3d map manually with fake_localization.

July 9th

Wei Huang

  • Done serval tests and found out that robot's odometry is not good enough for localization. Looking for solution to improve odom.

  • Implemented RTAB-Map package to generate 3D mapping. But the 3D point cloud currently is confusing.

Juncheng Li

    • Better performance for Bin recognition: https://drive.google.com/file/d/1OWPmz6mQA6mK32nigrdpnKZHj3zAVV1e/view?usp=sharing

    • Able to recognize the left part of the crank arm. False detection exist. https://drive.google.com/file/d/1OasKS35PQpIDCYhhNQYJjR_RrOaau2H5/view?usp=sharing

    • Can recognize the left part on the crank arm. Bad performance. https://drive.google.com/file/d/1XnCP8rze1YQqmKrnn4JWxLhvl4EMWPGo/view?usp=sharing

    • Working on recognizing the crank arm as a whole.

Arindam

  • Created part of the dataset with the bins. Creating more images with the crank arm parts.

July 2nd

Arindam

    • Creating a dataset of images of the different objects to pick up in sequence.

Juncheng Li

    • Improved performance for Bin recognition. https://drive.google.com/file/d/1xVV4lQex_z5xUDhAVrI_ubNt2EHZiIK_/view?usp=sharing

  • Affordance-templates have a lot of bugs for fetch robot. Trying to fix them.

Wei Huang

    • Completed frontier-base exploration in an open environment. https://youtu.be/eEGpGz41mGI

    • Currently not able to pass through narrow hallway or door. Possible reason.

      • Obstacles are inflated too much when building costmap.

      • Inaccurate localization using AMCL package. https://youtu.be/CvunAo6-Zfc

June 2020

June 24th

Juncheng Li

    • The Crank arm has bad performance in recognition.

    • Blue bin can only be recognized in certain orientation.

    • Need to change different configurations in lighting and 3d model.

Arindam

    • Picked up the bin with the arm.

    • Need to remove some of the false detections that appear sometimes.

June 18th

Arindam

    • Simplified the c++ code for pcl processing

    • There are some issues to make the python and c++ scripts work together. Trying to fix those.

    • The code is working in segments, but the complete pipeline is not ready yet.

Juncheng Li

  • Router or fetch wifi adapter limited the data transmitting speed.

  • The algorithm can work in real-time with Ethernet connection.

  • https://drive.google.com/file/d/1kO2Lph1Araqle3XI76GPdFXXP8axeaCH/view?usp=sharing

  • https://drive.google.com/file/d/1QXNWyDCs9CNWk_zcgOuJfojuCJNpyj1O/view?usp=sharing

June 11th

Arindam

    • Able to fit an unaligned (tight) bounding box to the blue bin. Will be needed for defining the proper pose for gripping.

    • Axis aligned bounding box Axis unaligned (tight) bounding box

Juncheng Li

    • Created a texture 3D mesh for crank arm.

    • Dateset acquisition and network training for crank arm.

June 4th

Juncheng Li

    • Able to recognize the position and orientation of the labeled spam.

    • Have issue with the processing speed.

Arindam

    • Able to detect the blue bins with image processing.

    • Trying to incorporate this detection with pcl.

May 2020

May 28th

Arindam

    • Was able to make a single bounding box around the blue bin.

    • Now trying to combine the depth and color image with it to isolate the unwanted objects.

Juncheng Li

    • Evaluating two ways to collect datasets. Successfully generate 20k images using NDDS.

    • Setting up the environments for Deep learning networks.

May 21st

Arindam

    • Was able to make some progress with the bounding box. The code seem to work properly when there are less objects in the scene, and when objects have a more continuous point cloud.

Juncheng Li

    • Understand different ways of collecting data for training.

May 15th

Arindam

    • Was able to segment out the table part from the scene. Now trying to separate all the individual objects.

Juncheng Li

    • Looking at different papers on Pose estimation.

May 8th

Arindam

    • Understood part of the point cloud data processing. But not there yet.

May 1st

Juncheng Li

    • Successfully pick the crank arm from the CMM machine.

    • Trying to pick the crank arm from the Bin.

Arindam

    • Trying to get the ar code position in to the camera image from rviz.

    • Still working on the point cloud data

April 2020

April 24th

Arindam

    • Was able to pick up the blue bin using the AR tag position.

    • Reading up on the point cloud documentation.

Ryan

    • Successfully loaded in a Fetch with a Turtlebot

      • ROS Melodic only supports Turtlebot3, which are very small (~15 cm tall), so not useful for tandem operations

    • Completed first version of Bottomley presentation & will update with recommendations

Naveed

    • Pix4D results are promising - periodic photos seem to be more efficient than video

      • Pix4D flight planner can be used with DJI, has photo planning functionality

  • Can export data into .obj files, but limited by free license currently

    • options: $45/month for Pix4Dmodel, ~$250/month for full feature suite (more analysis tools and export formats)

Juncheng Li

  • Able to integrate the point cloud system with the manipulation system.

April 17th

Ryan

    • Ran into conflicting namespace issues when loading multiple Fetch/Freight robots into the simulation

      • Additionally, creating a robot inside a namespace structure causes Gazebo to crash on startup

      • May be a limitation of underlying Fetch code -- not entirely sure

    • Successfully loaded in multiple Turtlebots -- maybe this is the direction to take?

Juncheng LI

    • Was able to identify the crank arm and putting the binding box around it in real scene.

    • The Fetch can reach that position and orientation.

    • Looking at the Ethernet communication for end-effector.

Arindam

    • Trying to get the arm to pick up a blue bin.

    • Better to use point cloud for this purpose. So looking into that.

April 10th

Arindam

  • Was able to pick and place the crank arm on the new cardboard stand.

  • Videos fetch_pickup_and_put_back_crank_arm.mp4 and testing_with_cardboard_stand.mp4 uploaded in the server.

Juncheng Li

    • Collected couple point cloud scenes using the real robot.

    • Run the point cloud pipeline on the scene in simulation environment.

    • Was able to put the binding box contains pose information around the crank arm.

April 3rd

Juncheng Li

    • Try to sampling the 3D crank model into point cloud.

    • Have trouble converting the ply mesh file into the pcd file for point cloud library.

Ryan

    • Got videos of the robots in action; saved to the server

    • Working on getting correct paths for autonomous navigation

Arindam

  • Made a model stand for the crank shaft.

Naveed

  • testing Pix4D mapper, still not creating model as we'd expect

      • need to fiddle with the settings more

March 2020

March 27th

Juncheng Li

    • Use PCL library for the segmentation, cropping, down-sampling, feature extraction on the saved point cloud data.

    • Scan through the dataset to find the nearest neighbor to do the feature matching using the extracted feature label ros bag.

Ryan

    • Created new world file based on test bed's current layout; added crank arm and stand

    • Gained control of Fetch arm

March 20th

Arindam

    • Tried to estimate the angle at which the object is gripped by the fetch robot, using image processing. But it is not very accurate.

    • Designed a stand to hold the crank arm with guided slots, so that the arm can get back to its proper orientation once placed on it.

Juncheng Li

    • Look at the point cloud data acquisition, segmentation, binding box and matching features.

    • The point cloud recognition can be done from the 3D model or point cloud data of real scene.

    • Look at the end-effector communication with computer and ROS interface.

March 13th

Arindam

    • Got the video feed from the camera, trying to run opencv functions on that. But the frame rate is very slow via ssh connection.

Juncheng LI

    • Create a loop of series action command from navigation to dropping the crank arm.

Naveed

    • continued troubleshooting on motor problems with steve

      • problem is not in Taranis, receiver, or motor controller.

      • looking into motors, some strange current draw behavior shown on diagnostics

March 6th

Ryan

    • Mapped simulated facility with Fetch robot

    • Can successfully navigate to arbitrary points using the map

Naveed

    • 3d printed several of the new panels but they take up way too much filament

      • going to redesign for decreased volume

  • replaced motor controller and receiver, have to pair to controller

Arindam

    • Creating a single python script that incorporates all the functions of the fetch and can work with namespaces.

Juncheng LI

    • Combine the navigation function with the rotation/linear adjustment to reach the AR-tag.

February 2020

Feb 28th

Ryan

    • Fixed Gazebo model so others can now use it

      • Put a ZIP folder with all STLs on the server at /Current Projects/robots_for_factory_tasks/simulation

      • Included a readme with instructions on how to implement

    • Successfully added Fetch robot to simulated environment, still working on controlling it for mapping

Juncheng LI

    • Combined the AR tag code with the arm code.

    • Working on motion planning of the robot arm.

    • Created an AR tag leader and follower system, but we do not need that in the demo.

Arindam

    • Able to control the arm given a position and orientation.

  • Able to get the current position and orientation of the end effector.

Feb 21st

Arindam

    • The arm of fetch robot is working, was able to auto-tuck it.

    • Working on how to make the end effector follow a trajectory.

Juncheng LI:

    • Fetch and Freight can work independently going to Way-points.

    • The camera can find out the position/orientation of the AR tag relative to base link.

    • Try to make fetch robot follow the AR tag.

Ryan

    • Added missing components and doors to Gazebo model

    • Swapped out models for colored variants for ease of visualization

Feb 14th

Ryan

    • Switched to newer ROS Melodic distribution

      • PX4 and IRIS Gazebo simulation seems to be working now

    • 90% complete on Gazebo model of IMI test bed main room

Arindam

    • Got the fetch and the freight robot working together. Example video uploaded to the server.

    • Working on getting the arm working.

Feb 7th

Arindam

    • Got two turtlebots running together simultaneously using ros namespaces.

    • Stopped the default roscore from running on the fetch and freight robots.

Juncheng Li:

    • Fetch and Freight navigation in RVIZ using the map that we build.

    • Looking into different kinds of quick change end-effector.

Naveed Riaziat:

  • evaluated new image processing techniques using GRIP and alternative line tracking algorithm

    • received new parts to add panels and replace motor controller

    • considerations for getting a new IR camera

      • steve needs the flir camera back...are there good alternatives to consider?

      • timeline? might be some time before things are back on track and ready to use thermal imaging

    • contacted "dslrpros" for quote/feedback on drone options they offer

    • https://youtu.be/BDh1lZikd-A

    • promising output video from matrice 200

    • DJI flight hub will do flight data collection and tracking

Ryan

  • Successfully extracted STL files from Revit building model

  • MAVROS installation still not working; attempting switch to ROS Melodic to resolve issues

January 2020

Jan 31st

Arindam

    • Modified the code for the turtlebots to work on the fetch.

Juncheng LI

    • Build a map of the facility using real fetch robot.

    • Try to do navigation using that map.

Jan 24th

Ryan

    • Contacted Kevin; he doesn't have individual models but does have a Revit file for the whole building

      • Can be exported as one big STL, but I feel like Gazebo would choke on it

    • PX4 successfully running; linking to Gazebo for simulation is a struggle

Juncheng LI

  • Fetch- Using Open-SLAM package to create a "fake" map of the playground environment in rviz by moving fetch robot around with keyboard

  • Navigation- Using the fake map i saved and do the simple way-point navigation in rviz.

  • Will run this on the real robot and build the map of the facility and start navigation.

Naveed Riaziat

  • Finding thermal camera drone options

    • compiled list of industry leaders (DJI and Parot options)

  • Communicated with Steve about replacement parts

    • sending replacement motor controller

    • sending file for new side panels - should have more space for accessible electronics

  • undocumented behavior still has not been resolved for HDMI to CSI bridge

    • going to test on new rasPi and alternative camera

  • miniArgo stalled testing progress until new parts come in, shifting focus to camera debugging and drone

Jan 17th

Arindam

    • Got the turtlebot working to move specific distance as specified by the user.

    • Modifying this code to make it follow a trajectory.

Ryan

  • Successfully created a ROS package for simulation use, importing necessary Fetch and Turtlebot packages

  • Loaded in Fetch robot to "manufacturing floor" environment

  • IRIS drone simulation will require bridging gap between PX4 autopilot and ROS - I don't know enough about this to make it happen

December 2019

Dec 13th

Ze

    • Synchronized LiDAR timestamp with odom timestamp in post processing

    • Having problem with LiDAR extrinsic transformation

      • Physically measured transform does not align LiDAR data

  • Worked with Naveed on the new Duke Energy robot

    • Successfully captured IR camera images with the HDMI adapter

    • Set up the new upboard

      • Can't drive motors

      • The motor driver would not connect to usb

      • Swapped the driver with the one on argo mini and motors still does not run

        • Could be software settings with the 24V battery setup

      • The onboard RPi appears to be dead

Dec 6th

Arindam

  • Made updates in the rebuttal documents of the RBC paper.

  • Working on the UNET model.

Naveed

  • Reworking multithreading for linetrack algorithm

  • Connected IR camera to Pi via CSI

  • Ordered new UpBoard to replace burnt one

  • Need to relabel voltage rails for clarity

Ze

  • Met with Raja and discussed the implementation of IMU and GPS

  • Still working on pointclouds registration

Ryan

  • Now able to add STL models to Gazebo map

  • Anything in particular you're looking for?

  • Looked into 3D mapping with TurtleBot

  • Scan angle and odometry inaccuracy will cause this to fail, as well

November 2019

Nov 22nd

Ze

    • Finished the code to read LiDAR frames from PCAP files and generating pointclouds using pointcloud library

    • Working on reading pose data and registering all pointclouds together

Ryan

    • Received Bottomley scholarship

  • A summary of research is needed to register for ME 498

    • Description of research, student's role, deliverables, performance metrics, etc. need to be established

    • Practiced PBE Lab test w/others

Naveed

    • Training for PBE

    • Received Bottomley Scholarship - need to register for ME 498 (week of dec 2)

    • Designing mounting plate for all electronics, will need to order acrylic sheet and hardware to laser cut and mount

      • Necessary for outdoor/moving test because there are not enough accessible and secure mounting points for

        • camera

        • computers

        • realsense

        • thermal camera

Nov 15th

Ryan

    • Environment objects are limited to online Gazebo database

    • Investigating 3D point cloud mapping for better results than 2D

Ze

    • Looked into the wheel odometry integration code

      • Too much integration causes more drift

      • Drift issue should be fixed by using LiDAR data to correct pose

Naveed

    • found cables for CSI-bridge, need to validate

    • ported nearly all electronics from old miniArgo

      • wasn't able to run tests in PBE yet, still need to improve mounting of electronics and cable managment

Nov 8th

Ryan

    • Created building interior Gazebo environment

    • Mapping too imprecise to create a navigable map of complex environments

      • Believed that it relies too much on odometry to determine position, fix unknown

      • Possible alternative solution: increase sensor scan angle?

Arindam

    • Made the prelim presentation.

Naveed

    • Mounting Realsense camera, begin to interface with UpBoard

    • Installed UpBoard and wired to new electronics

    • Will install and test Thermal Camera with new HDMI-CSI converter

    • Aiming to run tests with regular webcam (as before) in PBE this week

Nov 1st

Naveed

Ze

    • Designed and printed an angle-adjustable holder for the camera

    • Calibrated the camera at ACRE

      • Fixed camera hot plugging issue

    • Recalibrated LiDAR at Mann Hall

Arindam

    • Made connectors for the odroids to power them from turtlebots

    • Installed all the required packages on the odroids after erasing the emmc cards. Kept backup of the cards.

    • Working on a ros script to make them follow trajectories

October 2019

Oct 18th

Ze

    • Finished the script to capture time tagged images using the upward-facing camera

      • Set exposure time to a fixed value

      • Tested at ACRE

        • Scaned the field 3 times

        • No significant drift though out the experiment

Arindam

    • Finished the first draft of the prelim report

Naveed

    • Capture Cards - Worth being ordered to validate. On paper, latency and format should be adequate

    • Designing test for antenna

      • considering using a recycled TV antenna for baseline feasibility test

  • miniArgo

    • reseraching controls methods for trank-tread drive ROV

Oct 11th

Arindam

    • Submitted the poster.

    • Started writing the report. Almost done with first chapter.

Ze

    • Wrote a script to directly log the odom data

    • Test the code by scanning the High Bay area

      • The pose has significantly less drift on flat ground

    • Working on the upward facing camera

      • Once finished, will head to ACRE to test

Naveed

  • Submitted IAC poster

  • developing BOM for antenna

  • composite capture card research (as Ze proposed)

Oct 4th

Arindam

    • Was able to move the robot hand. Fixed the error.

      • But the hand movement is not very consistent. Sometimes it picks up the block, somtimes it cannot.

  • Updated the plan of study.

    • Need an example prelim report to check the format.

  • Checked the link for the parts. Have some questions about these.

Ze

    • Tested all motors

      • Confirmed the front motors were heat damaged

      • Ordered new motors xm430

    • Moved tracking camera outwards a little bit to improve tracking

    • Updated wheel odom calibration file for tracking camera

Naveed

September 2019

Sep 27th

Ze

    • Integrated wheel odometry into tracking camera

      • Seems to be able to improve the z drift at Herrick lab

    • Working on motor overheating issue

Sep 20th

Arindam

    • Submitted the paper. Intel gave the permission.

    • Trying to move the arm of the robot.

      • Got errors probably because of the ros version.

      • Uninstalled ros kinetic and replaced with ros indigo but problem still persists. So reverted back to ros kinetic.

      • Now trying to write a separate script by using different examples and help files to move the arm.

Ze

    • Did another test at ACRE with Raja

      • Two front motors intermittently stopped working during the test

        • Could be caused by overheating as motors returned to work after a while

    • There is still z-axis drift in the pose data

      • Reconstructed point cloud looks good after noise reduction

        • Side view is not as good as the front view. Raja is investigating this.

    • Redesigned and printed the chassis

    • Made a power adaptor to run Agbug and LiDAR on a single battery

    • Working on integriting wheel odometry into tracking camera to improve the drifting

Naveed

  • collected video of powerlines in dirrect sun, hidden in shrubbery, and complex junctions

    • results are overwhelmingly positive, good detection even when under and through branches (implies heating is not solar)

  • working on printing intel camera mount

    • communicating with BIDC to see if CF printer is available to increase rigidity

    • otherwise, ME printers will be an option (PLA)

  • IR camera: current lens will not work on usb/ethernet FLIR body

    • having trouble consistently switching camera from write (capture) mode to read (USB host) mode

Sep 13th

Arindam

    • Received some edits from Jeremy, included those in the paper.

    • Able to navigate the fetch robot in the simulated environment using keyboard commands

Ze

    • Built a logic inverter cable to send ROS timestamp to LiDAR

    • Printed parts to fix Agbug

    • Performed an indoor experiment

      • Haven't heard back from Raja about the 3D reconstructrion results

    • Still working on the FPV preview issue

Naveed

    • finalizing design to mount intel realsense camera to Argo

    • accumulating powerline photos in different areas/lighting conditions

      • preliminary results are good: very little processing required to create distinct line in various lighting conditions

  • streaming options:

    • hdmi capture card: $250, latency, can use current camera

      • does high latency matter? slow response time system might no be disturbed too much

      • may be valuable to do some sysID before making this judgment

    • flir blackfly s USB3 - $365 flir camera with usb interface + ~$90 for zoom lens

  • todo: feedback control: (realsense camera + IMU, encoders)

Sep 6th

Arindam

    • Included all the edits in the 3rd draft of the paper.

    • Have some doubts about the naming conventions of the images.

    • Brushing up the old ROS concepts.

Ze

    • Tested Agbug at acre with Velodyne LiDAR

    • Chassis, LiDAR and tracking camera all worked as expected

    • LiDAR appears to be having a minimum detecting distance

    • Tracking camera had some significant drift

    • FPV camera was not sending onboard video stream but was able to record

    • Still having trouble to sync LiDAR with ROS timestamp, could be a hardware issue

Naveed

    • exploring IR options for live streaming video to computer

    • planning on testing IR camera on powerlines in sunny weather conditions this weekend

    • designing and installing tracking camera onto curent ArgoMini

    • waiting on larger ArgoMini to run outdoor tests

August 2019

Aug 30th

Arindam

  • Finished the second draft of the paper.

    • All references included.

    • Paper is within 6 pages.

  • Brushing up the old ROS concepts.

June 2019

June 18th

Daniel

    • Final Defense Preparations

      • Finished a full draft of dissertation, planning to schedule formatting consultation this week

      • Still haven't heard back from Prof. Chiu...

      • Planning for a practice presentation next Tuesday @ 1:30 (during our normal meeting time)

  • All packages received from last purchase order:

    • Power connectors (XT-60, 5.5x2.5 barrel, JST)

    • WiFi adapters (regular, high-gain)

    • 5V regulators

    • FSRs

June 11th

Daniel

    • Sensor Mounting Tests @ S-BRITE

      • 1 fully successful mount on June 6

      • 7 fully successful mounts on June 11

June 4th

Daniel

    • Sensor Mounting Tests

      • IBC got stuck to wall and crashed on front boom

        • Broken force sensor, boom-prop, and push-to-release-mechanism (PTRM)

    • Rebuilt everything and had several successful flights

      • Previously had some issues with PTRM not toggling (4 failed mounting attempts)

        • During the rebuilding process, discovered an issue with the mechanism and fixed it so it toggles smoothly now

      • Performed 11 successful sensor mounting tests, with 1 failed test where PTRM did not toggle

        • Min/Max/Avg placement error: 1.0 / 22.0 / 9.1 cm

  • Writing

    • Still working on analyzing/plotting all flight data

    • Writing about target tracking method and localizing without Vicon

May 2019

May 21st

Ze

    • T265 odom vs. Vicon

      • Vicon total distance traveled: 47.3m

      • T265 total distance traveled: 49.5m

Daniel

    • Flight testing with Iris

      • Working on validating state machine code on Iris.

      • Discovered source of last week's crash and fixed the code accordingly

      • Successfully flew IRIS in offboard mode, sent actuator_control msgs (boom-prop commands) and hold position at "HOME" in OFFBOARD mode

      • Next steps:

        • Validate data from flight tests, including target estimation error vs. Vicon and fix altitude setpoint

        • Test alignment with wall, and 'approach' state code on IRIS

        • Finally, will test sensor-mount detection with force sensor and then do indoor sensor mounting tests

  • Intel Aero Tests

    • Successfully flew a completely autonomous mission

      • Armed and took off with no RC transmitter connected (all commanded by onboard computer), flew in square path, then landed.

      • Video here

May 3rd

Daniel

    • IBC Manipulation

      • Tried several fixes last week and early this week to solve VNC problems to no avail

      • Decided to stream compressed ROS images as a workaround and seems promising

      • Swapped I-BC Pixhawk with latest 1.8.2 PX4 firmware

Naveed

  • Argo Hardware Setup

    • Opencv setback, couldn't install and run standalone. Install with ROS works

      • VNC/SSH is setup and working

    • Physically mounted to Argo, interfaced with webcam and Sabertooth motor controller

    • Kill switch installed in series near battery

      • ready to run live tests

  • Documentation

    • Hardware/Software Overview in progress

    • Code commenting

Ze

    • Set up mynt eye and t265 on turtlebot

    • Did some initial test on t265

      • IMU appears to be only used to initialize the system

      • Works well against kidnapping

    • To do

      • Test t265 odom using vicon as ground truth

April 2019

Apr 25th

Daniel

    • DC House

      • Recorded RGB and IR videos with Iris and uploaded to SPIRA

  • Localization

    • Integrated new target tracking code into state machine

    • UP board is unable to run all of the processes simultaneously - the image processing drops to < 5 Hz.

    • Trying again to get the D435 to run on Odroid XU4, if that doesn't work, may try to use R200 with Odroid and see if the depth quality is sufficient for flight testing.

Naveed

  • Argo

    • installed and wired UP board

    • working on setup for UP board to run opencv

      • problems with 18.04 compared to our documentation, taking a bit longer than anticipated

      • planning to run live tests as soon as kill switch is installed

        • added centering logic to controller in addition to angle

Apr 18th

Ze

    • Realsense's depth images are too noisy to be used for 3d reconstruction

    • 3D printed a holder to mount mynt eye on the turtlebot

    • Wrote a script to record depth images and greyscle images using mynt eye

      • Planning on redo the scan of PBE lab using mynt eye

Daniel

    • Sensor Mounting w/o Vicon

      • Finished debugging "click_tracker" program.

      • Working on modifying the previous state machine code to do sensor mounting using the new click_tracker setup.

      • Will do initial flight tests on Iris then switch to IBC

    • Aero Drones

      • Helping Nadia figure out fully autonomous multi-drone flight setup

        • Everything is working in simulation (which uses a GPS simulator), but some changes need to be made to work with the Vicon setup.

    • Did an initial flight test to test takeoff code, but discovered that a different method needs to be used, working on implementing that.

  • CHPB IR Video Capture Recap:

    • Planning to use the Odroid/R200 setup from the Ag field tests for regular video capture (will need to have Asus Router with us to log in and start/stop recording)

    • If possible, will use D435 bracket to mount IR camera, or else 3d print a new bracket

      • Need to check weight of IR camera to see if Iris can carry Odroid + R200 + IR camera. If not, we may need to do separate flights to get each video type

Naveed

  • Argo Status:

      • Functional and reliable code can track mock powerlines in test setup

        • will need to be tuned for different powerline material and lighting potentially

    • can reliably discern location relative to powerline center and angle to powerline

        • line follow both attempts to control heading and location

    • control is done over serial to sabertooth

      • basic proportional control needs to be tuned for Argo dynamics

      • safety

        • need to install killswitch for all processes

        • current killswitch only can switch between code or remote control

    • IR Camera

      • very promising results

        • not simple to stream live video, may need to use low frame rate photos and read of USB

          • HDMI Capture Card?

Apr 11th

Daniel

  • Localization

      • Initial analysis of position estimation with EKF2 is promising, generally under 10cm error

      • Working on adapting state machine code to work with the new target tracking method

        • Goal is to do some hand-held tests of the state machine code by this weekend

      • Looking into methods for automatically detecting whether the I-BC is aligned with the clicked target point

        • Currently planning to use a virtual reference point based on the measured offset between the camera and end effector

  • ROVer

    • All components received

    • Ubuntu 18 is installed on NUC and UP Board, now they just need all the usual software packages to be installed (ROS, OpenCV, etc.)

Naveed

    • Argo Tests

      • Ran non-live test in PBE with faux powerline

      • Image Processing works very well on low resolution image, robust up to low angles of missalignment

        • outputs angle of line to robot, centroid of line to controller

      • Thermal imaging

        • Flir tests on large power lines (by Grand Prix track)

        • very strong lines against relatively mixed condition sky

        • still struggling to find a robust way to stream video to controller

    • Next step: running driving tests on Argo

      • safety concerns preventing "alive" tests

Ze

    • Creating pointclouds of PBE lab from the depth images taken for the VIP class

      • Having issues converting Vicon Euler angles to quaternions

Apr 4th

Daniel

  • Localization

      • Re-recorded data with correct ROS topics

    • Finishing up script to calculate OF and target position estimation errors

      • Writing to CSV file for plotting, etc.

    • Planning to set up state machine to align in front of clicked target

      • Initial tests will be hand-held to test settling logic, etc.

    • Looking to revisit possibility of running D435 on Odroid so don’t have to change I-BC computer

  • PBE Lab

      • Song has moved in some furniture and Dr. Davies would like us to make a procedure for setting up experiments

        • May want to cut zip-ties on netting in SouthWest corner of PBE

        • Would like to use our carpet to help with acoustic dampening, aesthetics, etc.

        • Moved all boxes to High Bay and posters between inner/outer PBE walls

        • Planning to move force plates to NorthEast corner

Naveed

  • Image Processing

    • 3 Distinct Methods - HoughLines, "Arindam Method", simple findContour

      • Hough Lines - Strong ability to find dominant lines

        • poor noise rejection

        • need to implement location masking

      • Arindam Method

        • finds contours effectively, but struggles with thin lines

        • tuning of contour detection may prioritize thin objects vs. boxes

        • center of mass calculation is not robust

      • findContour

        • high false positive rate

        • thresholding may aid remove false positives

  • Argo Bot

    • Run test line follows in lab today

March 2019

Mar 28th

Daniel

    • Aero drones

      • Prepared video recording script for Video Drone Class on Friday

      • Made a ros version of the recording script that can also record Vicon data

  • Localization

    • Recorded data from a few flights with Ze. Clicked a few different points in the lab to track

    • Working on analyzing the data to calculate the error in the optical flow position estimation and the 3D target point estimation

  • ROVer project

    • We've started receiving the CPU components we ordered. They are in an Amazon box on my desk in HLAB 1024.

      • So far we have: Barrel connectors, Arduino Uno, SSD & RAM for NUC, USB OTG cable

Mar 21st

Daniel

    • Aero drones

    • Got PX4/Gazebo simulator working

    • Nadia is now working on simulations for auto takeoff and landing of multiple drones.

    • Localization

    • Can “track” a user click in an image

    • Simultaneously calculates desired yaw heading for perpendicularity

    • Tracking script compatible with R200 and D435

    • Works with Vicon or optical flow as position estimation source

    • Optical flow does drift a lot sometimes depending on conditions, so multiple clicks may be required

    • Now ready to update state machine code to generate waypoints

    • May need to change flight control firmware on I-BC...

Ze

    • Worked on the Botshot project

      • Converted Lidar's data from polar coordinates to cartesian coordinates

      • Used hough transform to find straight lines

      • Successfully measured the hoop distance

    • Got a Jetson tx2 for the project

      • Did a benchmark

        • The cpu performance is about the same as Odroid

Naveed

    • Controlled Argo over PySerial

    • Started looking through Sabertooth software package

      • allows for various reconfigurations of control logic

      • safety logic allows for controller take over - no universal e-stop

  • FLIR Camera

    • Windows/Android/iOS only?

      • may need to mess with linux drivers to get it functioning on Odroid

  • Exploring E-field measurment for line follow

Mar 14th

Ze

    • Still working on finding continuous surface in depth images

      • Now using the method of surface normal

      • Tested on depth images captured on flying drone for VIP class

        • Results are really bad as R200 images have low depth resolution and quite a lot noise

        • Trying to update the kernel pattern for gradients so that it can work with realsense cameras

Mar 7th

Daniel

    • Aero Drones

      • Resolved issue with OFFBOARD switch on transmitter

      • Successfully flew autonomously around a square path in PBE

      • Connected both Aero drones to QGC simultaneously

      • Working on streaming Vicon data to both drones simultaneously

  • Localization

    • Updating wall angle tracking script to work with R200 and respond to user click

Ze

    • Working on using gradient of depth image to find continuous surface

February 2019

Feb 28th

Daniel

  • Aero Drones

      • Got EKF2 working with Vicon data

      • Attempted 1st autonomous flight, had issue with transmitter switching to OFFBOARD

      • Will attempt autonomous flight again, probably Monday

  • Localization

      • Got green circle tracking file from I-BC, working to run it on D435 with Iris

      • Next step: flight test to determine position and orientation hold capabilities with optical flow only

  • ASME Papers

      • Submitted IDETC, finished JMR review

Naveed

    • Continued OpenCV tuning

      • Line detection works reasonably but false positive rejection needs work

      • Working with webcam, better info once faux powerline and camera are in

    • ROS

      • Line tracking node created and can communicate with motor controller listener

      • Some bugs with repeat/unwanted messages

Ze

    • Wrote the code to create pointclouds from given pose and RGBD images

      • Tested on nyu dataset

      • To be tested in PBE lab with vicon pose

Feb 21st

Naveed

    • Line Follow

      • Experimenting with different edge detection algorithms and OpenCV schemes

      • Trying to determine best method for discerning desired heading from dominant edges

    • Up Board Setup

      • SSH and VNC setup on up board and personal computer

  • Power Line Info

      • Rough estimate ~1" diameter at 6' height should be comparable in size ot actual powerline

      • found black, flexible 1" OD PVC tubing to span in hallways or office?

Ze

  • Installed px4flow and lidar on iris

  • Did a test fly without the odroid and realsense

      • Altitude hold and position hold seem to be very stable without the payload

Daniel

  • ASME Papers

      • About 1/2 way through review, planning to finish by tonight

      • Compiled RA-L reviews and highlighted main comments, will look at modifications after I finish JMR review

    • Aero Drones

      • Updated the flight controller to latest PX4 (1.8.2)

      • Successfully streamed Vicon data to drone, but basic control became unstable

      • Currently using LPE estimator, with Alt Ctrl somewhat unstable

      • Discovered that we need to publish to a different topic for mocap to work on EKF2

    • Tours

      • Recruitment and MEP tours went well

      • Things are set up for Girl Scouts, what time today?

Feb 14th

Naveed

    • Getting up to speed with Upboard and TX

    • Power line simulation in Gazebo struggles to run on my laptop, maybe try moving to desktop

      • Running line follow on ground works, trying to reposition kinect model to look upwards and run same code

      • increase straight line preference

      • consider using GPS, accessing preloaded map and localize within

    • Thermals in Gazebo are not feasible

      • flir camera tests will have to be done by hand

    • Testing

      • purchase tubing for running across high bay to simulate powerlines

      • powerlines against sun

      • simulating wind in Gazebo

Daniel

  • Intel Aero

      • Finished software install (Ubuntu, ROS, OpenCV, etc.)

      • Working on Vicon setup for autonomous flights

      • Working on accessing front and down facing cameras

  • IDETC submission

      • Converted to ASME style

      • Planning to re-read reviews and edit content as necessary to address concerns

  • Localization:

      • Next step: reuse green circle detector to hold position in front of wall, and maintain perpendicularity

  • Office PC:

      • Finished Ubuntu install

Feb 7th

Daniel

  • Found a VNC server that can display OpenCV videos and capture keys

  • Flew Iris+ with D435 video displaying through VNC

  • Refocused PX4Flow for next flight test w/position hold over carpet

  • Calibrated D435 Depth measurements

    • This improved wall angle measurements

  • Need to submit request for waiver of 2-semester rule to Graduate School

Ze

  • Continue to read through the SLAM book

  • Started exploring the px4flow sensor

Jan 31st

Daniel

    • Indoor localization:

    • Fixed issue with D435 not running on battery power (changed 5V regulator configuration)

    • Iris+ weight current payloads and no battery is about 100 g more than a plain Iris+ with battery, so we may be exceeding the 400g spec, but it hovers at about 60% throttle, so it should be ok for testing

    • Planning to calibrate depth measurements under 2 meters to improve accuracy

    • For wall detection, I may just measure Continue to read through the SLAM book wall angle using a fixed rectangular region in the camera frames (e.g. in the center of FOV).

Arindam

    • Ran the algorithm on the training images. Some images are well segmented, but many of them are having the background as well. Trying to fix that.

Jan 24th

Daniel

  • Localization without Vicon

    • Mounted UpBoard and D435 on IRIS+ for flight testing

      • 3D-printed front-mount bracket

        • VHB tape was too flexible

        • Moved camera further forward to help with overall COG

    • Working on wall-angle detection code to maintain perpendicular heading relative to wall

      • Able to measure angles with decent accuracy at close range

      • Detecting the wall may be somewhat intensive, but may be able to merge with target tracking?

    • Likely need to calibrate D435 depth measurements like we did with the R200

  • Intel Aero Drones

    • Performed initial flight tests, both drones work

    • PX4 Firmware should be updated eventually

    • Nadia is planning to put Ubuntu on Aero Compute board and begin developement

  • Collaboration w/Prof. Culurciello's Lab

    • Juan emailed me about a new intern working on the project with AirSim and Pixhawk, etc.

    • R200 depth data wasn't accurate enough for their algorithms

      • Would like to get some new sample videos with D435 to see if that helps

  • NRI 2.0 Proposal

    • Got some more detailed information from Yuanzhi and Tianyi about their module

      • Working to flesh out the collaborative navigation section

Arindam

    • Got some results for the segmentation on the sample images.

    • But there are a lot of images where it is not producing good segmentation.

    • Trying to make it work entire training set.

Ze

    • Reworked Agbug's code

      • Opencv's imshow is too slow. Now directly write to linux's framebuffer to show images. No need for x server.

      • Using multiple cameras simultaneously

        • Takes YUYV raw images from cameras

        • Automatically detects new cameras

        • Switches camera views from the transmitter

        • Dropped resolution to 640 x 480 to increase FPS

December 2018

Dec 18th

Arindam

    • Trying to install tensorflow on odroid. Some error is coming while trying to import into python. Fixing that.

Ze

    • Not able to directly write to frame buffer.

    • Tried to tweak picamera library

      • Can show the webcam images as overlays on top of the pi camera images

        • Max 20FPS

        • Occasionally memory error

    • Switched to OpenCV to show the image

      • Able to get both cameras to work at the same time and switching between each other

      • Now showing images relies on X server

        • Might cause some issue if the program starts before system login

Daniel

  • Met with Prof. Ramani's group, discussed goals/areas for new project

  • Installed OKVIS on Upboard, but don't have proper calibration for time-synced IMU to test

  • Working on attaching Upboard + RealSense to IRIS

    • Added new power distribution board and attached Serial4 FTDI adapter

    • Working on full setup with Lidar, PX4Flow, Upboard and RealSense to test real-time visual servoing without Vicon

  • Replaced thermocouple on Makerbot, test print worked well

Dec 4th

Daniel

    • EPRI-UAS Workshop went well, got some good insights from the utilities industry and made some good contacts

    • VINS-Mono SLAM

      • Got VINS-Mono installed and tested with UpBoard, D435 & Pixhawk IMU

      • Localization seemed very unstable on live camera data (may be an issue with sensor calibration/configuration)

      • CPU usage was almost 100% on all four cores, so likely wouldn't be able to run other ROS packages simultaneously

      • EuroC dataset seemed to work fine, but with a massive time lag ~ 60 seconds

Ze

    • Rewrote video recording code. Unified all cameras and moved everything to opencv.

    • Using separated threads to pull images

      • Fixed fast-forwarded video problem

      • Sync frames to have a steady FPS

    • Trying to directly write to framebuffer

Arindam

    • Modified the segmentation part to find out more pure segments.

    • Removed the autoencoder plots as segments are more pure now.

November 2018

Nov 27th

Arindam

    • Made some changes in the code to make the overall detected segments as pure as possible.

    • Matched texture with the heat map to find out the segments which can be included in the output annotation label.

Che Kun

    • Performance with carpet texture improved significantly for pure rotation

    • Able to complete a square path by moving slowly and smoothly - Primary bottleneck is the rotation aspect

    • Multiple overlaying arrows is when localization is lost and regained.

Ze

    • Swapped Agbug files to new SD card

    • Compiled and installed OpenCV

    • Now save video files directly on SD card

Nov 20th

Ze

    • Able to record videos with USB cameras

    • Need to use opencv for better integration:

      • Will be able to switch video sources and add text overlays

      • Had issues to compile

Arindam

    • Filtered the segments with the Hue channel and that gave better results in purifying the contours from unwanted parts.

    • Will apply the texture filtering now.

Che Kun

    • ORB SLAM 2 performance on rotations is fairly poor.

    • Likely due to featureless environment. To investigate further

    • Half circle test

    • Worked with Daniel to integrate ORB SLAM with Robot Localization

    • TFs integrated

    • Also facing issues with rotation.

Nov 13th

Daniel

  • Pose estimation with robot_localization package

    • Created ROS driver for MPU 9250 which publishes sensor_msgs/Imu topic

    • Set up MAVROS with Pixhawk to stream Imu topic from Pixhawk as well

    • Tested EKF fusion of Turtlebot 2's odometry with the Pixhawk IMU topic (using robot_localization package)

      • Performs pretty well within a few meters, but after traveling 10+ m, some error starts to accumulate

      • Working on incorporating ORB_SLAM2 data into the estimator, and then will measure the error with ground truth

        • Che Kun has already made a ROS package to publish ORB_SLAM2 data in the necessary topics, just need to work with him to get all the data into the right format to work together.

Arindam

    • Using rank of matrix to find the good matches in the texture of the image. But this is not giving the complete result.

    • Trying to find better alternative metrics for this.

Nov 6th

Che Kun

    • ORBSLAM2

      • Square loop test (1m x 1m)

        • Robot seems to lose tracking during pure rotation

      • Writing wrapper to output image with ORB features over ROS topic to aid debugging

    • Camera mount for RealSense on TB3 design done

      • To print and test

Arindam

    • Trying to find the best texture in order to filter out the unwanted textures by using the heat map.

October 2018

Oct 30th

Ze

    • Fixed USB flash drive mounting issue

    • Fixed video naming issue (now base on file sequence)

    • Added a ROS param to start/stop recording

    • Assigned a switch on the transmitter to trigger the ROS param

Che Kun

    • ORBSLAM2

      • Managed to get RGBD code working by using a launch file

      • Did a 2m straight line test for visual odometry for TB2

      • Estimated pose seems to be relatively accurate

      • Going forward 2m: Translation: [1.983, -0.356, -0.051] [x, y, z]

      • Returning back to start point: - Translation: [-0.041, -0.147, -0.003]

      • Note: I took the images in portrait but they were auto-rotated when I uploaded them

Daniel

    • Found some 9-axis IMUs in the AgBug parts box (Sparkfun MPU9250 breakout)

      • Got data streaming through Arduino Uno

      • Will make a ROS node to publish the data as "sensor_msgs/IMU" ROS topic

    • Looking at using "robot_localization" ROS package as a starting point for implementing a 6D Pose estimator using EKF

Arindam

  • Trying to seperate the excess background parts from the segments using the heat maps and the texture images from the first layer of the network.

Oct 23rd

Che Kun

  • ORBSLAM2

    • Added scaling factor for monocular code

    • Able to visualize without Pangolin viewer in Rviz on a separate computer

    • Tested RGBD code with depth stream: Seg fault. To debug

    • Modified cover to place RealSense

Arindam

    • The vectors corresponding to each segment is a 3 dimensional vector (as we have 3 classes). Converted them into 2 dimensions by an autoencoder to visualize them better.

Daniel

  • RealSense D435

    • Solved issue with converting depth images to laserscan

    • Got rtabmap_ros working with D435. Quality seems ok, but need to do more tests to see how accurate/robust it is compared to Kinect

  • SLAM

    • Continuing to search literature for best camera-based localization setup.

    • Planning to implement Extended Kalman Filter using IMU from old AgBug, or Pixhawk to estimate 3D pose

        • Goal is to potentially use that in combination with a SLAM approach to improve performance

Ze

    • Warpped the pi cam streamer with ros

    • Measured power consmption:

      • Idling: 8 ~ 10W (FPV 3W, Pi & OpenCR 6W)

      • Running: 17 ~ 20W

    • Field tested range:

      • FPV: 160m(0.1 mile) line of sight (FPV signal dropped below 40%)

      • Radio: >= 160m

    • Video uploaded to spira server under agbug folder

Oct 16th

Arindam

    • Plotted the vectors of each of the segments of each image individually along with the mean vectors to see how well the segments are representing the detected class.

Che Kun

  • Able to control/teleop TB3 with Upboard

    • Fixed issue due to OpenCR firmware, ROS TB3 code mismatch

  • Modifying/Designing cover for AgBug to place RealSense camera

Daniel

  • New UP Board Setup

      • Got Ubuntu 16, ROS, OpenCV, etc. installed on new UP Board

      • Installed drivers for Kinect and RealSense D435

        • Basic Turtlebot Demos working with Kinect (teleop, follower)

        • Able to access color, depth and pointcloud streams from D435 using both OpenCV and ROS wrapper

    • SLAM

      • Found some papers comparing different SLAM versions and sensor types

      • Planning to evaluate various SLAM algorithms using D435 to see if it is good enough to use as a direct replacement of Vicon

Oct 9th

Che Kun

  • Finished ROS wrapper/code to output camera pose from ORB SLAM as an odometry message

      • Able to visualize in Rviz

  • To look into robot_localization ROS package for sensor fusion between visual odometry and wheel odometry

  • Debugging Upboard to OpenCR interface issues for TB3

    • Unable to teleop control it

Ze

    • Fixed the auto startup

    • Swapped the FPV module and added a heat sink

    • Tested, having some hiccups but overall working well

Daniel

    • Finished RETH and IAC posters

    • SLAM

      • Looking at different options for 3D SLAM, starting with R200 camera

      • Found some parameters to tune for rtabmap, planning to try on Turtlebot

Arindam

    • Retrained the network using some background images.

Oct 2nd

Che Kun

  • Wrote ROS wrapper for ORB SLAM2 to output camera pose as a TF message

  • To write code to convert TF message into odometry message for integration with AMCL

Daniel

  • Continuing SLAM Literature Review and considering most viable options for I-BC localization without Vicon

    • Current options I've considered

        1. Use PX4 optical flow on Pixhawk with real-time visual servoing based on forward-facing camera

          • Update rate may be too slow, and may not have enough features during manipulation

        2. Implement some SLAM algorithm with forward- or down-facing camera, possibly fused with IMU data

          • Latency may be an issue if we obtain IMU data from Pixhawk and then try to time-sync with camera data

          • May also be limited by computation power of SBCs

        3. Combine downward and forward-facing cameras to improve Option 2 in various environments

        • Again, may be limited by computation power of SBCs

    • Planning to try out some existing SLAM options from OpenSLAM and look into the robot_localization ROS package for state estimation

  • Visited the Bechtel Innovation Design Center

    • Considering different material options for gripper fingers to make them more resilient

Ze

    • Merged ROS files for AgBug and and created a launch file

    • Setup the system to automatically launch ROS during startup

      • ROS will start by itself but does not have access to system files(ttyAMA0 and ttyACM0)

September 2018

Sep 25th

Daniel

  • IAC

    • Mostly finished with Quad Chart, deciding on figure(s) to use

    • Planning to update I-BC poster with door opening figures from recent submission

  • Optical Flow Flight Testing

    • Flew several times over the carpet with the Iris+

    • Position holds pretty well, with occasional cyclic drifting

    • Added ESP8266 to IRIS+ to stream Vicon and calculate absolute positioning error

    • Documentation Round-up

      • Arindam and I consolidated the documentation for the Odroid software installation into a single Markdown file

        • Also installed software on one of the spare Odroids so we will have a reliable base for testing SLAM, etc.

      • Plan is to create similar '.md' files for all other lab documentation and store on SPIRA in a single location

    • SLAM / Localization without Vicon

      • Reviewing literature on SLAM & brainstorming ideas for I-BC localization without Vicon

Che Kun

    • ORB SLAM 2 works on Monocular live camera feed

      • Investigating camera depth image stream

        • Depth stream does not seem to be published as a ROS topic

        • To check with launch files on ODROID

    • TB on straight path in HLAB room

    • To Do

      • Write ROS wrapper/code to output pose/odometry from ORB SLAM

Ze

  • Made a USB receiver dongle to use on the turtlebot

  • Fixed the motor issue

    • Re-plugged all the wires

    • Reset the OpenCR board several times

      • All motors run now but the OpenCR board randomly throws a failed to connect error

  • AgBug is fully functional now

  • To do

      • Clean up the catkin work space

      • Create a launch file for AgBug to automatically start everything

Arindam

    • Separated out the most important feature from the image using the heat map.

    • Working on overlaying it on the segmented image to find out more segments.

Sep 18th

Ze

  • Can publish cmd_vel message to Agbug using the remote control now

  • Can publish front camera image now

  • A few issues

    • Motors won't run

      • Might try re-flashing the OpenCR board

      • Sometimes RPi won't automatically connect to WiFi after startup

Che Kun

  • Installed and tested ORB SLAM 2 on Intel Joule

    • Working with live camera data

    • To test on robot to see trajectory generated

Daniel

  • Optical Flow

      • Got about 12' x 18' of carpet (extra length cut on each 4' roll)

      • Flight tests:

        • Tested Iris+ Position control using PX4 v 1.8.0 and PX4 optical flow sensor

        • Holds position pretty well, with some occasional oscillations on the order of ~0.5 m

      • Streamed Vicon to the Pixhawk (for logging only) to compare with optical flow pose estimate

        • Having some issues with the quaternion conversion to Euler angles (yaw)

    • Tours

      • Two Turtlebots ready to go, one with UpBoard, one with Odroid

Arindam

    • Implemented a graph cut algorithm for segmenting the input image.

    • Checking the response of the network on each of these segments and grouping the important ones together to create an outline around the object.

      • A bounding box can be extracted from this outline.

Sep 11th

Ze

  • Wrote a cpp code to transfer SBUS signals to turtlebot velocity commands

      • Tested on turtlebot2 using the SBUS receiver and FTDI232

      • To be tested on Agbug

Che Kun

  • Trying to setup Intel RealSense D435 on Intel Joule

      • Debugging errors during kernel patch

  • Setting up ORB SLAM on Intel Joule

      • OpenCV 3.x bugs - Debugging missing shared libraries

      • ORB SLAM tested on OpenCV 2.4.x and Ubuntu 14.04 (On their wiki). OpenCV 3.x not mentioned

      • Approach 2: Try ORB SLAM 2 which is mentioned to be compatible with OpenCV 3.x and Ubuntu 16.04

Sep 4th

Daniel

  • Door Opening

      • Compiled video of door opening with mini quad fly-through

      • Updated OverLeaf project to v2

        • Working on writing everything up

  • UWB Project

    • Comparison experiments to highlight the efficiency of the Ke/Tianyi's UWB-surveying ROS node

      • Built an arena in the PBE lab using posters and cardboard boxes

      • Autonomous exploration still struggled, so manually created a 2D map of the PBE using gmapping

      • Wrote program to search the full space

      • Ready to test Ke/Tianyi's UWB-surveying ROS node in the space

    • Added Vicon markers to TurtleBot for experiments

    • Still need to write a timing script and set up a Vicon stream to simulate proximity-based UWB detection

Arindam

    • Planning on using the network to detect qr codes first. Just to see if it is able to create boxes for less complex objects.

    • Creating the dataset for that.

Che Kun

  • Install/Setup ORB SLAM on RPI3

    • Memory issues: Insufficient RAM to compile C++ code (Internal Compiler Error)

      • M1: Use another SDcard with more memory space (Create swap file)

        • Con: RPI3 only has USB 2. Not ideal for RealSense (R200/D435) due to limited bandwidth

      • M2: Try ODROID/Up Board

          • Setup TB3 files on ODROID. To test interfacing with OpenCR board

August 2018

Aug 28th

Arindam

    • Network is having some trouble training. The training error is not reducing. Modifying the network to tackle that.

Daniel

  • Door Opening

      • Successfully flew mini drone through door with I-BC flying in corner of the lab

      • Got information about the fan in the PBE lab

        • At 2 meters from the fan, wind speed is only about 4 mph, so probably need a larger fan.

        • Also, need to set up obstacles in PBE lab for UWB experiments, so probably will hold off on wind experiments for now

    • UWB Project

    • Tested several autonomous exploration ROS packages

        • explore_lite and frontier_explorer are two of the more stable packages, but they still struggle to give consistent results and crash pretty frequently. If we have larger obstacles in the PBE lab, then explore_lite may be able to work well.

    • Tested QR code reading packages in ROS

        • Most packages just extract the text without giving the 3D position of the code itself

        • Also, detecting QR codes requires either additional cameras (e.g. facing left/right) or a more complex/exhaustive search path through the map, which will likely take too long to implement given the pending deadline

      • Helped Tianyi debug some issues with detecting the desks/obstacles in their lab with the Kinect (modified the depth-to-laserscan package), and sending waypoints in rtabmap. Got their Turtlebot to successfully travel to desired waypoints even without a complete map.

      • Met with Ze, Ke, Tianyi and Muzhi and decided to revise the experiment

        • Instead of scanning the space for QR codes, we’ll do two related experiments:

          1. Efficiency test

            • Follow a predetermined path through the map and discover UWB devices based on proximity (e.g. distance reported < threshold), and measure how long it takes to locate all devices (or, see if it fails in some instances)

            • Use Ke’s UWB registration algorithm to discover/localize the UWB devices and compare that time and success rate

          2. Accuracy test

            • Place UWB devices in various locations and measure the positioning error of Ke’s algorithm

Ze

  • Solved Linux custom baud rate serial communication issue

      • Need to set all flags(c_cflag, c_lflag, c_cilag) for driver to work properly

    • https://www.cmrr.umn.edu/~strupp/serial.html

Aug 21st

Daniel

    • Door Opening

      • Cut out back of electrical enclosure

      • Opened the door about 65˚ using a yaw setpoint of 20˚

      • Attempted many times to fly mini drone through doorway with I-BC in the air, but the turbulence/wind was too much for the mini drone to overcome.

        • We do have some videos recorded of the mini drone flying through the door without the I-BC in the air

    • UWB Project

      • Got the localization working with a Kinect and rtabmap_ros (SLAM package), brought the kinect and a Turtlebot to Tianyi and Muzhi, so they can test the UWB integration

      • Built the 3rd Turtlebot and mounted our second Kinect sensor on it to test other algorithms

        • e.g. Google Cartographer

      • Waiting to hear from Tianyi about what aspect we can help with next...

Arindam

    • Found a bug in the code because fo which the training was not giving proper results.

    • Retraining the network with the artificial and natural images again.

Aug 14th

Arindam

  • Installed pytorch on Odroid successfully.

  • Having some issues with the combined training still.

Aug 7th

Arindam

    • Training for the network is still going on.

    • Facing some issues with installing Pytorch package on the Odroid. Working with Juan and Manav for that.

Ze

    • UWB Project

      • Dumped and edited a Tango param YAML file so that the frameIDs could be renamed before the Tango ROS streamer starts

      • Connected the Tango to Turtlebot navigation stack

        • Having some noise issue. Trying to play with the setting

        • The static TF publisher needs to be tuned

    • Debugging the SBUS receiver script

    • Finished designing the top shell for Agbug

Daniel

    • UWB Project

      • Working with Ze to get Tango SLAM to work with Turtlebot's path planner

      • Will meet with Tianyi/Muzhi to integrate the path planning to navigate to the physical UWB locations

      • As a backup for Tango SLAM, I've been working on getting the RealSense drivers for the D435 to work with Odroid

        • Drivers have now been installed on Odroid, just trying to test them with OpenCV to see if they are working correctly

    • Door Opening

      • Has been somewhat on hold while working with the UWB project, but the OverLeaf document has about 2-3 pages of content about the gripper and image processing from my prelim document

July 2018

July 31st

Daniel

  • I-BC Door Opening:

    • Adjusted I-BC yaw to 5, 8, then 10 deg. and opened the door ~60 degrees

      • May try 15 deg. yaw, but I'm thinking 60 deg. may be close to the max for this method

    • RA-L/ICRA paper

      • Started writing (transferred some sections from ch. 4 of my prelim document as a starting point)

      • Arindam will go over what I wrote about the image processing and flesh out that section

  • UWB Project

    • Met with Tianyi & Prof. Ramani on Saturday

      • Working on a 10-day plan to get all sub-system experiments done, followed by 10 days of integration and refinement, and then 10 days for write-up

      • Planning experiments to quantify accuracy of Turtlebot navigation using Tango SLAM

          • Also looking to potentially improve the localization accuracy using the UWB, but still not sure how

        • Prof. Ramani offered Ze and I temporary workspaces in the C Design Lab while we work to integrate the UWB nodes with the Turtlebot, so we may bring the Turtlebots to ME for a few days

Ze

    • Redesigned and 3D printed a chassis for Agbug

    • Wrote a script to read SBUS receiver signal

    • Mounted and wired all core components on Agbug

    • Tested FPV transmitter

July 24th

Ze

  • Debugged way point publisher

  • Tested agbug

    • Video stream, drivetrain and LiDAR worked

    • GPS and sensor probe not working

    • Need FPV and radio receiver

  • Created bottom shell for agbug

Daniel

  • I-BC Flight Tests:

    • Modified BoomCopter code to change yaw during door opening

    • Vicon had to be recalibrated (possibly due to HVAC repair?)

    • Ready for flight tests as soon as tours are done today

  • UWB Project:

    • Looking at related work to see what has already been done and how we can contribute to the field

    • Tianyi brought a Tango device (Asus Zenfone) and the RealSense D435 for us to test w/Turtlebot

Arindam

    • Created some dummy images and their corresponding bounding boxes.

    • Trained the network on that.

    • Now, need to create and train another network that will take in the localized images and output bounding box information.

Ganesh

    • Finished documenting the GEP PAGE workshop and Gazebo SITL simulation

    • Working on the AirSim project document.

July 17th

Arindam

    • Created a fresh dataset of images that has a custom random object in it. Will start training with this dataset.

Ganesh

  • Finished setting up for Prof. Eugenio's project

  • they are planning to get the same hardware

  • preparing a guide for the set up.

Ze

    • Finished the coding for way point selecting for path planning

      • To be tested

Daniel

  • Met with Prof. Ramani's group, got homework to do lit. review of SLAM/Path Planning

  • Taking time off with family this week, but plan to do flight tests on Friday with Arindam

July 10th

Ze

    • Tested rtabmap_ros with kinect2. Printed a holder to keep the sensor staying upright.

    • Trying to find a method to make move_base planner use unknown cell for path planning

Daniel

    • UWB Collaboration Project

      • Met wit Tianyi to discuss SLAM strategy & answer ROS questions

      • Found ‘frontier_exploration’ ROS package

      • Working on a custom ROS node to compute and send exploratory waypoints given a known UWB location

    • Door Opening

      • Fixed the gripper, ready for next test flights, planning to include yaw motion during door opening

    • RealSense Tuning

      • Got the RealSense to work outdoors, recorded some videos for reference

      • Arindam added sliders to tune parameters as needed

Arindam

    • Localized the objects in the images using the gap layer.

      • Now modifying the network to make some bounding box predictions.

    • Will be flying the iris for the ai project.

Ganesh

    • Finished writing the script and tested it

      • MAVROS - RC data - rospy

      • AirSim - Images - AirsimAPI

  • Workshop: Finished setting up 21 robots in groups of 3. Tested.

    • Will set up the remaining stations this week

    • Will go over the other course materials

July 3rd

Daniel

  • Door opening

    • Completed several flight tests, but the door still only opens about 10 cm, looking at videos to see what is causing the early release.

    • Will perform more flight tests after repairing one of the compliant fingers (broke during a test yesterday)

  • Imported the RA-L paper template into OverLeaf

  • RealSense tuning

    • Found some parameters to try for outdoor use, will test this week

  • Localization w/out Vicon

    • Got IRIS 2 set up with PX4Flow, LIDAR, and latest PX4 firmware

    • Made some texture patterns for the floor in PBE that give optical flow 100% quality

    • Trying to get PX4 to switch to position hold with just optical flow (no Vicon), but need to debug an issue with the compass causing a failsafe

  • Collaboration w/Prof. Ramani's group

    • Need to meet with them to get more specifics about what is needed before we can proceed on our end

Arindam

    • Improved the accuracy of the network to 93% from 87%. Stopped Training and working with the Global Average Pooling (GAP) layer now.

    • Will do some flight test this week for AI+ project.

Ze

    • Created a new launch file for rtabmap_ros to work with kinect2

      • Trying to change the parameters to get a better mapping result.

June 2018

June 26th

Ganesh

    • Have some Unreal Engine environments that we could use for the project - meeting Juan and his team this thursday

    • Reading up on how to create our own robot

  • Workshop: Soldered 6 robots - the 2 sample QR holders printed - will go today to pick it up and check on the chassis using the velcro -Will place an order for that to be printed as well

  • Will goto 1030 to test the robots and install the software in the computers this week.

Daniel

  • Battery recommendation for Intel Aero:

    • Turnigy 4S 4000 mAh 30C Lipo, Amazon

      • LiPo Balance Charger, if needed: SkyRC iMAX B6AC v2 (same as we use in our lab), Amazon

    • SLAM & Motion planning

      • Mapped out the Turtlebot's navigation ROS launch files and configuration files

        • Learned how to change path planning algorithm parameters and tested with autonomous navigation demo

      • Installed SVO monocular SLAM and got it running on Odroid

      • Got rtabmap_ros working on Turtlebot/Odroid, working on getting Turtlebot navigation demo to work

        • rtabmap_ros has a demo using Google Tango on Turtlebot, so this may be a solution for our work w/Prof. Ramani's group

Arindam

    • Created the model for classifying the images with Global Average Pooling layer. Training is still going on.

    • Need to check how well it can localize, once the training is over.

    • Will be flying the drone with obstacles to get the training data.

Ze

  • Tested VISLAM on Snapdragon Flight

      • Newest Machine Vision SDK is not compatible with the official demo

        • Modified the demo code to work with an old SDK(1.0.2)

      • The "SLAM" only gives pose and odometry and relies heavily on IMU data

    • Trying to modify the rtabmap launch file to work with Kinect2

      • Currently having some issue with the TF topics

June 19th

Ze

    • Looked through snapdragon flight user guide and developer guide

    • Reinstalled firmware and ROS

    • Tested all debugging tools and ROS

    • Applied for Machine Vision SDK license

    • Looking into camera and IMU APIs and trying to write a ROS publisher node

Daniel

    • Got pull sensor data from 2 more door opening flights

      • Still need to analyze the data, but at first glance it seems to have much more detail

    • Learning about the path planning / SLAM pipelines in ROS

      • Mapped HLAB 1st floor and tested autonomous navigation

      • Looking into switching the planning and SLAM algorithms for Turtlebot

    • Tours:

      • Made separate power connectors for the Odroid on the Turtlebots

Ganesh

    • Built a custom environment with AirSim with a working Quadrotor model and tested - can now buy any environment and integrate the simulator in it.

    • Fixed the issues with HITL and got it working - https://photos.app.goo.gl/F7pPxbTjvddSWdFq6

  • Received the packages from Sparkfun and Polulu - can begin soldering - Amazon yet to arrive - expected tomorrow

    • Meeting the 3D printing team at WALC to finalize things - They approved the design for the holder as it is.

Arindam

    • XYZ position data from vicon is synchronized with the video frames. Need to set up some dummy obstacles and perform a flight test.

    • Working on the bounding box code.

June 12th

Ganesh

  • The environment file downloaded from Windows wasn't opening on the version of Unreal Engine on my Linux partition

  • Met with Juan's group. They suggested coming to their lab and working on the server when Juan is present. Going to their lab today in the afternoon to set things up.

  • Simultaneously working on setting it up on my Linux partition as well, to check the feasibility of setting everything up on a new laptop - probably get an idea of required GPU specs

  • Workshop: When can we expect the 3DP filament to arrive? I'm planning to do a test print of the QR holder using my June material quota at WALC and find out if any design changes need to be done.

Daniel

  • Finished Prelim Exam

    • Planning to do door-opening flight tests with the new pull sensor, and look at ROS packages for collaboration w/ Prof. Ramani's group

    • Also planning to test out some monocular SLAM algorithms on RealSense/Odroid

Ze

    • Tested rgbd slam in the office room with kinect. It did not work very well without external odometry.

    • Started working with snapdragon flight. Installed all the environment software.

    • Looked through the SVO paper. Trying to run the code on snapdragon board

Arindam

    • Fixed the errors on the gpu and started training the yolo network.

    • Will be working on synchronizing the vicon x, y, z coordinates with the video frames on Odroid.

June 5th

Ganesh

  • Trying to do HITL on Linux

  • Had some trouble downloading the environment on Epic Games using Linux - Lukas suggested doing it on windows and copy the files

  • GPU was not being used for the engine - fixed that

Daniel

  • Preparing for Prelim Exam

    • Finished Prelim Report

    • Working on Presentation

    • Looking into using WebEx in Eisele Conf. room

Arindam:

    • The commands from the teleoperated controller are synced with the video frames from realsense.

    • Tried running the model on paperspace gpu. Got an error that gpu is running out of space. Working on that.

Ze

    • Looked into two slam packages: rtabmap and rgbdslam.

    • Tested kinect v2 with rtabmap_ros

May 2018

May 8th

Daniel

  • Force sensor replacement arrived

      • Removed old pull force sensor

        • Clear plastic layer was delaminated from back of sensor: I assume this is the cause of failure...

      • Made a new cable for the pull force sensor that can be more easily detached from the end-effector side in the event of another failure

      • Verified that the pull sensor is now working as expected:

        • Response of pull and push force sensors looks about the same (raw analog output to terminal)

    • Door closing algorithm

      • Was stuck on best way to calculate and store actual handle position after collision

        • Came up with an idea to use an existing projection function to get the right coordinates

        • Will put all of the door closing code into a new file separate from working door-opening code

    • Will perform some flight tests with working force sensor to see if the door-opening logic needs to change and/or if the door opening can be improved with better pull force data

    • Working on compiling previous work into prelim proposal document

Apr 2018

Apr 23rd

Ganesh

  • Finished importing and creating the boom-copter Tricopter

    • Created the model with all the plugins, links and joints

    • Was crashing all the time, has to play around with the inertial model and collision models to simpler geometry to achieve takeoff

    • Tested flight - no issues - works perfectly

  • Tested the boom-prop separately - uses two channels (one for forward motion and other for reverse

  • Daniel wrote a code to check if the tricopter accepts commands

    • Got MAVROS running - Have access to all the data on board - have flight logs saved after every flight (can be used for debugging)

    • Given a target X, Y and Z, the copter takes off, transitions into off board mode and goes to the target position

    • Works perfectly

  • Added a camera

    • Coded the camera with properties into the model file

    • Other suggested methods did not work

    • Image gets published to a topic

  • Addition of camera - caused the copter to oscillate and crash - even when added along the center of mass - couldn't takeoff and hover in place

    • Manipulated the different parameters

    • Solved that issue and was able to takeoff and hover

  • List of sensors:

    • IMU - data can be accessed through MAVROS - Logs saved for each flight to visualize and for diagnosis

      • Has a error modeled into the plugin to simulate sensor errors in real life.

    • Camera - available raw image

    • GPS - ROS topic - has a error modeled into it to replicate positioning errors

    • Lidar - can add to get depth data

    • Intel Real-sense - Found a plugin for the Intel Real-sense hardware - not compatible with the version of gazebo - will try it on another laptop before changing the version (if possible)

Daniel

  • Compiled the door-detection position estimation error in a single document

    • Errors are similar to what we had for sensor mounting

    • Average error:

      • Total: 5.8 cm

      • X: 5.3 cm, Y: 0.012 cm, Z: 0.021 cm

  • Made poster for RoSe-HUB

Arindam

    • Tested the yolo v2 code for training.

    • The training error reduces with the iterations which means the model is learning the features. So all parts of the code is working properly.

    • Need to test the model on the Amazon cloud services.

Che Kun

    • To redesign linear actuator to be more robust with grooves/slot.

    • Characterization Experiments for

      • Max Incline

      • Max obstacle size

      • Battery life

  • Maximum Speed Calculations

      • Theoretical Maximum Speed (No load): 0.3488 m/s

        • Calculation = 0.05461 m * 8.063421135 rad/s

      • Experimental: 0.3 m/s

      • Calculations based on motor with higher no load speed 77 rpm

      • Based on motor with lower speed. As there are 2 different sets of motors used on TB3

Apr 16th

Ganesh

    • Finishing up the boom copter model.

      • Some issues with COM and axes for rotation

      • Fixed those

      • Added a tiltrotor variables in the model file => +/- 15 degrees

      • will add the model to the simulator and set it up

    • Working on the 'world' file with the door

Arindam

    • Understood the yolo code and rewrote several parts of the scripts.

    • Prepared the datasets so that they can be read by the model properly.

    • Will start the training. If it trains properly that means the codes are all working properly.

Daniel

    • Flight tests

      • Successfully opened the door in 11 different flights

      • Had a few failures due to gripper positioning

        • Typically happens if the battery is getting low and position-holding capability decreases

        • Also can struggle if door handle is grabbed at the top

      • Currently analyzing the data...

Che Kun

    • Laser Filter: Implemented

      • Pre-Filter

      • Post-Filter

    • Case for linear actuator to prevent it from falling

      • To fine-tune. Print 1 more iteration

Apr 9th

Ganesh

  • Got hold of the parameters and list of code changes in the package to get tricopter working

    • Implemented it using a test model of tricopter

    • Works :D - has a tiltservo - takes off fine

    • Next steps:3

      • Verify working of the model and find bugs if any (tiltrotor code is not available as an official release - not tested yet - in experimental stage)

      • Add boom prop

      • Add depth camera

      • Import environment

      • Test

Arindam

    • Reading the papers on bounding box detection in neural networks.

Daniel

    • Flight Testing

      • Finished integrating the box detection image processing into the state machine

      • Performed several flight tests

        • 3 tests successfully opened the door

          • Force sensor only worked for one of these flights

        • The remaining tests had various network lag issues

      • Planning to perform several more flight tests for validation of the error data

    • Static Thrust tests

      • Set up and performed thrust tests for 16" vs. 15" propeller with Che Kun

Che Kun

    • Added undercarriage

    • Tested LiDAR: Only linear actuator part detected.

    • Teleop to control linear actuator: Works, but sluggish - To tune pub/sub

    • Setting up udev for USB devices connected - To debug with Daniel

    • Point to point navigation ok

        • Recovery behaviour affected as it cannot rotate due to linear actuator behind.

Apr 2nd

Tianqi

  • belt length 221.65mm, find a belt might fit:

  • https://shop.sdp-si.com/catalog/?cid=p348&filter=a17%3A2%3A225.0&sort=undefined&view=table

Ganesh

  • A model for QUAD-Plane with tiltrotor was added to the package - I made the boomcopter model (tri) following the same steps (Changes made to the files of the package)

    • Created a make variable

    • Added a custom mixer file <--

    • Added a parameter file <--

    • Modified the physics and the SDF file

    • Modified the mavlink file to add a case for tricopter

  • Still not working perfectly - most likely some issue with mixer or the parameters specific to the simulator.

    • Waiting for the tricopter parameter update inside the package

    • Developers of the package are still finishing the model

Che Kun

  • AgBug Packaging

    • LiDAR: 3D printed standoffs to raise LiDAR height

    • Managed to place USB hub under LiDAR. Saving space and enabling lipo batteries to be placed on top.

    • Cleaned up cables. Cables are below LiDAR detection plane. To validate with testing.

    • Cameras

      • RPI Camera (Front facing): Tested and working with ROS on RPI3, designed camera mount for it.

      • USB Camera (Downward facing): Tested on ROS on VMware

        • Unsure of optimal placement.

    • Current Weight:

      • AgBug: (1.768 kg with 2 cameras)

      • Cage: 0.309 kg

  • To Do

    • Systems test check if everything is working

    • Change to 16" diameter propellers on Boomcopter

    • Add undercarriage to shield RPI, OpenCR boards from dirt, dust from the ground.

Daniel & Arindam

  • Calibrating Realsense door detection program

    • Went through several iterations of the code to make it multi-threaded

    • Frame rate is now ~14 FPS

    • Added a formula to center the X error

    • Working on formulas to offset Y & Z errors so they are centered around 0

Mar 2018

Mar 26th

Ganesh

  • Mainly worked on setting up the tiltrotor tricopter

    • Recreated the boomcopter (without boomprop) - just a tiltrotor tri - with the latest sitl_gazebo package

    • Made series link Base_link>motor_2>rotor_2 (rear)

    • 'rotor_2' moves even when 'motor_2' is active.

    • Created make variables for tricopter inside the package

    • Setup mixers and parameters for this setup

    • Still not working completely - one of the developers said that he will update the package with some values of the parameters specific to tricopter in a couple of days

Che Kun

  • Mainly worked on packaging/streamlining AgBug

    • Reduced 1 module

    • 1.61kg

Daniel

  • Modified state machine code to use Realsense camera instead of webcam

  • Updated simulator to test/calibrate the Realsense image-tracking code

  • Planning flight tests for this week to calibrate Realsense data & open door

Arindam

    • Measured distance from the size of the box by image processing (beyond 2m from wall).

    • Distance measurement switches to realsense within 0.5m to 1.5m from the wall.

Mar 19th

Ganesh

  • Direct PWM test for each motor is not supported anymore (>1.5)

    • Unable to give PWM inputs directly to check the bi-directional motor

    • Made 2 models: One with bidirectional motor with a single plugin and another with 2 plugins for each direction (2 channels)

  • Made the Enclosure with a door hinge - Need to attach handle - need link for the handle

  • Upgraded to Ubuntu 16.04 and ROS Kinetic.

    • Was facing build errors with latest firmware and simulation packages

    • Installed all the required dependencies

    • Some new changes in the simulation package - was able to arm the rotor with series link

    • there is a chance that the tiltrotor could be simulated - simultaneously working on that

Tianqi

    • Latest flight test

      • Weight with 4s battery : 1873g

      • Weight without 4s battery : 1244g

    • water jet cutting project submitted, waiting for approve

Che Kun

  • Able to teleop AgBug out of cage

  • Ag Faculty (Dr Jian Jin)

    • https://abephenotyping.weebly.com/

    • Expertise: Hyper-spectral imaging to predict plant yield

    • Planning to build a mobile robot platform for ag sensing in Fall 2018

    • Large robot: Higher throughput

Daniel

  • I-BC Repairs

    • Reprinted all broken parts and reassembled I-BC

    • Will do another flight test once RealSense is mounted

  • Finished ICRA Workshop paper

Arindam

    • Detected the door in the recorded videos.

    • Need a depth video recorded by the Real-Sense for having the distance estimate.

      • Originl image Image with white bounding box

Mar 12th

Che Kun

  • Finished version 1 of AgBug-Boomcopter cage

    • Weight of AgBug with battery: 1.5 kg

    • Extra layer beneath : 200g

  • Cage: 300g

    • To Do

      • Drill some holes on carbon fiber shaft/Use set screw

Arindam

    • The stereo images in opencv is flickering a lot during the depth map generation.

    • Intel realsense is giving a more stable depth map than the stereo vision in opencv.

Daniel

    • Door-Opening Task

      • Performed several flight tests to attempt to open door

        • Successfully opened the door autonomously

        • Pull force clearly shows door opening

        • Boom-Prop timer expired just before pull force indicated door was open in state machine

      • Crashed IBC During a subsequent flight test

        • Still investigating root cause

        • Damage was minimal, mostle 3d-printed pieces broke:

          • Gripper mount, gripper fingers, gripper finger standoff, sonar mount, tail-rotor top mount

        • Working on reprinting the parts to continue flight tests

Mar 5th

Ganesh

  • Follow up on Image processing on Gazebo:

    • The camera view is published under a topic just like how it would if you connect a camera to a Ubuntu based computer

    • You can use OpenCV on that stream to process the image

    • And send back commands to the virtual UAV

  • Started working on the enclosure

    • Have the SolidWorks model for the box from McMaster Carr

    • Couldn't find the Handle

    • Once the assembly is complete, I can import it on to Gazebo

    • Should I add any color coded patch or anything for Image processing ?

  • Follow up on the Boomcopter

    • Met with Daniel and he wrote a code to test the motor - entering a value of 0-1 for the Main flight control group

    • The boom prop motor works - still have to test the reverse direction part

    • Need to find the part of the code where the PWM limits for the motors are specified - working on that

Daniel

  • Gripper modifications for door-opening detection

      • Modified gripper design to prevent flexing of motor mount plate while gripping door handle

        • This was causing the gripper to bind on the slider and was preventing detection of pull forces

      • Modified gripper finger thickness to improve grip on handle

        • Makerbot slicer makes the fingers non-symmetric, so had to compromise on thickness

    • IBC State Machine Edits

      • Coded the grip and retreat states

      • Currently finishing up the actual door-opening state logic

        • Working on a failsafe for turning off the boom-prop if the pull sensor fails to detect the door-opening

    • Makerbot Replicator 2X Maintenance

      • Getting heating error messages when printing parts

        • Usually we can restart the print and it works, but we're getting the errors more regularly

      • Thermocouple on right extruder most likely needs to be replaced:

        • Emailed Steve Florence to see if he has advice and/or a spare thermocouple

        • Replacement part link on Makerbot's website

Che Kun

  • Working on cage design.

    • Need to redesign some parts to prevent potential failure

Feb 2018

Feb 26th

Ganesh

  • Learning how to program robots on gazebo - for simulating the gripper with force sensor - from tutorials

  • Some issues with PWM range in the motor plugin for boomcopter

    • Have identified some PWM related parameters

    • Will discuss with Daniel this week and try to simulate the BoomProp separately

      • Both forward and backward

      • Once that is done, we should have a working model as the quad part is already setup

Che Kun

  • Design cage for dropoff/pickup

    • In progress

  • Streamline AgBug design

      • Need to raise height of LiDAR. As LiDAR detects the wheels

        • To raise by approx. 10mm

      • Need to order M2.5 x 30 mm screws + 3D print standoffs

        • Found on Amazon/McMaster

          • Current screws is M2.5 x 18 mm

      • AgBug detects its own wheels

      • AgBug detects the linear actuator (circled in red)

    • Packaged sensors on a single breadboard

Arindam

  • Implemented stereo vision in opencv with two cameras.

  • Working on refining the images to make them more clear.

Tianqi

  • All the new components are ready to use

      • New transmitter, new receiver...

      • Pixhawd with ardupilot, calibration and tuning done.

Todo:

  • One more flight test this week and finish the top plate

    • organize wires

Daniel

  • Gripper modifications

    • Added cable across gripper fingers for better impact performance

    • Pull force sensor seems to be working now, possibly due to sensor manager battery

      • Can't find the robotic hand in the lab anywhere...

  • Planning to do flight tests to grab the white board eraser for now (to test the multiple-attempt state machine)

Feb 19th

Ganesh

  • Update on Gripper/Contact sensor

    • Made a simple gripper model on gazebo using tutorials

    • Added a contact plugin to the last link

    • Update on Boomprop motor plugin

      • Force formula governing the motor: Force = Motor_const * joint_vel * joint_vel;

      • Modified the model with an 'if' loop to change the magnitude of force to negative if 'joint_vel' is negative

      • Will have to finish setting up the rest of the simulation - hopefully this will work

    • GPS/Positioning

      • GPS plugin available

      • <gpsNoise>false</gpsNoise> - setting this parameter to false will provide error free GPS data - can be used instead of Vicon

    • Got MAVROS and virtual Quad communication setup - able to access the topics

Daniel

  • Door Opening Task Prep

    • Wrote a Python script to simulate an I-BC test flight.

      • This will allow me to test and debug changes in the state machine for opening the door

    • Printed thicker gripper fingers

      • With a thicker finger, the gripper transmits force more reliably to the force sensor, but the thicker finger doesn't conform as well to objects

      • May need to use velocity (e.g. vel <= threshold) to indicate contact with the wall/door, rather than force sensor

  • ICRA Paper Edits

    • Added review_summary.docx to Google Drive/BoomCopter/ICRA_2018_Paper/ICRA_2018_Reviews

    • Addressed issues from reviews in OverLeaf (see red text)

      • 1 or 2 changes still pending

      • Started a PPT digest slide (Google Drive/BoomCopter/ICRA_2018_Paper/) based on last year's slide

        • Just need to update the bullet point list

    • Deaf Kids Code

      • Received quote for PCB assembly & updated BOM prices to adjust automatically for quantity

      • 3D printed the spacers for the light sensors & tested on prototype

Che Kun

  • Soil Sensor/Linear Actuator Integration (Software)

    • Able to control linear actuator via ROS

  • To Do

    • Redesign linear actuator to fit new offroad wheels

    • Design cage for dropoff/pickup

    • Streamline AgBug design

Feb 12th

Ganesh

  • Talked to Daniel to find out the requirements for simulating the BoomCopter:

    • installed MAVROS for communication and sending offboard commands

    • working on modifying the motor model for the boomprop (since it is bi-directional)

Tianqi

To do:

    • Reprint/design battery holder to correct the center of mass

    • Print/design holder/box for ESC & wires

    • Swap the recevier/Pixhawk

    • Recaliberate controller with 4S battery on

    • Finish everything with the top carbon fiber layer

Arindam

    • Going through different codes of reinforcement learning.

Daniel

  • Gripper Design

    • Increased the finger length to expand the gripper span

      • Previous span was ≈ 10 - 12 cm, new span is ≈ 17 cm

      • Longer fingers introduce a few issues with force transmission

          1. They are much more compliant, so they absorb impacts (this is good and bad)

          2. They induce more torque on the gripper with single-finger impacts

      • Made finger tips elliptical rather than spherical, and increased the major diameter to prevent pull-out while gripping

    • Testing:

        • Set up the IBC on wheels to test gripper response to different handle approach angles

        • Gripper reliably closes around handle from most initial positions

      • Currently trying to make the impact detection more reliable & prevent gripper from grabbing edge of door

Che Kun

    • Swapped to offroad wheels

      • Briefly tested. Able to go from 1 waypoint to another

  • Further lower height of the platform

    • Seems plausible to put the OpenCR board on the underside

    • Cage Idea for transporting the AgBug

      • https://www.cmu.edu/news/stories/archives/2016/january/autonomous-ground-air-mission.html

    • To Do

      • Attach OpenCR board to underside, shift LiDAR forward

      • Parameter tuning for robot to account for changes in configuration

Feb 5th

Ganesh

  • Finished modeling a barebone version of Quadcopter with a boomprop for initial testing

  • Will discuss with Daniel to figure out how to get his code running

Tianqi

    • New arm printing finished

To do:

  • Ready for next flight test

  • Waterjet cut anothor carbon fiber sheet

Che Kun

    • Designed and 3D printed mounts for offroad wheels

    • Research on soil moisture profile

    • https://www.delta-t.co.uk/product/pr2/ (Sensor)

    • http://www.mdpi.com/1099-4300/17/6/4454/htm (Soil Moisture Profile)

    • Seems like typical soil moisture profiles look at the soil moisture level in the soil at different depths across time

Arindam

    • The training without bounding box is reducing the number bounding boxes, but the size of the bounding box around the object is increasing.

    • Trying to use some bounding box data to improve the performance.

Jan 2018

Jan 29

Daniel

  • Flight Tests:

    • Redesigned gripper slider to use nylon rollers instead of a 3D-printed peg-in-slot to reduce sliding friction under torsion (when the gripper makes contact off-center)

      • Performed several flight tests to verify that the new rolling design is effective

      • Collision was detected every time the gripper made contact, regardless of which part of the gripper made contact

      • Mounted a whiteboard eraser in the center of the red square to test the gripping success rate

        • Successfully grabbed the whiteboard eraser and removed it from wall (see YouTube video)

      • Only 2/6 flights successfully grabbed the eraser, 3 tests missed it completely, and 1 test hit the eraser with just the right fingers and closed the gripper in front of the eraser

      • Based on the data from the successful flight tests, it should be possible to determine if an object has been grabbed using the gripper position and state data (see gripper data below from the flight test shown in the YouTube video):

Che Kun

  • Modified chassis to be lower

  • Soil/Humidity sensor + Linear Actuator

    • Code integrated into a single ProMini

  • Weighted AgBug: 1.22kg

  • Add-on Camera Functionality

    • RPI3 uses USB 2.0

    • RealSense uses USB 3.0

    • Camera performance might be sluggish

    • To test TB3 with ODROID

Arindam

    • Separated the background from 30% of the dataset.

    • The process is still going on for the rest of the dataset.

    • Once the background is extracted from all the images, the network has to be retrained all over again and the internal filters have to be analyzed based on their total weights for creating bounding boxes.

Ganesh

    • Turtlebot 3 Burger model setup on Gazebo - ROS Indigo

    • Set up the camera and LiDar

    • Will discuss with Che Kun about the changes in the model and programs that he runs on the TB3

    • Working on Quad with Boomprop - Have a similar model file - Changing the code

Jan 22

Ganesh

  • Working on modifying the IRIS to attach boom-prop.

  • Turtle-bot simulation on Gazebo - installed the required libraries etc. - Learning how to add peripherals and program it.

Daniel

    • Flight Testing

      • Solved the yaw deviation problem while in OFFBOARD mode

        • PX4 parameter: MC_YAWRAUTO_MAX, was preventing the necessary yaw control action when in OFFBOARD mode

        • Yaw performance seems to be back to the way it was

    • Gripper force transmission issue

      • Working on a new slider design that will still slide freely in the presence of torque (due to off-center contact with gripper)

      • 3D printed a few test sliders, but they still bind

Che Kun

    • Modified AgBug TB design to be lower

      • To seek feedback if it should be lowered further

  • Packaging Sensors/Linear Actuator to run on a single Pro-Mini:

      • Temperature sensor working

      • Linear Actuator: working

      • To integrate both code together

  • Placed order for off-road wheels

  • Side Project: Working on Vehicle Detection and Tracking with Computer Vision

    • Building an image pipeline for vehicle tracking using a sliding window approach

    • Trained a linear SVM to recognize cars

    • Currently not real-time, still building the image pipeline

    • Potentially extend to tracking some features of interest for AgBug in the future

  • To Do/Pending

      • Further chassis modification (if necessary)

      • Redesign linear actuator so that standby position is higher than center of the wheel

        • Wait for off-road to arrive before designing

    • Characterize force from linear actuator with sensor mounted

Arindam

    • Prepared a GUI to visualize the output of the internal layers of the network.

    • Working on segregating the image into regions of high and low scores using the network.

Jan 8

Daniel

    • Flight Testing

      • Several flight tests have confirmed issues with maintaining yaw setpoint while in autonomous OFFBOARD mode.

        • This problem never occurred during the sensor mounting experiments, and it doesn’t happen in Altitude Hold or Position Hold modes.

        • I’ve ruled out Center of Gravity changes with the new end-effector, and sensor calibration as culprits

        • Next steps I'm considering:

          • Update the PX4 firmware on the Pixhawk, or perhaps switch out the Pixhawk

          • Swap the front motors/ESCs to make sure there isn't some kind of imbalance

    • Outreach

      • Made a first-pass on the light follower redesign

        • We should be able to get all of the chassis parts separately for close to the same cost, as long as we laser-cut the frame here at Purdue.

        • I found a few different options for PCB assembly ranging from $6.00 - $10.00 per board, but I’m not sure about shipping costs as some of the options may require us to collect the parts here and then ship them out for assembly.

Dec 2017

Dec 12

Daniel

    • Flight Tests

      • Performed multiple flight tests with Ze

      • The IBC will not settle at the NTP, due to significant fluctuation in the yaw angle

        • The Yaw setpoint looks ok, we may need to adjust the static offset again (from ≈4.5˚ to ≈ 9˚)

        • (Unable to upload plot of yaw since this website's storage quota is full)

      • Still trying to determine what may be causing the yaw angle to deviate so drastically after ≈30 sec. of trying to settle at target position

    • DKC Outreach

      • All kits in the suitcase in the High Bay area, ready to be handed off to Shireen

Dec 4

Ze

  • Solved the image retrieving problem

  • Compared image quality with old Kinect

Che Kun

    • Linear Actuator working

    • Shifted Wheels Backward

Daniel

  • Flight Testing

    • Can't determine reason for crash

    • Flight test today with Ze

  • DKC

    • Finished all kits, ready for packaging

Nov 28

Tianqi

  • New chassis able to fly without issue

  • Todo: Add optical flow & sonar

    • EPM pick-up demo

Ze

  • Modified Kinect v2 to use a 12V power adatper

  • Tested Kinect v2 with two different drivers: Microsoft(Win), libfreenect2(Linux)

    • NOTE: Microsoft's driver does a hardware integrity check so I put all the parts back.

  • Compiled and installed the driver on XU4

  • Using kinect2_bridge to work with ROS

      • Having some compatibility issue(OpenCV 2.4 & 3) with kinect2_bridge (Somehow I managed to get it work but still having errors compiling the whole package )

    • Working on getting the image from Kinect v2

      • When I fire up the kinect I can see the rostopics published by it but I'm not able to retrieve the images

Che Kun

  • Finished CAD and 3D printing of linear actuator

    • To test and integrate with Daniel's code/library to control

    • Able to send humidity/temperature data into ROS from Arduino

    • Possible Monster Truck Wheel

      • https://www.tetrixrobotics.com/TETRIX-All-Terrain-Tire

        • Waiting for supplier to reply regarding details about mounting

      • https://www.servocity.com/4-3-off-road-robot-tires

        • Out of stock on website

        • Tires avail on Amazon

Arindam

    • Finished the top part of all the kits.

      • Need to hot glue the wires so that they are all firmly attached.

      • Need to create a manual for assembly. Need packing boxes.

    • Checked out some of the potential improvment in the Deep Learning framework.

      • Creating bounding boxes even when the training images do not have bounding box information.

      • Automatic increment of the learning rate of the model.

      • Creating dummy training examples to train itself, if not enough training data is available.

      • Automatic segmentation of the input image without training on segmented images.

Nov 21

Tianqi

Che Kun

  • Finished CAD and 3D printed

  • To Do

    • Some fine-tuning to be done for CAD to account for placement of fasteners

    • Raise height slightly

      • Printing right now

Arindam

  • Assembled the battery case and switch of all the robots.

  • Created a training dataset that has bounding box in their images. Need to train the system using this set of training images.

Nov 14

Arindam

  • Assembled some light follower robots with Daniel.

    • Pcb, sensors and motors for all the bots are ready.

    • Battery case has to be mounted and motors and pcb has to be soldered.

  • Still working on the neural network model to create a bounding box on the detected pattern.

    • Training dataset also needs to have the bounding box information in order to have bounding box in the output, which was not there in my dataset. Trying to fix that.

Ze

  • Worked on the light follower robots

  • Got a new sensor Kinect v2. The hardware requires some modifications to work with PC. Trying to get it work with ROS

Tianqi

  • Carbon fiber plate purchase?

  • Assembly chassis and some fly testing

Che Kun

  • Finished CAD model of linear actuator for soil sensor

  • To Do

    • 3D print and test mechanism

Nov 7

Ze

  • Tested Realsense R200 with various settings(http://wiki.ros.org/realsense_camera):

    • r200_dc_preset

      • Works best with default setting or medium setting

    • r200_lr_gain

      • No effect

    • r200_lr_auto_exposure_enabled

      • No effect

    • depth_width, depth_height

      • Higher resolution improves image quality

    • depth_fps

      • R200 only works at 30fps or 60fps

  • Maximum effective range is below 4 meters

  • Indoor lights have an slight effect on R200

Che Kun

  • Collected Vicon data for a box test for TB3

    • Processing data from ROS side

    • Working transformation matrix to map to Vicon coordinate frame before comparison with ground truth

    • Plot of Vicon Data

  • Concept design for linear actuator done

    • Working on detail design

Tianqi

  • Carbin fiber cut done (need more material)

  • New arm printed

Daniel

  • Finished mounting gripper hardware on I-BC

  • Modified the state machine code to close gripper after impact with wall

  • Updated I-BC schematic

  • Will do flight test with red square to test impact of gripper

Arindam

    • Found a c code for detecting the qr codes in video frame. But it is having some bugs that I need to resolve. Probably the opencv version used are not compatible.

    • Still working on making the qr codes with neural nets to be scale invariant.

Oct 31

Tianqi

    • Carbon fiber plate sketch final draft

    • EPM Test

    • ToDo

      • Carbon fiber plate cut

      • New arm print

      • EPM pickup demo Manually

Arindam

  • Removed the false detections while detecting QR codes.

  • Need to make the code more scale invariant and light invariant.

  • The speed of detection is increased from 10 Hz to 15 Hz. (Webcam default frame rate: 30 Hz)

  • video1

Che Kun

  • Wrote code for TB3 to navigate to multiple waypoints (x, y coordinates) indoors

  • GPS messages read by ROS has checksum error

      • Hardware test: GPS device works fine with Arduino

      • Still able to get GPS coordinates (Lat/Long) in ROS

      • UTM Conversion code for Lat/Long -> UTM did not seem to work

      • To debug

        • UTM Conversion code

Ze

  • Scanned PB lab with both realsense and kinect

    • Realsense failed the scan due to short distance and accumulated errors

  • Working on changing realsense parameters

Oct 24

Ze

  • Re-flashed Odroid

  • Tested SLAM with R200

RealSense

Kinect

Che Kun

  • Soil Sensors

    • Current sensor is difficult to insert into dry soil

    • Searched for alternatives

      • dfrobot

      • Challenge is to stick it deep into the soil

    • Non-Contact Temperature Sensor

Arindam:

  • Working on creating a convolution network that can process the bigger image (320x240).

  • But this kind of network takes a very long time to train on a CPU. So looking for other options like (google cloud) where the GPU can be accessed online.

Tianqi

  • EPM effect distance test

  • 3Dprinting

    • battery cover piece

    • EPM piece

Daniel

  • Gripper

    • Incorporated Gripper control & sensing into Arduino Pro Mini Sensor Manger (renamed to Device Manager)

    • Still need to quantify gripping ability (pull-out force, etc.)

  • IAC

    • Cleaning done on Monday, and Posters arrived

      • Both posters look good

    • I will be presenting for our 2 posters and 2 of Prof. Gibbert's posters

    • Our demo will be during the 3rd hour

      • Videos

        • Manual Sensor Placement

        • Autonomous Sensor Placement 3rd person view

        • Autonomous Sensor Placement onboard view

      • Robots:

        • Turtlebot driving with Leap Motion controller

        • Turtlebot follower

        • Possibly demo gripper grasping different objects

Oct 17

Che Kun

  • IAC Poster done

  • TB3

      • Tuned goal tolerance

        • yaw_goal_tolerance: 0.15 rad

        • xy_goal_tolerance: 0.10 m

    • Re-positioned front and back wheels to be closer center of robot to minimize robot turning radius

    • AgBug Navigation

          • If it overshoots the goal, it is able to re-position itself based on the smaller turning radius

      • Rviz Visualization

  • To Do

    • Look at soil sensors and see how to integrate it into current platform for sensing

      • Current Ideas

        1. Turtle3 Bot Open Manipulator

          1. https://turtlebot3.readthedocs.io/en/latest/manipulation.html#turtlebot3-waffle-with-open-manipulator

          2. Design a simple mechanism to place the soil sensor onto the ground

      • Research on setting up a wifi network outdoors for field testing

        • Current Ideas

          • Wifi hotspot with mobile phone

          • Portable wifi router/mobile broadband device (With SIM card inside)

Tianqi

  • EPM Test done

    • PWM control

    • AFL Waterjet Cutter avaliable

      • Registration

      • Quiz & safety test

    • To Do:

      • EPM magnetic field effects test

      • Check carbon fiber sketch dimensions

Daniel

Arindam

    • Detected the QR code with convolutional neural network, but has some false detections as well.

    • Need to make it more robust and more precise so that it bounds only the QR code part with a rectangle.

Ze

    • Tested Turtlebot 2 with kinect

    • Tested SLAM with Kinect

    • Mounted Realsense on Turtlebot 2

    • To do

      • Test Realsense camera

      • Generate a map with Realsense and compare to Kinect

Oct 10

Tianqi

  • CAD revised

    • Che Kun's poster figure

    • new idea about all electro-components position

  • To Do:

    • Test the EPM

    • Print new parts

    • Carbon Fiber cut

Daniel

  • BC Gripper

    • Designed a 3D-printable linear actuator to replace glue stick housing

    • Printed whole gripper assembly, including gripper arms out of ABS

    • Gripper now fully opens in 1 - 1.5 sec

  • IAC Poster

    • Will remove AgBug and add in graphs from latest papers

Arindam

  • Implemented the convolution neural network for the qr codes. But the accuracy is low (15%) and error is high.

  • Possible reasons:

      • The network might be too big (2 convlution layers and 3 linear layers)

      • The data set might need to be larger (right now it has 4000 qrcodes and 4000 dummy images)

      • Hyperparamenters like learning rate and momentum and error functions might need to be changed

Oct 3

Tianqi

    • Beagle bone learning

      • ROS installed (working on the tutorial)

    • To do

      • Design change?

      • Modify the design make the chassis more rigid and stable

      • reprint parts, Carbon Fiber cuts

Che Kun

    • Motor ID swapped - With Ze's help

    • Closed Loop Control

      • In-Built Function (Odometry/Encoder Test) - Works

        • Move fixed distance

        • Rotate fixed angle

        • No data clash due to 2 identical motor IDs

      • Tested autonomous navigation

        • Not working perfectly as kinematic model slightly incorrect

      • Teleop test

        • Global robot velocity to local velocity model slightly incorrect

          • Front -> Right

          • Right -> Front

          • Left -> Back

          • Back -> Left

    • To Do

      • Debug and resolve error with kinematic model

Ze

    • Wrote a program to change dynamixel motor EEPROM settings

Daniel

  • Made gripper prototype for testing

    • Will probably need 3 gripper arms offsetting each other to grab door handle

    • PLA gripper is quite flexible, but may also try with ABS

    • The current motors we have are too slow for this configuration

  • IAC poster deadlines coming up next week

Arindam

    • Tried to train the neural network with the 320x240 size image. But that is creating a huge vector of 230400 (320*240*3) elements.

    • Spatial information of the pixels are list.

    • So trying to use convolutional neural network for the training.

September 2017

September 26

Che Kun

    • Setup monster variant hardware

      • Able to perform open-loop control for motors

      • For closed loop, having 2 daisy chained motors with same motor ID may cause issues when reading encoder readings

        • 2 same ID publishing encoder information causes signal errors

    • Found skid steer robot model for

      • Odometry - Get odometry from encoder readings

      • https://www.coursera.org/learn/robotics-learning/lecture/YdleV/odometry-modeling

      • https://link.springer.com/chapter/10.1007/978-3-319-38771-0_53

      • Velocity - To map global robot velocity into local motor velocities (Jacobian matrix)

      • http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.565.755&rep=rep1&type=pdf

  • To Do

      • To cross validate robot models with more sources and test

Arindam

    • Working with different Image datasets like CIFAR10 (dataset of simple image, like car, horse, bird, truck etc.) and MNIST (dataset of handwritten digits) to train a neural network for images.

    • But these images are small (32x32 pixels) and simple.

    • Right now accuracy on MNIST is 95% and that on CFAR10 is 70%.

    • Trying to improve the accuracy be different modifications on the network structure.

Daniel

    • Got Realsense camera working on the Odroid XU4

      • 60 fps depth images, 30 fps rgb video

      • Sensor weighs 8 grams

    • Need to submit IAC poster title to Cindy by tomorrow

    • Working on problem definition and strategies for opening the door in the air

      • Considering different end-effector options, including a simple gripper

September 19

Che Kun

    • Clock Skew Error - Fixed

      • Implemented changes suggested by Daniel to update with Chrony

  • Tested controlling Dynamixel motors with Daisy chain method - Success

    • To purchase USB2Dynamixel communication device to switch motor ID

        • http://support.robotis.com/en/techsupport_eng.htm#product/auxdevice/interface/usb2dxl_manual.htm

      • http://www.robotis-shop-en.com/?act=shop_en.goods_view&GS=1289&GC=GD080300

      • Waiting for Robotis to confirm part before purchase

    • Torque calculations to determine suitable motor/if current motors are suitable - Completed

      • Based on assumed mass of 2 kg

      • N = 2*9.81 = 19.62

      • Friction Coefficient (Mew) of 0.6 (Rubber on Concrete)

      • Weight evenly distributed across 4 wheels

      • F = Mew * N/4 = 0.6*(19.62/4) = 2.943 N

      • r = 0.033m (Current wheel on TB3)

      • Torque = r * F = 0.033 * 2.943 = 0.097119 Nm

      • From torque performance graph

        • http://support.robotis.com/en/product/actuator/dynamixel_x/xl_series/xl430-w250.htm

      • At 30 rpm, Torque = 0.4 Nm

      • Safety factor of 0.4/0.097119 = 4.118

    • http://turtlebot3.readthedocs.io/en/latest/appendix_dynamixel.html

  • To Do/In Progress

    • Software Tuning for Burger

    • Robot recovery behavior

      • Default behavior is to rotate on the spot to "clear obstacles" - Which may be undesirable

    • Inflation radius tuning

    • Software

      • Research on which code should modified as we transition from a 2WD (Burger) to 4WD (Monster)

        • To change differential drive kinematic model to skid-steer

Tianqi

    • Pixhawk setup finished, ready for the flight test

    • Ubuntu 16.04 installed for BBB, start using OpenCV packages

      • Will work on the gripper design once the megnet received

Daniel

    • Finished 1st draft of JMR paper

    • Working on installing realsense drivers for XU4 in preparation for door-opening task

Arindam

  • Planning on using a machine learining model to detect a qr code from a video feed.

September 12

Ze

    • TurtleBot3 Waffle

      • Flashed newest BIOS

      • Installed Ubuntu & ROS

        • username: waffle

        • password: turtlebot3

    • Looked through online ROS tutorials

    • Note: need Herrick door swipe access

Tianqi

  • ESC, Motor, Controller all tested (working good)

    • Need a receiver (with SBUS) from the LAB

  • EMP

    • this product is not widely used so there is only a few review/comment about it

    • Looks like the imu(compass) will get interfered

      • Faraday cage

      • Magnetic Shielding Foil

Che Kun

    • TurtleBot3 Burger

      • Able to perform autonomous navigation

      • Robot able to move from point A to B in a pre-generated map file

        • TB3 Rviz visualization with AMCL running (Office in Herrick lab)

      • Clock Skew Error still present

        • Chrony method suggested by Daniel does not seem to work

        • Tried to utilize a startup script, my script relies on internet access to update the time, not sure if at boot time, startup scripts will have internet access

          • As wifi connection may not have been established yet

        • Current Solution: Manually run a script to fix it after booting

  • To Do/In Progress

    • Working on System/Detail Design for Monster

      • System Design

        • Drivetrain (4 motors)

        • Software

          • Research on which code should modified as we transition from a 2WD (Burger) to 4WD (Monster)

      • Detail Design (Drivetrain)

          • Research on which exact motors to use and how exactly to interface them (TTL/RS485)

            • Torque calculations to determine suitable motor/if current motors are suitable

        • To test out controlling current motors with Daisy chain method

          • Daisy enables control of multiple motors with 1 single TTL/RS485 interface port

          • Reason for using daisy chain is there are 3 TTL ports and 3 RS485 ports

            • Meaning that to control 4 motors

              • I would either have to daisy chain 2 motors to at least 1 TTL port

              • Or

              • Use 3 motors with TTL interface and 1 motor with RS485 interface

    • Software Tuning for Burger

      • Robot recovery behavior

        • Default behavior is to rotate on the spot to "clear obstacles" - Which may be undesirable

      • Inflation radius tuning

Daniel

  • Finished RA-L paper & video

  • RealSense/Kinect

    • Got the Turtlebot 2 fully operational with Odroid XU4 (Ubuntu on eMMC)

      • Able to run follower program with Kinect

    • Working on getting RealSense libraries/drivers working with Odroid

      • Updated Kernel to 4.8.0, but still didn't work

      • May require Ubuntu 16 to work on arm architecture...

  • JMR Paper

    • Looking at outline to start writing

September 5

Che Kun

  • TurtleBot3 Waffle

    • Facing difficulty installing driver (Needed to flash BIOS to flash Ubuntu image)

        • Unable to find a fix

          • Tested on 2 different laptops

      • Posted on Intel help forums

    • Intel Joule

      • To be discontinued by Intel

        • https://communities.intel.com/docs/DOC-112092

        • Intel is discontinuing Intel® Joule™ compute modules and developer kits. To help customers manage through the Intel Joule discontinuance, Intel will support last time orders of Intel Joule products through September 16, 2017 and will fulfill those orders through December 16, 2017. The current level ofcommunity forum-based support for Intel Joule will continue to be available through September 15, 2017. The final release of the BIOS (1Jx) and Reference Linux OS for IOT (1706) developed for use with Intel Joule is anticipated in July 2017. After September 15, 2017, Intel will archive its online resources and maintain availability to the Intel Joule community until June 15, 2020. Files licensed under open source licenses will continue to be generally available in binary and source code on GitHub.

  • Assembled TurtleBot3 Burger

    • To test hardware

August 2017

August 29

Tianqi

    • EPM688-V2.5

    • data sheet: http://nicadrone.com/img/Datasheet%20EPM688-V2.0.pdf

      • http://ardupilot.org/copter/docs/common-electro-permanent-magnet-gripper.html

    • Parts need for the new chassis:

      • Pixhawk

      • Receiver

Arindam

  • Almost done with the section "Real time image processing" in the paper. Need to put 2 figures and revise the writing.

Che Kun

  • Assembled TurtleBot3 Waffle

  • To test hardware

August 25

Daniel

    • RAL Paper

      • 11 Successful sensor mounting flights

      • Plotted sensor placement errors, all within about 4" of the target

    • Made 1st 3 figures and wrote Autonomous Control & Vehicle Design Overview sections

    • Now working on Experimental Results figures & writing

  • DKC Outreach

    • Finished Light Following Robot prototype and purchase list

      • Cost per kit is $20 - $24

      • Issues/Questions

        • Should we include 20-30 flashlights for demonstration (kids don't keep)?

        • Significantly cheaper bulk light sensors on Amazon, but quality not verified...

        • Low quantities of robot chassis available... (< 20)

    • Updated PCB with power indicator, cost is $1.67 per board

August 17

Daniel

    • State Machine

      • Wrote code to drive boom-prop in reverse after mounting sensor

        • Failsafes:

          1. 5-6 second timeout

          2. sonar distance to wall > WALL_DIST

          3. Vicon position within threshold of tuned NTP (starting point for mounting operation)

    • Flight Tests

      • Front left motor stopped working.

        • Removed ESC, discovered one phase output connector melted and shorted with an adjacent phase.\

        • Desoldered phase wire from ESC and replaced with new wire and bullet connector

        • Did one quick flight test in PBE and verified that the front left motor spins up and the IBC can fly again

      • Next flight tests hopefully on Monday (Arindam has TA trainings for rest of week

    • RAL Paper

      • Made outline with Arindam

      • Started Overleaf template, added bibliography from ICRA paper and filled in the skeleton of the outline

      • Started looking for good reference papers from Special Issue organizers

    • DKC Outreach

      • Received both robot chassis from EmGreat (Amazon)

        • Assembled one robot and tested variable-speed control with a spare potentiometer and transistor

        • Got the motor specs @ 5.3V (4x NiMH AA): stall current ~1A, free-run current: ~0.25A

        • NOTE: The circuit diagram from Robotshop.com might have the voltage divider backward

        • Designed a simple PCB (if we decide we want to go that route)

          • 0.85 in. x 1 in. (or 1.15 in.) ~ 0.85 - 0.98 sq. in.

          • $1.38 - $1.60 per board

      • Still waiting for Sparkfun components (photocell, transistor, power switch)

August 10

Ganesh

    • Gimbal plugin didn't work for BoomCopter as it is. - some parameters specific to gimbal is present in the plugin which doesnt apply to tiltrotor - throws errors

    • Writing a plugin with some parts from Gimbal and Motor plugins

      • Have taken the parts where forces are applied - from Motor plugin

      • Have taken the tilt servo part - from Gimbal plugin

      • Studying to get some clarity on working of these two plugins - to make our own plugin.

    • Discussed the possibility of using gimbal plugin with the developers. Nobody is currently working on tricopters anymore but some are working on tiltrotor VTOL aircraft. No working gazebo simulation yet from them as well.

August 3

Daniel

    • State Machine:

      • Finished code for 'approach' state, including failsafes for excessive yaw angle, mis-alignment with wall, and undetected payload release

      • Added 'tcp_nodelay' to ROS Subscriptions to minimize topic latency

        • This effectively removed the MAVROS mocap timeouts and other occasional sensor timeouts

      • Added a function to ramp up the boom prop instead of making abrupt throttle changes

      • Updated data logger to also log informational messages from state machine (instead of just state transition and error messages)

    • Flight Testing (flew about 25 flight tests)

      • Successfully pressed sensor into target autonomously (boom prop stopped after force sensor triggered)

        • The VHB didn't adhere well to the glossy paper used for the red target, so the payload didn't stay on wall

        • Youtube link for sensor placement video (without tape)

      • Tried multiple additional attempts with more VHB and it still didn't stick

        • Will try laminating the paper with packaging tape (I think the VHB will stick better to that)

      • On last flight yesterday (Aug. 2) smelled burning, so stopped flight tests to investigate

        • Smells like a small component fried, or maybe some plastic melted

        • Smell comes from main hull, but haven't pinpointed the source yet...

Arindam

    • Installed tensorflow successfully. Working on how to use the machine learning packages to detect the images.

July 2017

July 27

Daniel

    • State Machine:

      • Added a logger class to the state machine to allow for synchronized data logs

      • Working on 'approach' state code

      • Added code to calculate setpoints along desired trajectory (while boomprop is on)

    • Flight Tests:

      • Balanced the vehicle frame

      • Good estimation of target position, but large drift occurs near wall

      • Networking issues with router (causing mocap timeouts)

        • Possibly due to the router placement near pillars in wall

      • Next Tests:

        • Align with target at a further distance from the wall (0.8 m instead of 0.5)

        • Fly with boomprop along desired trajectory in pos-hold mode

        • If that doesn't work, will need to do althold + yaw control mode

July 20

Daniel

  • State Machine Code Improvements:

    • Waypoint "Breadcrumbs"

      • Wrote functions to generate intermediate waypoints on path to Near-Target Position (NTP) to limit the vehicle speed and thus limit the overshoot

    • Sonar Filtering

      • Wrote a filter to ignore invalid sonar data, validated with measurements in the office

    • 2-Stage "MOVING_TO_NTP" State

      • 1st stage follows breadcrumbs to a "coarse NTP" approximately 1.5 meters from the target

      • 2nd stage uses filtered sonar distance measurements to calculate a "fine NTP" 0.5 meters from the target

  • Flight Tests

    • Successfully limited the flight speed by sending "breadcrumb" waypoints with time delays

    • Approached within 0.5 meters of the wall using filtered Sonar distance measurements

    • Estimated the target position within ~4 cm in-flight (based on image processing and sonar data)

    • Had some significant drift problems when near wall

      • Need to determine if this is due to wall-effects or just a low battery

    • Also had some sonar filter lag (see plot above)

Arindam

    • Working with tensorflow package for detection of the target pattern.

July 13

Daniel

    • State Machine:

      • Image-Processing and NTP tuning

        • Redesigned the target-position tuning filter (adjusts near-target position with image-tracking data)

        • Resolved issues with matching camera and vicon coordinate frames

        • Had an issue with ROS topic timestamps on different machines

          • Resolved with "chrony" on my laptop, but still working on implementing the fix on the lab laptop

        • Tested the NTP filter with the BoomCopter's camera and it works in the lab

          • Ready to test in PBE lab (will need extra pair of hands)

      • Wall approach with boom-prop

        • Decided to use sonar to do initial wall approach, so need to modify first state, then ready for flight test

Arindam

    • Used a package to detect a qr code in opencv.

      • The detected pattern flickers a lot, but there are no false detections.

      • The detection only occurs within a range of 0.8 m from the camera.

      • Also need to check if the pattern can be detected through the elp camera on the boomcopter, without the dewarping.

July 6

Ganesh

    • Modified the SDF code

      • first version uses 'position_gztopic' for servo

      • second one uses 'c3go_gimbal' and 'propeller_joint' for servo and back_rotor respectively

      • trying to trace the code written for gimbal to understand how it works - some unknown parameters in the gimbal plug-in

      • subscription topic format, nomenclature, joint control PIDs may vary for our use

    • Found a model with gimbal plugin implemented

      • Unlike other model, it has a series link - no work around in that regard

      • Parent is not same for all sub links

    • Need to run MAVROS to get a better understanding of what is going on in the Pixhawk side

    • Workshop testing progress

      • 3D Printing chassis for workshop - changing model scale to get the correct dimensions so that the motor fits perfectly

      • Estimated 3D Printing time will be ~60 hours if one chassis is built in a machine

      • Once the scale and dimensions required are achieved, can we divide the spool and run on multiple machines in ME blg? Extra material if need be ?

      • Saw some soldering tutorials, will do once in Daniel's presence

      • Emailed the People who did the project, they sent a new STL File. But they say, depending on printer scaling needs to be changed to get the right dimension.

Daniel

    • State Machine:

      • Implemented filter to tune the near-target-position using the camera data.

      • Performed several unit tests to verify that the state machine behaves as expected, at least for the obvious scenarios

        • Will run a flight test with the camera and print out the tuned position setpoints to verify they are correct

      • Working on updating the position control to use the setpoint_raw topic instead of setpoint_position in MAVROS

        • (This should allow for hybrid altitude/yaw control during forward flight with boom-prop

    • 3D printer

      • Watched tutorial video about adjusting the extruder height

      • Will level the extruders next time I'm at Herrick

Arindam

    • Implemented the SURF algorithm with the color detection.

      • But still having issues with false detection.

      • Experimenting with other kinds of target patterns so that the keypoint positions stay consistent.

June 2017

June 29

Daniel

    • Flight Tests:

      • Corrected the yaw offset of the vehicle so it will now hover around the target yaw setpoint

      • Maxed out the MC_YAW_P parameter (proportional gain on yaw)

        • It looks like the best performance we can get with this airframe is about +/- 3 degrees

    • PX4 Firmware

      • Figured out how to control the boom-prop through software and also have RC failsafe

        • Modified the PX4 firmware (specifics on GitHub)

    • State Machine Code

      • Working on a filter in the state machine to update the setpoint based on the camera data

        • Re-calibrated the image processing code with Arindam

      • Verified boom-prop control and safety mechanisms work on actual BoomCopter

Ganesh

    • Motor model plug in works independently even if there is a series joint, but not if actuated

      • Modified the motor_model plug-in functions slightly using a 'Gazebo functions' cheat sheet with description for all the functions under Gazebo class;

      • Have prepared a flow chart with all the functions and variables used

      • Motor_model plug in needs to be further tuned to get the 'motor constants' right for our particular model

      • Checked for Axes conflicts by comparing with working default model.

    • Servo_plug-in and Motor_model plug-in don't work together - some conflicts might occur inside gazebo when these two different plug-ins are running at the same time.

      • Will start tracing the function calls to debug this problem

      • Found two ways to actuate the servo.

Arindam

    • Calibrated the ELP camera with Daniel.

      • The current calibration has an error of 2.5 cm in Y (left) and Z (upward) direction, and 5 cm error in X (forward) direction.

    • Working on using the SURF algorithm for tracking.

      • Algorithm causes a time lag of about 1 second.

      • Requires a number of keypoints.

      • Also not able to check if the target is removed.

June 22

Ganesh

  • Understood the working of the motor model plug-in code

    • It uses a function called GETVELOCITY() to get the joint velocity - The joint is driven by subscribing to the topic MOTORSPEED/*

    • It uses the motor constants defined in the SDF file and uses a bunch of formulae to calculate the rolling moment torque at that particular joint

    • Uses a function called GetParentJointsLinks() to get the parent link - then applies the calculated rolling moment to that link

    • Technically, this shouldn't cause any problem for our model

  • Figured out how to print values running inside the plug-ins on the terminal using gzdbg which is a debugging serial print command for gazebo.

  • Wrote debug lines into the code at several points to test how it operates - Found that some of the serial print lines don't get printed on the terminal - Debugging that

  • Ubuntu root got corrupted and no application was running - Had to backup all the files and then reinstall 14.04 again and set everything up again from scratch

  • Talked to the person who is working on tilt-rotor SITL. He said that he tried modifying the plug-in but it didn't work. Have emailed him asking which all files he had modified and what results he obtained.

Daniel

  • Flight Tests

    • Improved yaw tracking performance by increasing proportional gain parameter (MC_YAW_P)

      • Still has more oscillation than IRIS, within ~ 5 degree envelope of target

        • Probably a limitation of the hardware (e.g. physical coupling of yaw and pitch via tail servo)

      • Yaw also has static offset (maybe due to unbalanced vehicle with extra camera on right arm)

    • Will try one more test with maximum yaw proportional gain, otherwise we'll assume +/- 2.5 degrees as operating range

  • Sensor Delivery State Machine

    • Moved to GitHub for better version tracking

    • Wrote code for 'ALIGN' state to update position setpoint based on image-processing

      • Ready to test on ELP camera once it is mounted and de-warped

    • Working on code for 'APPROACH' state to move forward/push with boom-prop

      • Requires some changes to MAVROS setpoint publisher (setpoint_position/local -> setpoint_raw/local)

      • Had to modify PX4 Firmware to allow software-controlled actuator

        • Changes documented on our "msral-purdue" fork of the Firmware

Arindam:

    • Printed the camera mount. The angle is adjustable to 0 to 37 degrees on either sides.

    • Created a program to get an undistorted image from the original warped frame of the elp camera.

    • But need to recalibrate it with a more leveled version of the chess board pattern.

June 15

Daniel

  • Odroid XU4 SD Card

    • Finished documentation for complete Linux Kernel Installation and Setup

    • Kernel Build includes drivers for the new ELP camera and all of our Netgear WiFi USB adapters

    • SD card has OpenCV 3.2.0 + opencv_contrib + OpenNI + Libfreenect

  • Mocap Timeout Issue

    • Finally resolved this issue

      • Several tests indicated that the timeouts were resulting due to noise/interference on the 2.4GHz frequency

        • The ESP8266 which sends the Vicon data straight to the Pixhawk uses 2.4 GHz, as does the DX8 RC transmitter, so publishing ROS topics and streaming vncserver/video data via the USB-WiFi adapter would increase interference on the line, causing timeouts

        • With the new Linux setup on the Odroid SD card, we can use a 5GHz WiFi adapter instead, which is 5x faster than the 2.4GHz adapter and also has zero noise/interference in the PBE lab

      • I've performed several flight tests with no mocap timeouts, and better OFFBOARD performance than before

  • Autonomous Flight Tests

    • Camera issues

      • The Logitech currently being used has a faulty connection to USB, so it keeps freezing and aborting the image processing program the moment the BoomCopter takes off.

      • With the new ELP camera, we get higher framerates, but a slight fish-eye effect.

        • We are currently checking to see if this adversely affects the target tracking, if not, we will transition to using the ELP camera instead

    • Position Hold Performance

      • Good performance in XYZ (within about 0.1 meters in each direction), but the Yaw performance thus far has been unacceptable (with 30+ degrees of error)

        • I am working on adjusting the yaw gains to get the yaw to line up with the commanded setpoint yaw.

        • Also still looking into texture size needed for PX4Flow, but need to do some tests with the camera

  • 3D Printer

    • Brought the Replicator 2X to Steve Florence's office in ME

      • We cleaned out both extruders and the left extruder now works well

      • The right extruder nozzle appears to be damaged (most likely it got jammed into the build plate or something)

        • Steve has a replacement nozzle and offered to fix it for us, but he has to take apart the whole extruder assembly so it will take some time, but he said it should be done this afternoon

Ganesh

  • Someone from the developer network contacted me. He was also facing the exact same issue with the back rotor. He tried rewriting the plugin file to get it working. But didn't work out either.

  • There exists an SITL simulator for Tiltrotor tricopter plane in ArduPilot firmware stack which runs but doesn't use Gazebo.

    • It opens up a GUI with the location of the UAV in the map and other flight data

    • Similar work exists for IRIS and other copters with Gazebo support (including a model file in a virtual envt.)

  • The ArduPilot firmware stack is different from PX4 in a lot of way but ultimately they both can be interfaced to MAVROS to run the same flight codes, irrespective of which stack the SITL uses

  • Reg. force sensor, found some relevant materials and doing gazebo plugin developer tutorials.

Bogdan Vlahov

    • Gripper

      • Set up Arduino code for grasping objects as well as accepting commands over a serial connection.

      • Started on a python script for ROS integration and have nearly finished the Arduino portion of the python script.

        • Read more ROS tutorials and integrate ROS communications to the python script

      • In terms of the grip itself, the current location of the force sensor does not always detect when an object is grasped.

        • I will continue to experiment with placement but I think using a longer force sensor on the stationary finger could provide better results.

      • Another improvement could be to use rubber finger tips to improve grip. I could also calibrate the force sensor to get the grip force in pounds.

Arindam:

  • Writing a program to offset the fisheye effect of the ELP camera.

  • Working on integrating the image tracking into some of the built in algorithms in opencv

June 8

Ganesh

  • Tried to fix the gazebo topics publishing issue:

    • Downgraded to gazebo6

    • Built gazebo from src in the same workspace

    • Didn't make any difference

  • Went through the code - debugging the model without seeing the motor speeds is the only option

  • The problem is with the 'multirotor_base_plugin'

    • What does it do?

      • The 'motor_model_plugin' simply gives the direction and RPM to the motor

      • 'multirotor_base_plugin' applies the forces/torque to the 'parent_link' based on the 'motor_speed'

      • This could be the reason why our model took off properly but went crazy later

  • Another important factor:

    • They model the propellers speeding up and slowing down as a first-order system based on the time_constant arguments. After building the model properly, we need to adjust these constants to better reflect the performance of our MAV.

  • The 'librotors_multirotor_base_plugin.so' is the lib-file that our model calls. It is built using the 'multirotor_base_plugin.cpp' and several other files from Gazebo and some math functions in the C++/include folder (Eigen, Ignition, math etc - over 500 .hh files inside these packages).

  • Searching for that piece of code which relates all these packages together - then the plan is to modify the force vector input to the parent link based on the servo angle.

  • For quick testing of the flight codes, it is possible to use the simulator to see if there is any mistake in the code as both quad-rotor and tri copters 'offboard' code will still be the same.

Arindam

  • Created a 3D model for a mount for the camera for the Boomcopter.

May 2017

May 25

Ganesh

  • Got a reply from the developers - told me to ignore the warnings - They didn't know why the gz topics are not getting published - should get published even with the warnings

  • Going through the c++ codes of the plugins - most likely have to rewrite the following plugins for our model:

    • Mavlink_interface

    • Motor model

  • Need to get a good understanding of the firmware tree

Daniel

  • Mocap Timeout Issue

    • Trying to isolate the source of the mocap timeout issue (to see if it is from WiFi interference, WiFi adapter stability problems, or some other source)

    • I can use the ESP8266 to send the mocap data to the BoomCopter with no timeouts, but if there is wireless traffic on the WiFi adapter, then mocaps occur, but at large intervals

    • The problem worsens if I publish ROS topics from the Odroid

  • Solar Outreach Project

May 17

Daniel

  • Odroid XU4

    • Setup / Installation

      • We ran into several problems with the SD card pre-loaded with Ubuntu 15.04 and ROS Jade (all of the non-basic ros packages and their dependencies had to be installed manually, and some had incompatibilities with the arm version of Linux)

      • Arindam and I found an Ubuntu 14.04 LTS SD card image for the Odroid and were able to install OpenCV 3 and ROS Indigo (to match all of our other systems)

      • We got the network interfaces (WiFi adapters) up and running and loaded all our custom ROS packages

  • BoomCopter + Odroid Integration

    • Vicon streaming

      • With the Iris we sent the Vicon data directly to the Pixhawk from the ThinkPad laptop (using ESP8266), but with the BoomCopter there is a different flow: ThinkPad publishes /vicon/pose topic, Odroid ROS package subscribes to /vicon/pose and republishes as /mavros/mocap/pose, which MAVROS streams to Pixhawk

      • I found a way to auto-start the ROS scripts so we don't have to log into the Odroid for basic flights, but am still working out some bugs with the WiFi adapter freezing (I think we just can't have it plugged into the USB 3.0 ports)

    • Flight Tests

      • I had some successful flight tests yesterday to test the Altitude and Position hold performance. The PID gains from the IRIS seemed to work well for Altitude hold.

      • Motion Capture Timeout Issues:

        • Occasionally getting "mocap timeout" message from Pixhawk indicating dropped Vicon packets, suspect we need new WiFi adapter

May 1

Tianqi

    • Need 188mm x 194mm x 76mm space to print it, should I print it in two parts or use the lager printer in ME lab?

Daniel

  • Autonomous Flight Prep

    • Flew several successful autonomous flights with IRIS+ going between two waypoints

    • Changed BoomCopter to run on PX4 flight stack, had a short flight to make sure it works

      • Will need to tune down the yaw sensitivity

    • Installed MAVROS on the BC's BBB and ported over the state machine code

      • Built a custom cable to connect the BBB UART to the Pixhawk Serial4 port

        • Everything now runs on the BBB

          • Keep getting occasional mocap timeouts (possible bandwidth issue with wireless links)

          • Once I figure out the timeout issue I'll tune the altitude and position control gains on the boomcopter and then try the autonomous waypoint following

    • Dell Projector Lamp Info...

      • Model: M409WX. Found 2 options from Dell on Amazon:

      • $75.19

      • $135.00

      • For reference, comparable new projectors range are about $300 and up depending on brand/quality...

April 2017

April 24

Ganesh

    • Met with Daniel to sort out the firmware issues that caused the unstable flight

      • Issues (Solved):

        • By default, the SITL simulation starts in QUAD mode and cannot be changed through QGroundControl software - We changed the mode to use Y+ mixer file and other parameters

        • By default, it loads iris model and world file - We have changed to BoomCopter and its world

        • Have figured where the flight params can be changed in the firmware for SITL.

    • Debugged some of the issues in the firmware - Going through the code to fix the remaining issues

      • Issues (Remaining):

        • Servo link not working as expected in the model - The 'Y airframe' mixer needs to provide inputs to the servo as well for smooth flight

        • Need to use a different plugin for servo motor (Brushless DC motor plugin doesn't have angle limitations and direction changing commands - which we need in the servo)

        • PID gains needs to be changed for our mode

Che Kun

  • New soldered PCB board is more stable, occasionally freezes

    • All previous hardware works on new PCB, except IMU

    • IMU does not work on new PCB

      • Erratic jumps on sensor values

      • PCB connection to BBB headers are fine

        • Suspected cause is some sort of interference leading to signal corruption

      • Direct connection to BBB headers works

      • Soldered header pins on a separate strip board for IMU to have direct connection with BBB headers

    • CAD

      • 3D printer extruder struck (Where you fit in the filament)

    • To Do

      • Heading alignment test

      • GPS navigation test

Jason Lee

    • Completed mounting design of the robot claw on a 0.6in boom.

    • Moving forward: reduce weight of the device and making design changes and look into other software alternatives for interrupts.

Arindam

    • Got an estimate of the x, y and z position from the target patch.

    • The error in distance estimate is lower in the x direction than in y. Error increases with the distance.

    • Usable range of this estimate in 40 cm to 180 cm from the target patch. Error in this range is 0 to 5cm.

    • Need to 3D print a mount for the camera.

April 17

Daniel

    • Autonomous Sensor Mounting

      • Working on tuning gains for Altitude and Position Control

      • I was able to improve the Altitude Control so it isn't quite so bouncy

      • The differences are more easily seen during the actual flights, but below are some plots comparing the velocity errors

      • Left: Original settings, Right: Tuned gains. Really the only noticeable difference in the flight logs is the lower velocity errors, but when visually observing the flights, the current gains feel more steady.

      • Currently working on tuning the XY position gains

Ganesh

    • Got the IMU sensor working properly

    • Solved jitter issues and other instability issues.

    • Only the firmware (I think) needs to be modified similar to the one used in the real-life BoomCopter.

    • Discussed with Daniel. Will meet during this week to get the firmware params and flight modes right.

Tianqi

    • Revised shell design

Karl Ang

Plans for wrapping up:

    • Compile all gripper designs

    • Update latest Instructions book for MarkOne

Che Kun

    • Soldered new AgBug PCB board

      • New PCB board with BBB does not freeze

      • To perform validate PCB connections with previous working codes (IMU, GPS, motor) and then test navigation with GPS

    • Sharp IR sensor working in ROS

      • Able to get a distance output

    • CAD

      • Redesigned AgBug chassis to be bigger

      • Printed lower half of the frame

      • To include slot for Sharp IR sensor for upper frame

Arindam

    • There was noise in the data used for calculating the distance from the size of the patch. This is because the label stickers used as distance markers on the ground were not accurately positioned. And also, every time the boom-copter is positioned in a new place there were variations in the yaw angle. So a new set of data is collected using the vicon markers to locate the position. The collected data is much cleaner.

    • Collecting data for measuring lateral movements.

April 10

Daniel

    • PX4 Flight Stack

      • Working on stabilizing Altitude Control mode by tuning Z position and velocity gains

      • Found some discussions on the PX4 forum with similar altitude issues, so it may be an issue with the current firmware version

      • I made some progress in stabilizing the altitude, and I have collected a lot of flight data to analyze which should help lead to even better performance

      • Below are some altitude (Z position) plots from the flight logs.

      • Key: Red = setpoint, Blue = actual altitude. Left plot = original gains, Right plot = preliminary tuning of Z velocity controller integral gain

    • ME 290 Tours

      • 3 tours this week: Tue., Wed., Thur. About 10 mins. per group

      • Planning to do the usual PBE and poster discussion and then show some videos

Jason Lee

    • Force sensor mounting prototype employs springs and a 3D printed part.

      • The mounting mechanism disrupts natural gripping of the claw. This can be alleviated by using 1 spring and a shorter adapter.

    • Software

      • To allow sensors to run continuously in the background, interrupts are being looked at.

Che Kun

    • BBB Freezing - 3 Possible solutions

      • Change Kernel (3.8 -> 3.12) - Device tree ovelay may change

      • CPUfreq utility - Tried, doesn't work

      • dmesg (Device message) -

        • Device freezes, unable log the latest device error (if any) which froze it

        • Not possible to tell if it is due to a hardware driver

  • Sharp IR Sensor working in BBB

    • To characterize sensor performance by getting best fit line and linearizing area of interest

      • So as to get linear relationship between Distance of Output Voltage of Sensor

      • To Do

        • Daniel's suggestion to use 2 best fit lines too get more precision in the mapping between distance and output voltage

From datasheet

Best fit line to get linear relationship between Distance of Output Voltage of Sensor

Tianqi

April 3

Daniel

    • Vicon System

      • Determined that 3 cameras are defective

        • Unplugged the defective cameras, left cameras in original mounting position

      • Recalibrated system with 9 cameras, and got all pixel errors very low

        • Subject tracking is smooth throughout the workspace

      • If we are ok with the current performance, we can go ahead and remove scaffolding

    • IRIS+

      • Replaced the Pixhawk in the IRIS_2 due to bad gyro errors, ready for a test flight

    • Sensor Mounting

      • Now that Vicon is working again, ready to move forward with position hold testing

      • After Position/Altitude Hold Performance is tuned to satisfaction, will incrementally test state machine

        • Autonomously command vehicle position, activate image processing, turn on Boom-prop, etc.

    • Filming setup

      • What should we plan to demonstrate in the videos?

      • Printed some spare push-to-release-mechanism attachment knobs in case one breaks

Che Kun

    • Sharp IR sensor analog voltage > 1.8V ADC limit of BBB

      • 15cm > Distance > 5cm

    • Wrote code for IMU alignment and moving forward

      • To validate with hardware

      • Unknown hardware error when with Agbug PCB

        • BBB sometimes freezes

        • Swapped new BBB to use with Agbug PCB, but error still occurs

    • Looked up motion planning algorithms for future use

      • Discrete Cell Decomposition: Dijkstra, A*

      • Potential Fields

      • Sampling-based planning methods seem to be the state of art

        • PRM (Probabilisitc Roadmap), RRT (Rapidly-exploring random tree)

        • ROS - Open Motion Planning Library (OMPL) available in MoveIt

        • To explore if MoveIt can work in BBB

Jason Lee

    • Force sensor did not register analog response when tested with cylindrical object.

      • The amount of force exerted by the cylinder onto the force sensor is less than 100g.

    • Currently experimenting with flex sensors and its potential.

Arindam

    • Got an estimated distance of the target along the x-axis from the size of the image patch.

    • The measurement accuracy is +/- 2 cm in a distance range of 45 cm to 200 cm.

    • The resolution of the measurement is also 2 cm.

March 2017

March 27

Daniel

  • Vicon Status

      • Attended scaffolding training this morning with Arindam

      • Ron is trying to get some red/green tags from REM, otherwise he'll buy some

      • Once we have the tags, we will set up a call with Vicon support and finish focusing the cameras

  • Tour summaries

      • Tour on Friday for Roshni (prospective grad student) went well

      • Monday tours went well, lots of interest/good questions from the visiting sophomores

  • Sensor Mounting

      • Designed an Extended State Machine (ESM) for the autonomous sensor mounting

        • See LucidCharts diagram

      • Implemented the ESM in Python

        • State & Trigger classes allow for event-driven state changes

        • Ths should be able to run either on ground station computer or onboard the BBB

        • Once Vicon is ready, will test first state "Moving to Near-Target Position"

      • Optical Flow position hold

        • Having stability issues, vehicle flying off course

        • The flow data seems pretty good in the Vicon room, suspect failed Gyro sensor on IRIS+ Pixhawk

          • Will swap out Pixhawk to see if stability improves

    • BC v3 Motors

      • Found 2-3 strong candidates for main motors on new BoomCopter

      • Recommend 10 - 11" propellers with Multistar Elite 4006 740 Kv Motor motor

      • Made simple excel spreadsheet to verify our previous estimates of all-up vehicle weight

      • Sent motor links to Tianqi

Karl

M1_Mat1:

Working Principle of Mat1

Stress Analysis of Mat with 3 mm thick base

Ganesh

  • Added chassis, motor, landing gear and BoomProp's (in Tianqi's new model) physical properties - COM, Mass etc. on solidworks

  • Whole assembly in 6 parts.

  • Trying out different conversion settings in the SolidWorks plugin to get the model's properties right.

  • Doing the same process of conversion (Solidworks Plugin) and modifying the generated SDF code to get the physics of the model right.

  • After getting the code right,

    • Tuning the controller - locking servo and boomprop temporarily

    • Introduce Servo and BoomProp one by one

      • Interfacing the Virtual vehicle with QGC and ROS

Tianqi

    • Made landing gear for Ganesh's model

    • Need to know what else will be added to the new chassis

Jason Lee

  • Arduino Uno encountered slow upload rate issue

    • Troubleshoot: antivirus, ports, update drivers, reinstall Arduino IDE

    • Conclusion: Personal Arduino Uno faulty and resorted to using Che Kun's Arduino.

  • Calibrated force sensor by fitting line of best fit through set of data points of analog value vs load (g) applied.

  • Depending on the applied load range (g), software chooses the appropriate best fit line to predict analog value.

Che Kun

  • Solved BBB wifi issue

    • Used a wpa_supplicant file with /etc/network/interface file

  • Changed /etc/network/interface code to use a wpa_supplicant file and some other parameters in the file

    • auto wlan2 -> allow-hotplug wlan2

      • iface wlan2 inet dhcp -> dhcp -> iface wlan2 inet manual

    • To backup current AgBug image in case of similar incidents in the future

Arindam

    • Able to track the known pattern. This is using the logistic regression model.

    • Working on finding a way to track unknown pattern, with limited training.

March 20

Jason Lee

    • Enabled servo motor to halt drawing current from battery upon completion of motion using servo.detach(). After servo motor completes task, it temporarily shuts down when servo.detach() is called until re-activated using servo.attach(pin number).

  • Manipulated servo motor rotation speed using for loops and delay functions.

- The flowchart below explains the function of the code.

- video (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds) (YT: Variable Servo Speed using for loops and servo.writeMicroseconds)

- Github

  • VarSpeedServo library

- Library was experimented where servo.write( value, speed, boolean) was utilized in code. However, servo.write(value, speed, boolean) only accepted angle values (not pulse values in microseconds), the result was inaccurate and the library was abandoned.

    • Force sensitive resistor

- detects physical pressure, squeezing and weight and changes the out resistive value in ohms.

Ganesh

Tianqi

Next step:

  • Print/use the 3DR drone landing legs

  • Print the parts for connecting Karl's click mechanism and the camera

  • Will use the original motors (from the turnigy tricopter) for now

Che Kun

  • Wifi issues

    • Previous wifi adapter spoilt

      • Tested on 2 different BBBs, unable to detect device

      • 2 spare wifi adapters work with BBB (TurtleBot) but not BBB (AgBug)

        • Likely wifi related software issue

        • Likely not hardware as swapped SDcard card to BBB (TurtleBot) and still not working

    • Wrote code for heading alignment for IMU

    • To Do

      • Debug wifi software issue

      • IMU code

Arindam:

  • Recorded a video with the patch on the wall. The properties of the target pattern from this patch will be fed into a logistic regression model.

  • The output of this model will give a measure of the probability of whether the correct pattern is detected or not.

Karl Jin

  • Created a M1 model. It is a modification to C1.

  • C1 is too bulky and is unfeasible for picking up Agbug. To implement C1, Agbug will have to be very large.

  • M1 operates based on similar principles as C1

  • Advantage of M1: operation is very simple

March 13

Che Kun

  • MPU 9250 IMU outputs angles correctly after IMU calibration

  • Written code to publish/subscribe IMU data over ROS

    • Soldered wire underneath PCB to connect 3.3V line to IMU Vcc

    • Currently writing code for closed loop control with IMU

Daniel

    • Purdue Drone Policy Update

    • Compiled all related documents in one place

      • For indoor operations, we just need to submit Drone Notification Form(s) to Risk Management

      • For outdoor operations will need CoW or CoA from FAA

        • Looking into possibility of “tagging on” to an existing CoA, but seems unlikely

  • Automated Sensor Mounting

      • Next steps for software:

        • Write event-based ROS node to respond to OFFBOARD switch

        • Send position and yaw setpoints and check vehicle response time

        • Test RC override commands to activate boom-prop, verify safety mechanisms

        • Try out multiple forward motion options

          • Update setpoints in forward direction only (cur pos, or feed forward based on BP vel)

          • Move forward with BP in altHold mode, see how much left/right drift occurs

  • Vicon Cameras

      • Bob will talk with Ron about scaffolding tomorrow and then build it within a few days

        • Need account number for this

      • Once the scaffolding is up Arindam and I can get trained and use it as much as we need, then have them take it down when we’re done

March 6

Ganesh

Karl Jin Ang

    • Gripper integrated with the boomcopter.

    • The smoothened female grippers have less friction. However, due to some dimension alteration caused by acetone, the hooks does not follow the proper path and backtracks.

Che Kun

  • IMU working

    • Able to detect MPU 9150 (Old IMU)

    • Able to detect MPU 9250 (New IMU)

  • Isolated previous fault

    • PCB 3.3V line not connected to pin used for IMU Vcc

    • Error found in PCB schematic

    • Old IMU code (MPU 9150) does not compute orientation

      • Angular Velocity

      • Angular Acceleration

    • New IMU (MPU 9250) code able to run in ROS

      • Able to compute orientation (Roll, Pitch, Yaw)

      • Orientation issues

        • Turning 90 degrees yield 60 degrees change in rotation (LHS)

    • To Do

      • IMU calibration

      • Write software filter to compensate

      • Look into code in library to see how orientation is computed

      • Solder wire underneath PCB to connect 3.3V line to IMU Vcc

      • Closed loop control of AgBug with IMU complete a square

      • Path planning code (GPS + IMU)

Arindam

    • Pixycam is able to detect objects based on color, but it is not accessible as a usb camera. Hence it cannot be accessed through opencv.

    • Looking for other usb cameras with higher frame rates. Industrial usb webcams may be an option.usb webcams may be an option.usb cameras with higher frame rates. Industrial usb webcams may be an option.usb cameras with higher frame rates. Industrial usb webcams may be an option.usb webcams may be an option.usb cameras with higher frame rates. Industrial usb webcams may be an option.

February 2017

February 27

Jason Lee

  • Link: https://www.youtube.com/watch?v=lnyVjjiDWq4

    • Claw Weight: 336g vs Yale Claw: 375g

    • Percent Infill: 12%

    • Uneven rotation resolved but replacing screws with polymer wire.

    • Moving Forward: Optimization of software and mechanical design.

Daniel

  • Tours

    • Feb. 24 (next Friday) Grad recruitment & FIRST high schoolers

      • The tours and the demo went well

    • Mar. 27 (Monday)

        • Engineering sophomores from other universities

        • 1:45 - 3:30

    • Issues in High Bay Area:

      • 2nd pair of wire cutters (red handle) missing

      • IRIS+ screws (3 x SS, button-head screws ~M2 or M3) missing

        • Were on top of middle black drawers on north workbench

      • Need to clean up 3D printing messes, especially e.g. spills of desiccant packets

      • Soldering Iron training?

  • Autonomous Sensor Mounting

      • Finished building ESP8266 adapter boards & power supply connectors

      • Made a ROS package that streams Vicon data to ROS topic @ 120 Hz

      • Working on configuring mavros to stream ONLY the Vicon data to Pixhawk

      • Will do test flight with IRIS to verify Vicon data in flight logs

        • This requires change to PX4 flight stack

      • Next:

        • Test AltHold & PosHold mode with Vicon data

        • Test state-change (e.g. into OFFBOARD mode) event handling with ROS

        • Send position commands from ROS

Ganesh

  • BoomCopter model - complete with Mass/COM/Inertia/Collision properties

    • Collision (Orange in the figure) - changed from box model to overlap the exact dimensions of the vehicle

    • Not perfect but definitely more accurate than the box model

    • Half way into integrating the basic sensors and defining the rotors for the PX4 firmware to recognize (debugging)

    • Adding more lines of code to the SDF file for the PX4 firmware to take over the robot controls

    • Using the plugins for IMU/Rotors from existing models - trying to incorporate that into BoomCopter's SDF

Modifying PX4 simulator package's launch & world files to take to accommodate BoomCopter.

Che Kun

  • GPS Lat/Long to UTM conversion code working

  • Validated results with Google Maps

  • GPS coordinates from recorded data

    • Lat/Long

        • 40.4222833333, -86.92021 (More Right)

        • 40.4222183333, -86.9203116667 (More Left)

      • UTM

        • x: 506768.71052036894, y: 4474631.308293675

        • x: 506760.092484, y: 4474624.08606

      • Measured Difference in coordinates (Google Maps)

        • x: 8.51 m, y: 7.27 m

      • Calculated Difference in coordinates (UTM code)

        • x: 8.618036 m, y: 7.22268000059 m

      • Error

        • x: 0.101924 m, y: 0.03731999941 m

            • Horizontal Distance Vertical Distance

    • Next steps:

      • To measure steady state GPS fluctuations/drift at at fixed point/coordinate

    • New IMU (MPU 9250) Testing

      • Tested with BBB, Arduino

      • Unable to detect device in BBB using ic2detect function

      • Arduino reports wrong I2C address: Unable to output IMU readings

      • To check if SDA/SCL (I2C) pins on BBB are working fine

      • To try another different library for Arduino to test device functionality

Tianqi

  • All arm prints finished (include the stress test arms)

  • Need to laser cut the body plates

Arindam

    • Tracking is working when target is moving slowly, but during fast movement it is losing track.

    • Having some issues in the pixycam software update. The camera is detected, but then it is throwing an error.

February 20

Ganesh

  • Errors in the physics of the model generated by the the SolidWorks pluginthe SolidWorks plugin

    • Center of mass of the individual parts in wrong locations, caused the tipping and eventually resulting in the model to roll

      • Modifying the COM in the SolidWorks assembly/part files didn't work either - model went crazy.

      • Calculated the Inertial matrix, COM coordinates and mass for individual parts using MeshLab.coordinates and mass for individual parts using MeshLab.

      • Manually wrote the 'sdf' model file using a template file with these values. sdf' model file using a template file with these values.

      • Model is now quite stable, needs more tuning of these values - https://youtu.be/DN4408KA41o

    • Solidworks plugin error in coding the joint limits - added a section in the sdf file to limit the joint angles

Che Kun

    • Found ROS code for conversion of GPS coordinates from MGRS to UTM format

      • Working on integrating it into AgBug

    • Found C++ and ROS code to interface with new IMU

      • Successfully compiled C++ code

      • To test ROS code

Arindam

    • Used opencv to detect an approximate QR core pattern. But still not getting enough speed.

    • Checking if the pixycam will be suitable for use.

Karl Jin Ang

  • Built an equipment that can smoothen ABS parts

  • Successfully smoothened an ABS part with equipment.

February 8

Daniel

    • IDETC Paper

    • Finished 1st draft and figures

    • Working on Proof-reading

  • Upcoming Tours

    • Feb. 24 (next Friday) Grad recruitment & FIRST high schoolers

      • Plans so far:

        • Poster on display

        • Turtlebots in follow mode with UAVs and AgBug on display

        • Videos: Door opening & Sensor placement

        • Possibly:

          • Have Turtlebots use our custom image detection for object following to show what BC will be doing

  • Autonomous Sensor Mounting

    • Working on a Linux program to read Vicon and send MAVLink commands to Pixhawk

    • Planning Test flights with Optical flow on IRIS

Arindam

  • The meanshift algorithm is losing track of the target when it moves too fast or goes out of the frame. The boundary drawn around the target is also not changing with the size of the target as the vehicle moves closer.

  • Trying to track the target by dynamically updating the image. Also looking into another version of the algorithm called the Camshift algorithm, that can resize the boundary around the target automatically.

    • Trying to incorporate some other feature detection along side with the meanshift so that the tracking becomes more robust.

Tianqi

  • Arm dimensions checked and printed

  • Chassis plates are ready to print

  • Will try to assemble the arms this week and print another one for stress test

February 6

Karl Jin Ang

Bending Moment Test on Side Arm Results:

Bending Test Experiment Setup:

Smoothening

I am experimenting with a setup that uses Acetone to smooth parts. This is not a new idea; many people in the FDM 3D printing world has tried this. The idea is to place the printed part in an enclosed space filled with acetone-soaked paper towels. The acetone vapor dissolves the rough surface of the part and producing a smooth finish. Image of the setup is shown below.

Force test on Gripper C1:

    • Test carried out on unsmooth part

    • Hooks broke during test. Catastrophic failure @ 34 N.test. Catastrophic failure @ 34 N.

    • Conclusions:

      • Weight of agbug must be at least 7.6 N

      • ABS is not a suitable material for the hooks.

Jason Lee

  • Completed servo motor housing for wrist movement. [ Incomplete link: http://a360.co/2lgUTuq]

  • Printed most of the CAD parts. Some failed to print due to user error: the filament spool was installed in the wrong direction.

    • Moving forward:

      • 3D print and assembly all the parts by the end of the week.

      • Drill holes for tendon routing at machine shop by the end of the week.

Ganesh

  • Modified the BoomCopter model with Tianqi to reduce the number of joints for quicker simulation

  • Using the SolidWorks add-on, created the URDF tree:

    • Baselink

      • Revolute MOTOR_BACK

        • PROP_BACK

      • PROP_LEFT

      • PROP_RIGHT

  • Entered the link properties

  • Created Collision model - required for interacting with the environment

  • Successfully generated URDF file - Imported into Gazebo Environment - Links and Joints working as expected

    • https://www.youtube.com/watch?v=IKl9nR0nTdI

  • Issue with CoG. Studying the causes from documentation and codes to understand simulation physics.

Tianqi Ye

    • Boomprop arm revised

    • 16 % carbon fiber printing

  • Carbon fiber sheet received

Che Kun

    • IMU Testing

      • Tested IMU with Arduino - Not working

      • With BBB - I2C device detect prog (i2cdetect) - Device address not shown (i.e: No I2C connection present)

      • To purchase new IMU

        • MPU-9250 - Newer version of current IMU, has compatible pin configuration with current PCB

        • https://www.sparkfun.com/products/13762

        • 9 DoF Sensor Stick (LSM9DS1) - Compatible pin configuration with current PCB

        • https://www.sparkfun.com/products/13944

    • Desolder IMU on old BBB prototype to test if it is an IMU hardware issue

  • Transferred BBB to new chassis

Arindam

  • Detected the features of an image using the SIFT algorithm, but it seems to slow.

  • Working on using the Meanshift algorithm that uses histogram matching to detect features.

  • Working on how to match these features with a live camera feed.

January 2017

January 30

Karl Ang

Completed a flight test with AR drone:

    • Result: Unsuccessful in executing a pick up with the C2 gripper.

  • Reasons for failure:

    • There is a lot of latency with the video feed, thus difficult to use the video as an aiming instrument. We had to visually attempt to dock the C2 gripper.

    • AR drone has distance sensors underneath, preventing it from reaching down to the ground while blades were running. We had to kill the power to make the drone land.

    • Conclusion:

      • AR drone is unsuited for the tests.

      • The drones that we are developing cannot have manual video feed docking.

Characterization tests with the C2 gripper this week:

    • Design parameters to be acquired:

      • The force required to push into C2 female.C2 female.

      • The minimum and maximum weight of the object that is to be picked up

Tianqi

    • Carbon fiber sheet order placed

    • Boomprop arm revised

    • New side arm printed

Ganesh

  • RotorS simulator from ethz-asl (different from hector_quadrotor - more elementary)

    • PX4 and APM - modified versions of these packages

    • IMU, Odometry sensor and VI sensor (stereo camera) modules included

      • Sensor noise models integrated into sensors for realism

      • Ground truth for the sensors are also available for evaluation

      • State Estimation algorithm - position, linear and angular velocities are known.

  • Plan of action:

      • Selecting the model

        • Build our own model - Boomcopter (Need to take new files from Tianqi)

          • Baselink

          • Servo link x 1

          • Prop link x 3

      • Attach sensors to the model

        • Use the Xacro for the sensors in the RotorS package for IMU and Odometry sensor

        • Use external plugins for additional sensors

      • Add a controller to the model

        • Can't use the default controller with RotorS package - based on AscTec Firefly

        • Need to replicate the PX4 controller from their Simulator package

      • Add state estimator for the controller

        • initially use the ideal sensor data as input for controller

        • Noise models later on - MSF etc. to tackle that

      • Add joystick control directly from RotorS package (tested with pre-built MAVs - working)

Jason Lee

  • Ordered and received Mcmaster-carr parts.

  • Ordered placed for power HD high torque servo from vendor Pololu.

  • Finished 3D printing thumb of robotic claw. robotic claw.

    • Successfully embedded m3 nuts in the thumb to provide threading for bolts.

    • Design can be improved by placing tighter dimension for m3 nuts.

  • Moving forward: finish design for wrist actuator housing and 3D printing of the rest of the claw.

Che Kun

  • AgBug Trajectory testing

    • Drawing a square

    • Open Loop Control with time used to control motion

    • Video 1 - 1 motor not working

    • Video 2 - All motors working

      • https://youtu.be/GV0NQOJstVg

      • To perform closed loop control by incorporating IMU data

    • Camera Test

      • Camera working when moving Agbug with hands around the lab

        • Slight latency

      • When moving in a square path with motors running

        • Same issue as before that is camera image is struck at the initial frame

          • Floor on Herrick lab

January 23

Karl Jin Ang

  • Finished the Male Assembly. Ready for test flight.test flight.

  • Met Mr Sherwood regarding bending test on the side arm.

    • His machine is capable to do a three point test on the side arm but requires the three point fixture which he does not have.

    • Alternative would be to do our own test by clamping/bolting the side arm at one end and add weights to the other end of side arm until failure.

Che Kun

  • Motor code

      • Implemented new teleop code for "stop" functionality when no command input

      • All movement directions of motor code correct

      • 1 motor connection disconnected during testing (Back Right)

        • To resolder

  • Ultrasonic sensors

    • Tested MaxBotiz sensor on Arduino to ensure sensor is working

    • Tested HC-SR04 senor on Arduino to ensure sensor is working

    • Working on Serial comms code for Arduino Pro Mini -> BBB communication

  • Camera

    • Still significant latency

    • Camera with teleop, significant latency

    • Tested with longer camera cable - Working

    • To order new camera cable

    • GPS

      • Device testing with Arduino to ensure no hardware faults

      • Managed to get a GPS fix after several minutes

      • Obtained location outside Herrick lab (Close enough to where I was, outside of High Bay area)

        • +40 25.3557’, -086 55.2198’

Tianqi Ye

  • Arm CAD revised

    • Carbon fiber sheet

https://hobbyking.com/en_us/woven-carbon-fiber-sheet-300x100-1-5mm-thick.html

http://www.ebay.com/itm/RC-Woven-Carbon-Fiber-Sheet-300x100-2-0MM-Thick-/262428349060?hash=item3d19f2d284:g:tF4AAOSwiONYLrJI

Arindam

    • Finished the assembly.

    • Finished the KCF report.

Jason Lee

    • Finished BOM. Pending discussion with team regarding cost breakdown.

January 12

Ganesh

  • Edited Tianqi's model for initial simulation

    • Removed boomprop and battery cabinet

    • Basic tricopter simulation using existing modules

    • PX4 stack

  • Completed ROS and Gazebo intgration tutorials

    • Creating SDF/URDF models

    • Subscribe/Publish on ROS nodes

Daniel

  • Designed end-effector assembly in Solidworks

    • 3D-printed 3 pieces: Clamp, Slot, and Sled

    • The rails glide very smoothly with very little play and no binding

    • Estimating payload width/height within ~ 50cm (2 in.)

    • Still waiting for 2nd Push-latch from McMaster, but will take current latch apart today to reverse-engineer it

  • Lidar & PX4Flow

    • Designed and 3D-printed mount for IRIS+

    • Working on wiring both devices to the Pixhawk inside IRIS+

    • PWM mode is preferred for LIDAR, but not working so far... will use I2C if needed, but this requires large capacitors

  • Sensor Wiring

    • Decided to use Arduino Pro Mini to handle all sensor input

      • Has a USB/UART-accessible serial interface for easy customization

      • Collects all sensor data and streams it efficiently (binary) on serial port

      • Will allow for use of Beaglebone or Odroid without having to deal with the custom libraries for handling I/O on each platform

  • Vicon DataStream

    • Planning to convert to ROS package and use MAVROS to send pose as MAVLink messages (on IRIS+)

    • When switch to BC, may need to use Telem4 for XBee connection so companion computer can connect to Telem2.. or could just hook companion computer to Telem2… not sure yet

Che Kun

  • Motor code

    • Fixed Turning Right command which was slightly off due to incorrect (opposite) wiring connection on one motor previously

      • Exploring new teleop code to implement "stop" functionality

    • Camera

      • Tested camera latency

      • Less latency when nearer to lab wifi router

      • Unable to see camera output directly on monitor with BBB connected on HDMI (Possibly due to UbuntuARM distrib used)

    • GPS

      • Tested GPS outside Herrick lab

      • Unable to get a fix on GPS when testing at 2 different locations

January 5

Karl Jin Ang

Created a new concept of a gripper. I have created the first prototype, called Gripper C1 (Clinger 1). Its function is similar to the previous V-series Grippers: to grab and release an object by using only linear forward and backward motion.

This design is more reliable such that it does not jam so easily as the V-series. It has fewer ABS plastic moving parts that are in contact with each other, thus reducing friction and smoother performance. It has two main parts: Male and female sub-assembly.

The red is Male sub-assembly and grey is Female Sub-assembly.

The first push of the Male shaft into the female, which has grooves on its inner surface, will guide the Hooks (part of the male) to the locking position. The second push will lead the Hooks out of the path and to the exit. There are ramps in the grooves that prevents the back-tracing of the hooks in the path. See image below.

    • Detected both the model and the real stairs. Combined the programs into one code.

December 8

Lexi

  • Ran thrust tests for new Turnigy 840 kV motor

  • At 50% throttle, this motor with the 3 blade propeller would not generate enough force to take off when the weight is 2.5 kg

  • In order to achieve takeoff at 50% throttle with a weight of 2.5 kg, a propeller of at least 12 in will be needed.

Che Kun

  • Motor code working

    • Turning Right command is slightly off due to incorrect (opposite) wiring connection on one motor

      • Will fix it on software side

  • IMU

    • I2C write error still present

    • Likely not due to hardware issue due to improper connections as BBB is able to interface with motor driver

Grant

  • Continued working on arduino based AgBug but cannot determine problem with operation (wiring, code)

  • Plan to complete wheel tests using actual AgBug

    • Have test plan

    • 3 different wheels

  • Finishing Semester Report (Due next week)

Karl Jin Ang

  • Currently learning about the Pareto efficiency

    • Trying to find a metric that can represent friction for the Pareto efficiency

    • Have beginning creating CAD model of the male X2; requires the final dimensions acquired from Pareto Efficiency Analysis

Arindam

    • Refined the stairs detection algorithm so that it can keep detecting stairs continuously as we climb down. https://youtu.be/IYZqW-zHM3w

    • Kinect is mounted at 88 cm from the ground level, at an angle of 45 degrees with the horizontal.

    • Modify the code for detecting the model stairs. What should be the height from which it needs to be detected?

    • Do we need to detect real stairs going up as well?

December 1

Daniel

  • Decided to try PX4 flight stack for Vicon control

    • Optical flow should be able to help stabilize further if Vicon has some drift

        • HK: https://hobbyking.com/en_us/hk-pilot32-optical-flow-kit-with-sonar.html (not pin compatible)

        • GFPV: http://www.getfpv.com/holybro-px4flow-kit-v1-31.html (Holybro brand)

        • Use of laser for altitude measurement is most recommended, but Sonar may also be used

  • Need to modify Vicon DataStreamer to use MAVLink protocol

    • May want to switch to a Wi-Fi link and use UDP to send Vicon packets to get higher stream rate

Che Kun

  • Debugging motor code on BBB

    • Enabled relevant permissions to solve GPIO permissions error

    • New error regarding device tree overlay for BBB cape

Ganesh

Karl Jin

- Identified Governing Equations Related to the dimensioning of the clicker mechanism.

- Application: Use these governing equations to find the smallest possible clicker dimension for new grippers.

- Failed to find a mathematical solutions to the optimization of the dimensions. I plan to use a brute force method to find a optimum.

- There are multiple optimum conditions with different variations of dimensional values.

Arindam

    • Able to detect the steps in the downward moving stairs using a linear regression model.

    • Worked on the training set, and some test samples.

    • Working on testing in real time.

Grant

    • Continued assembling "testing ag bug"

    • Need to adapt code to new pin positions

    • Creating summary report of semesters work

Lexi

    • Found motor for 3 blade propeller that gives ~47% throttle for takeoff

      • http://www.ebay.com/itm/RC-Turnigy-Aerodrive-SK3-3548-840kv-Brushless-Outrunner-Motor-/281861259525

      • https://www.amazon.com/Turnigy-Aerodrive-3548-840kv-Brushless-Outrunner/dp/B01876Q6SI

      • Need max 40 A ESC, possible smaller one based on testing

      • Order one motor so that testing can be done to make sure combination is strong enough

November 2016

November 17

Grant

  • Printed full set of wheels (4), will need to reprint 1 because of printer error

  • Assembling Ag bug testing rig

  • Finishing Code and troubleshooting

Che Kun

  • Completed hardware setup on AgBug

  • Able to power Agbug from lipo battery

  • Sub-System Testing

    • Camera: Working

      • Sluggish video streaming perhaps due to network latency

    • IMU: I2C write error

      • To further debug

      • GPS: Preliminary test shows no errors

        • To run minicom to decode GPS coordinates and verify that the values are appropiate.

    • Motors: Error in motor code (pin initialization code)

      • Isolated source of pin initialization error to be either

        • permissions error

        • non-existent/invalid pins on BBB being initialized

      • To check with PCB/actual hardware which pins are to be initialized and look into permissions error.

Tianqi

  • Still working on 3d printing frame parts.

Lexi

    • Using 2.5 kg for the weight, the Tiger Motor MT2820 should be used with the 3 blade propellers. This will use ~55% throttle to take off and requires a 40 A ESC.

      • http://www.rctigermotor.com/html/2013/Professional_0912/47.html

  • In order to gain a lower throttle for takeoff while still keeping the current relatively low, larger propellers will need to be used.

Arindam

    • Collected sample images of stairs in the following configurations:

      • Distance from the stairs: 1 m ; Angle of camera: 30 deg

      • Distance from the stairs: 1 m ; Angle of camera: 45 deg

      • Distance from the stairs: 0.5 m ; Angle of camera: 45 deg

      • Each of the 3 sets has 30 pairs of rgb and depth image. Height of the camera from the ground was 90 cm

    • Mounted the kinect on a turtlebot in a similar configuration for testing with real stairs.

    • Prepared a list of components to buy.

November 10

Grant

  • Finished printing 5-lobe wheel (will add picture)

  • Working on testing rig hardware

  • Ordering other test wheels

Ganesh

    • Found a plugin to convert the SolidWorks assembly files to UDRF format - Unable to open the SOLIDPART/ASM files on SolidWorks (Mac? Version issue?)

    • Can I take files from Tianqi for the end effector model?

    • Watching tutorials how to manually define links in Gazebo using the plugin

    • Learning how to perform rotor simulation on Gazebo to create a UAV using the BoomCopter frame and endeffector

Karl Ang

Completed a Mathematical Model that characterizes the dimensions for Rotating Rack, Upper Driver and Tube (slots) based on Push Distance, Y (displacement required to cause the click), Contracted Distance, H (displacement from extended state (spring extended) and contracted state (spring compressed)), Diameter of Tube, D, Spring Compressed Length (L_o) and Spring Natural Length (L).

  • Uses of this Model:

    • Quickly calculate new dimensions of Clicker Parts by adjusting several parameters (bolded) that will suit needs

    • Find the limits of Y, H and D for a working Clicker.

    • Find suitable dimensions for the X1 based on the limitations of Y, H and D.

  • Results/Outcomes:

    • The model was very useful in generating dimensions for clicker parts based on parameters.

      • The model only utilizes geometric properties of the clicker. With the model based on geometry, it is impossible to optimize as there is an overly very wide parameter values that can work. Dynamic elements of the clicker must be implemented to improve constraints that can give more meaningful optimization results.

Lexi

  • Completed Thrust Tests

    • Purple motor (850 kv) with 3 Blade Prop

    • Purple motor (850 kv) with 2 Blade Prop

    • Motor from Octocopter (770 kv) with 3 Blade Prop

    • Motor from Octocopter (770 kv) with 2 Blade Prop

    • Graphs from Testing

      • Conclusion: In order to take of at 50% throttle, a new motor will need to be purchased. For a 2 kg robot, the T-Motor MT2814 should be used with the 10" 3 blade propellers.

        • http://www.rctigermotor.com/html/2013/Antigravity_Motors_0916/77.html

Tianqi

    • Modified some details parts and made the COM in an appropriate position.

    • Will print the arm first once the printer is available next week.

Arindam:

    • Taken some images of stairs going up and down. Need to collect more of those.

    • Writing a program to extract the defining features from the images.

November 3

Karl Ang

  • Design X has two modules: Clicker Module and Docking Module.

  • I am currently attempting to create a mathematical model that relates geometry of Clicker to the Docking Module

  • I created means of eliminating the Interface, reducing the number of moving parts. The design of the Driving Rod is changed such that it can attach itself to the Rotating Rack when it is at the contracted state, making the Interface obsolete.

Ganesh

    • Working on importing the end effector model into gazebo. Facing some compatibility issues. Going through documentation to solve it.

    • Simulated wind effects (external force) on the Quad during flight

    • Found codes to convert ROS image to OpenCV image using cv_bridge

    • Fixed some errors to get access to all the data from the simulated model. Got depth data on a rostopic.

Che Kun

    • Hardware preparation for Agbug PCB before testing IMU, GPS code

      • Finished soldering 23x2 header pins on Agbug PCB

      • New motor drivers and voltage regulator

Tianqi Ye


  • Finished the arm design for Boomprop.

  • Did test in Solidworks simulation, looks like there will be a displacement.test in Solidworks simulation, looks like there will be a displacement.

  • Will 3D print one next week to check the durability.

Grant

  • Printing 5 lobe wheels (mark one)

  • Using extra chassis for testing rig (assembling all parts)

  • Finishing arduino code

Arindam

Working on the detection of stairs using two approaches.

    • Using edge detection - Modifying the parameters and threshold values of the program for detection at an angle.

    • Extracting features from several images of different stairs and creating a regression model.

Daniel

  • Finished our portion of WM paper and sent to Praveen, still waiting for response

  • Worked with Arindam to modify the electrical enclosure detection program to work in ROS simulations (for Ganesh)

    • IAC Presentations and Demo went well, we can use same demo for NAVAIR visitor

October 2016

October 27

Che Kun

    • Updated Agbug documentation to reflect proper motor code file name

    • Working on debugging the motor code for AgBug (Pin initialization error)

Ganesh

    • Found some contact sensor plugins for gazebo. Can sense contact (True/False) but is the magnitude necessary ?

    • Going through some ROS Tutorials and Gazebo-ROS interaction tutorials

    • Fixed some errors in both PX4 and ArduCopter SITL codes.

    • Tried some hinged door models on gazebo and applied external force to open and close.

    • Figuring out how the 4th rotor of BoomCopter can be simulated - Type of on-board control for BoomCopter during flight ?

Lexi

    • Reviewed data from thrust test

      • More testing could be done with 10" 2 blade propeller

      • Comparable motor was found T-Motor 2814 770 kv (according to eCalc this motor with 3 blade prop should produce 1.2 kg at 100% throttle)

        • https://www.amazon.com/High-Performance-Brushless-Electric-Multi-Rotor-Aircraft/dp/B00FAD5A1G

      • Possible find lock washer with teeth to order or drill holes in propeller to attach directly to motor

      • Would testing using the power supply instead of the 4S motor affect results? (Testing was conducted at 14.66 V)

    • Data Daniel found to compare with thrust tests

Tianqi

  • Finished tail arm design for boomprop

  • Will do analysis in SolidWorks check if the boomprop fit

October 20

Tianqi Ye

  • All elect components fitted in the frame

  • Printed one arm as prototype

Che Kun

  • Done preparation work for header pins on Agbug PCB

  • Testing out Raunaq's motor code on the Agbug

    • Spotted minor error in documentation and code

      • File name on Agbug BBB is different and

      • Code initialises with an error

      • Working on debugging the code

Daniel

  • BoomCopter Ground Tests

    • Modified the enclosure door height by 1/2” to prevent the end-effector from hitting the handle when closing the door

    • Succeeded with autonomous door closing

    • Also took a video of a successful autonomous door opening & closing all together

  • WM Paper

  • IAC

    • Herrick Lab cleaning on Monday 24th, 8am - ? (10am doughnut break)

    • We are committed to doing a demo:

      • Meeting on Monday w/Dr. Davies for speakers, tour guides and demo people

      • Currently planning on teleoperated door opening with live video feed from BBB

      • We will do a practice run on Wednesday to get everything set up

Lexi

  • Ran test with two different motor using the 3 blade propeller

    • Motor from Octocopter (770 kv)

    • Purple motor from cabinet (850 kv)

    • Graph of forces

Ganesh

  • Got Gazebo7 to work consistently without crashing - setup a clean ROS environment

  • Built some basic robot models on Gazebo7 Model Editor with different types of joints and links - Applied external forces to the body

  • Going thorough tutorials for ROS-Gazebo interface

  • ArduCopter SITL platform - all packages and dependencies were deprecated and not maintained anymore

  • Pulled a prev. working version of ArduCopter v3.4 firmware for SITL and got it working with MavProxy and MAVROS - ROS Topics published through MAVROS

  • Found camera models for Gazebo - Fixed it on top of the Quad - Feed published under a rostopic - just like any other camera

  • https://www.youtube.com/watch?v=yBiWm5fk10E

Grant

  • Finalized wheel design with correct dimensions (5-lobe), D=110mm

  • Continued with Arduino tutorials and have basic motor controller code

  • Plan to print wheels and chassis for testing rig

Arindam

  • The flickering of the detected stairs is reduced.

  • Used a voltage regulator to run the Kinect with a 12v battery. Will use it to test on real stairs.

October 13

Ganesh

  • Built a few basic robots on gazebo using the tutorials - using Revolute Joints and Links

  • Learnt how to navigate the gazebo work-space and import and modify models

  • Fixed the error in the launch file that hindered the communication between the simulated model and MAVROS

  • Able to send commands through mavros and receive sensor information - similar to the on-board computer

  • Learning how to convert Solidworks files to Gazebo compatible model file

Tianqi

    • The weight of the original frame is about 350 gram the new frame can save about 50~70 gram weight.

    • Decided the material for printing.

Che Kun

  • Sent order list for components needed on Agbug PCB, Grant's test Arduino test platform and other lab items

    • Stackable headers for BBB

    • Voltage regulator

    • Motor driver

    • 298:1 microgear motor

    • Motor brackets/hub

  • Getting ready to solder components on Agbug PCB for testing

    • Discussed with Daniel on how to solder the components appropriately

    • Will use existing components on AgBug (motor drivers, accelerometer, GPS module)

  • Previous accelerometer on Agbug is a retired product. To source for new accelerometer

Arindam

    • Able to get the depth readings from the kinect, stairs can be detected.

    • But there are some redundant detections as well, need to remove those. Mean distance from the stairs has to be calculated.

    • Not clear how to detect if the stairs are going down.

Daniel

    • Finished IAC poster and submitted to Cindy

    • Met with Professor Ramani's students and discussed VICON options

      • They will discuss some things and then get back to us about moving forward

    • Door closing

      • Updated the state transition diagram with door-closing state

      • Working on modifying the code to implement the door closing state robustly

      • Took sample force data of door closing with BoomProp so we can determine a stop condition

Grant

    • Researched compatibility of arduino with BBB

    • Motor drivers for arduino and BBB (TB6612FNG dual motor driver)

    • Learning arduino (tutorials)

Karl

    • Completed all components of gripperV7

    • Found that lock washers improves stability of hinges

    • Need M3 nuts to finish assembly

October 6

Ganesh

  • Started watching ROS and Gazebo tutorials.

  • Found some ways to provide relative x, y, z commands in the place of GPS coordinates.

  • Found some modules for Camera, Optical flow sensor, Laser scanners and Laser distance sensors.

  • Should be able to get Camera View on Rviz.

Lexi

    • New combination that uses smaller ESC (30 A)

    • 10x7 3 blade prop with Turnigy Multistar 4220-880 Kv 16 Pole Multi-Rotor Outrunner

      • For 1.2 kg as weight, can fly with ~45% throttle

    • I think using the 10x7 3 blade prop is a good choice

    • Should we order it to test with the motors that Daniel found

Karl

  • Completed the first fully working clicker prototype.

  • Next steps are to complete the acrylic frame, find methods to test the claw and explore means of mounting the claw to chasis.

Grant

  • Torque calculations for testing wheels

  • Plan to create a wheel testing agbug (arduino controlled

  • Wheels chose and cad models created (5 different options)

Che Kun

  • Sourcing for components needed on Agbug PCB

    • Stackable headers

    • Voltage regulator

    • Motor driver

September 2016

September 29

Karl

Figure: Completed Assembly

    • Finished Upper Driver, Rotating Rack, Interface, Cap and TubeV7

Daniel

  • BoomCopter

    • Added a force-sensor to the outside of the end-effector for closing the door

    • Collected data points to calibrate the sensor

    • Plan to do door-closing tests tomorrow or Monday.

  • SPIRA Lab Parts

    • Picked up several useful components including: 8-channel RC Transmitter/receiver, sonar, GPS, servos, octocopter frame (8 heavy-lift motors), AR-drone frame, computer monitor and keyboard, miscellaneous electronics

    • Some has been brought to Herrick, the rest is set aside in our lab space in SPIRA

  • Arindam and I made a draft of the IAC poster abstract based on last year's, (didn't change the ground robot part).

  • Details for the presentation with Prof. Dyke's group?

Arindam:

    • Able to run connect the Kinect with OpenCV.

    • Having trouble in connecting the Kinect with BBB. The OpenNI framework is not campatible with BBB.

    • Working on the KCF report.

Grant

  • Created cad model for 5-lobe wheel and will be looking at FEA in the future. (plan to 3-d print and use on the current agbug for testing) - dimensions not set yet

  • Other test wheels can be bought as comparison (traditional v-tread, sand paddle)

  • Designed testing procedure to test effectiveness of the wheels (testing: speed, maneuverability, durability)

  • Will be designing another wheel set for the carbon 3-d printer (similar to sand flea design)

  • Still looking into molding options for modified 3-lobe wheel

Lexi

  • 3 Blade Propellers are give better thrust but are less efficient

  • Motor Propeller Combinations

      • Master Airscrew Prop 9x7 with Multistar Elite 2810 -750kv motor

        • ~65% throttle for model weight of 2 kg

        • Possible vortex ring state issue

        • Need 40 or 50 A ESC

      • http://www.hobbyking.com/hobbyking/store/__8095__Master_Airscrew_Propeller_9x7_1pc_CW_.html

      • http://www.hobbyking.com/hobbyking/store/__86414__Multistar_Elite_2810_750kv_Multi_Rotor_Motor_CCW_.html

    • Master Airscrew Prop 10x5 with Turgnigy Multistar 2834 -800kv motor

      • ~40% throttle with model weight of 2 kg

      • Need 20 or 30 A ESC

      • http://www.hobbyking.com/hobbyking/store/__8096__Master_Airscrew_Propeller_10x5_CCW_1pc_.html

      • http://www.hobbyking.com/hobbyking/store/__39039__Turnigy_Multistar_2834_800Kv_14Pole_Multi_Rotor_Outrunner.html

    • Master Airscrew Prop 10x7 with Turnigy Aerodrive SK3 3548 -700kv motor

      • ~40% throttle

      • Need 40 of 50 A ESC

      • http://www.hobbyking.com/hobbyking/store/__8098__Master_Airscrew_Propeller_10x7_1pc_CW_.html

      • http://www.hobbyking.com/hobbyking/store/__18166__Turnigy_Aerodrive_SK3_3548_700kv_Brushless_Outrunner_Motor.html?gclid=CjwKEAjw97K_BRCwmNTK26iM-hMSJABrkNtb2krkjxNK1GSRFwfDG4y7xIWvLmWqznCtnG6uf2PS0BoCDc7w_wcB

Che Kun

  • Sourced for PCB suppliers/makers

    • Opted for OSHpark due to lower overall lead-time and ease of ordering (for business office)

      • China has National Holiday from 01 Oct - 07 Oct (PCB fabrication orders will not be processed)

      • So overall lead time for China suppliers will delayed by an additional week.

BBB Board Dimensions based on EAGLE: 86.36 x 55.88mm

September 22

Grant

  • Plan to focus on wheel design

  • Create different wheels for different terrains, weather conditions

    • 5-star wheel

    • Original three lobe wheel

    • Modified three lobe wheel (flexible silicon ends)

    • Traditional off-road v tread wheel

    • Paddle type wheel

    • "Sand flea" type wheel

  • Plan to create testing procedure/stand to determine wheel effectiveness

Tianqi

Karl Jin

Figure 1: Top, side, front view of assembly V7

Figure 2: Top, front, side view of Tube V7

Version 7 Tube Design Upgrades:

    • four inner guide slots (the slots that are inside the tube) instead of three (see figure 2 top view). This creates symmetry suitable for the slot (see fig 2 front view) that cuts through the middle.

    • Two flanges, one on each side of the tube, creates symmetry that serves to distribute the force on the Rotating Rack (blue piece, figure 1) - this is if we choose to place the claw module on either side of the tube. As of now, in figure 1, the claw module is set to be placed on one side.

    • Height of TubeV7 is smaller than TubeV6. Height is similar to TubeV4, which is approximately 5 cm.

Lexi

    • Looked at starter kits for drones to see various options

  • Looked at some more motor options

  • Next week:

      • Look at props with 3 blades

      • Assume the overall weight would be 2 kg (because we don't know exactly what it will be right now)

      • Try 3S and 4S batteries

Sep 15

Daniel

  • RAL Paper

    • Submitted on Saturday with video attachment

  • Lab Items

    • Got internet port switched to South side of room

    • Received 2 of the Robotshop items: force sensor & power distribution board

    • IAC Poster upcoming

      • Abstracts due Sep. 30

      • Poster PDF due Oct. 12

Tianqi & Karl

Karl

Lexi

  • Use Turnigy Multistar 3525 - 850 Kv Motor

    • http://www.hobbyking.com/hobbyking/store/__36767__Turnigy_Multistar_3525_850Kv_14Pole_Multi_Rotor_Outrunner.html

  • Keep current propellers (9x4.5")

      • That way there is no interference because Karl's design keeps the same spacing

  • This combination can lift almost 6 pounds and should be able to take off using just under 50% throttle.

Sep 8

Daniel

  • BCv3

    • Received new force sensor from Amazon (receipt coming) and mounted/calibrated it in the end-effector

    • Made ROS package: bc_ground_demo with 4 nodes

      • 1) Python Force sensor reader (publishes force data as bc_force_info)

      • 2) Python Image sensor simulator (publishes image data as bc_cam_info)

      • 3) C++ Image detection node 'bc_ground_demo_node'

      • 4) Python controller node 'bc_gc2.py' which uses the Pololu Micro Maestro servo controller to drive the motors

    • Sucessfully approached and opened the electrical panel with full autonomy

      • Detected door opening with force sensor

  • RAL Paper

    • Made an Overleaf project for easier collaboration

Karl

  • Designed Grid Chassis

Lexi

    • Researching new motor/propeller combinations for V1 Boomcopter

    • Are ducted fans an option?

Sep 1

Daniel

  • BCv3

    • Reassembled wheels & camera onto BC for testing

    • Got the Pololu serial servo driver working with Beaglebone and ROS

    • Made a ROS package to control the servos and working with Arindam to get data from image sensing program

    • Next step is to write controller node in ROS that calculates Boomprop and tail fan servo values based on sensors

    • Also need to get data from force sensor

  • RAL Paper

    • Made Google Drive folder for LaTex files

    • Plan to automate door opening with image feedback and then move on to trying to automate the approach

August 2016

Aug 18

Karl

  • Completed the Claw Module.

  • Completed the new Clicker Module.

Tianqi

  • Recoded the program based on the calibration

Aug 11

Karl

July 2016

July 28

Tianqi

  • Copter ready for test

Daniel

  • 3d-printed a new mounting bracket for thrust rig which has hole patterns that will fit any brushless DC motor, along with the BoomProp axle

  • BoomProp Thrust Tests (3 variables)

      1. Number of Propeller Blades

        • More blades yield more thrust per RPM, as expected.

        • Efficiency (grams/Watt) actually is better for 3 than 2, but is about the same or worse for 4 vs. 3

      1. Pulley Size

        • Lower gear ratios allow for higher prop speed and thus more thrust with 1000Kv motor

        • Lower gear ratios are also slightly less efficient for both motors, effect is more pronounced with 1400Kv motor

      1. New (faster-spinning) Motor

        • In general, the 1400 Kv motor is slightly less efficient than the 1000 Kv motor, but is able to reach higher speeds and thus give more thrust

        • Except for the case of 4-blades and 2:1 gear ratio, in which case the efficiency is nearly identical

      1. Conclusion

        • A maximum thrust of 878 grams (1.94 lbs) was achieved with the 1400 Kv motor, 4-blades, and a 2:1 gear ratio. This configuration maxes out the motor and ESC, so we would probably need to use the XRotor Pro 40A ESC unless we just use the BP in bursts

Arindam:

  • Able to detect the straight lines in the edge detected image and combine them into continuous line segments.

    • Working on making the line segments continuous and combine the closely spaced lines into single line.

    • Working on the KCF report for this month.

Karl:

    • Redesigned the new Clicker

July 21

Arindam:

  • Able to obtain edge detected image and also edge detected video with the webcams.

  • Working on detection of the key-point features in the edge-detected images.

July 14

Karl

Clicker Mechanism:

    • Identified problem with clicker mechanism: the upper driver does not slide down when engaged with rotating rack.

    • In the process of re-designing the clicker to solve this problem; it should be a quick fix.

    • In the process of designing a frame and layout for the gripper and clicker together.

Daniel

    • Performed Thrust tests with assembled BoomProp

    • 2-blade version produced 350 grams of thrust (0.77 lb)

      • 3-blade version produced 457 grams of thrust (1.01 lb) and was also more efficient

  • 3d-printer

    • Right extruder seems to have unclogged itself after multiple heating cycles, however, there still may be an issue with the tensioning spring. Will do a few tests prints to make sure everything is working at 100% (left extruder still works perfectly)

July 07

Tianqi Ye

Done support assembly

Done 3d printing new hook parts

Karl

    1. Clicker Mechanism

      • Printed three parts

        • Upper Driver

        • Cap

        • Tube

      • Parts fit nicely

    2. Soil Sensor Box

      • printed the base part of the box

      • the cover is too tight; unable to fit box

      • made the cover larger - waiting to be printed

      • the arduino pro-mini voltage regulator is damaged, according to Daniel

Daniel

    • BoomProp

    • Finalized the CAD models based on 3d prints

    • Finished printing all the parts and everything fits together well

    • Just need to drill and tap a set-screw hole in the pulley and then can do thrust tests

    • Electrical Enclosure

      • The box and handle we received from McMaster should work for what we're doing

      • The magnetic strip is much weaker than advertised

        • Plan to order some small disc magnets instead

    • MakerBot

      • Still waiting for everyone to finish printing and then will clean out the right extruder with Steve Florence

Raunaq

Arindam:

  • Got the webcams working with the Ubuntu and OpenCV.

  • Able to differentiate objects based on color.

  • Working on segmentation with OpenCV and with Processing.

  • Updated the comparison chart with the Scanse Lidar details.

June 2016

June 30

Karl

    1. The Clicker Mechanism

      • Printed three parts:

        • Rotating Rack (blue)

        • Upper Driver (red)

        • Cap (grey, top)

      • Faced difficulties on Monday with printer; only managed to print three out of five parts planned.

      • Problems with parts:

        • Rotating Rack and Upper Driver are does not slide freely along the insides of the Cap; contact surfaces are too rough and parts fit too tightly.

      • Solution:

        • Make the Cap and Tube larger in terms of diameter

        • Make the male slots of Tube thinner

        • Further sanding

        • May consider using some sort of lubricant

    2. Soil Sensor Box

      • Design changes made to the box. It will be reconfigured to minimize size.

    3. Plans for next week (before next meeting)

      • Finish printing the Lower Driver and Tube of the Clicker

      • Get the Clicker working

      • CAD and print the Soil Sensor Box

Daniel

    • Makerbot

      • Noticed the X-axis belt was loose so tightened it and greased the Z & X-Axis rods

      • Updated the maintenance/usage log and put it in the binder next to the printer

      • Right extruder nozzle is clogged

      • Will be taking the printer to Steve Florence’s office to repair it once we have finished our current print queue

      • Just replaced the Kapton tape now that the Agbug is done printing

    • BoomProp

      • Modified some dimensions based on the 3d printed components to get the belt to fit snug and get the cylinders to fit on the bearings and 16mm tube

      • Received the remainder of the components from the June 20 purchase request

      • Modified the Gemfan propellers to fit on new BoomProp

      • Designing another spinner option with 3 blades instead of 2 (may give more thrust?)

    • Power supply connectors

      • Met with Will & recommended bullet connectors to purchase

      • As for connecting to power supply, discussed 2 options:

      1. Use a single wire from the supply and split it to each motor through power distribution board

      2. Use a separate wire from the supply to each motor.

      • Either way, might need to buy some spade terminal connectors, depending on what comes with the power supply

    • RA-Letters Paper

      • Working on compiling references and writing Introduction

      • Signed up for the free Overleaf account through Purdue, which may be a good way to collaborate on the writing with Arindam online

Raunaq

    • Agbug -- Beaglebone Black

      • Made changes to the chassis design

      • Printed the new design

    • Snapdragon Flight Kit

      • Setup the cross compiling environment for the apps processor and the aDSP.

      • Issues with linking libraries while compiling on the DSP.

      • Can get data from the IMU.

      • Will look into motor control this week.

Tianqi

  • Done laser cutting the support

  • redesigned the hook part

Arindam:

  • Installed processing open source package for kinect in ubuntu. Able to access the depth and RGB data.

  • Tested with some programs involving the depth image data.

  • Received the new beaglebone black. Working on installing the new drivers for wifi and kinect.

  • Will be testing on Angstrom linux.

  • Updated the KCF report.

June 23

Karl

    • Almost finished with soil sensor box just need to find suitable acrylic glass.

    • Completed cad models for the clicker. Ready to make first prototype.

Tianqi

  • Program be able to work wirelessly

    • Tested on the copter, works fine

    • Issues:

      • Motor rotates reversely

      • Support need to be redesigned

      • Hook need to be redesigned

Daniel

  • BoomCopter

    • Redesigned BoomProp for larger BC V2 tube

      • Modeled all parts in Solidworks, including full assembly (to verify dimensions and calculate belt length)

    • 3D-printed all BP components, waiting on bearings from AvidRC and Gemfan propellers to complete assembly

  • Purchasing

    • Received McMaster components, still waiting on: Sparkfun, AvidRC, Pololu, Heli Direct, Horizon Hobby

  • Soil Sensor

    • Completed the Hardware soldering including Arduino Pro Mini, XBee, connector for Soil sensor, LED & battery monitor (voltage divider)

      • Ready for Karl's 3D-printed enclosure & Arduino code

    • Ordered an On/Off switch for the housing which will be the last piece of hardware to be added

    • Discussed outline of communication protocol with Karl, just needs to be formalized and coded

  • Other Notes:

    • Made a Maintenance Log for the 3D printer so we have a record of what has been done and when

    • MIEP Tours were a big success (multiple tour guides said we were the student's favorite lab to visit)

Raunaq

  • Agbug -- Beaglebone Black

    • Integrated the code modules into a cleaner script, with comments

    • Implemented differential drive on the Agbug

    • Fried another Beaglebone

  • Snapdragon Flight Kit

    • Attempted to calibrate sensors over Wi-Fi. Haven't been able to get it working yet.

Arindam

  • Preparing the write-up for the updates on the KCF project.

  • The drivers for the kinect are not compatible with the ubuntu installed on Beaglebone.

  • Will try out with the new Beaglebones as they have a different linux versions on them.

  • The ASUS team has replied that they no longer manufacture the Xtion PRO. So we might have to try out with the smaller usb cameras.

June 16

Raunaq

  • Agbug -- Beaglebone Black

    • Made a cape for connecting the GPS, magnetometer and the motor controllers

      • The cape was tested and worked fine with both GPS and Magnetometer connected.

      • Ran the codes for camera, GPS, magnetometer and motors simultaneously. No significant lag was noticed on the video stream.

    • Tested the motors on the Agbug, no issues there

    • Fried a Beaglebone

  • Snapdragon Flight Kit

    • Set up PX4 on the Snapdragon

      • The firmware on the Snapdragon Flight does not support serial connection to QGroundControl.

      • QGroundControl requires a serial connection to reliably calibrate sensors. Does not let the Snapdragon calibrate over WiFi

    • Working on compiling and running code independently, outside the framework of PX4

June 8

Raunaq

  • Agbug -- Beaglebone Black

    • Received the 5V voltage regulator. Will test the setup with battery power in the coming week.

    • Wrote rough guides to run the GPS and Aceelerometer modules.

  • Snapdragon Flight Kit

    • Set up the SDK and the environment for cross-compilation on the Flight Kit. Wrote a rough guide for the same.

      • The whole setup works on Linux

      • Tested the setup with a Hello World program. Also, tested the DSP Abstraction Layer with a sample program

    • Working on understanding the development environment and cross-compilation details.

Daniel

  • BoomCopter

    • NTM 28-26s motor may be burned out (was drawing a lot of current)

    • Switched to purple (RCX a-2830/12 motor)

    • Collected thrust data for ZEAL 3D Propellers

      • Surprisingly, produced noticably lower thrust than Gemfan propeller & consumed more power

    • Afro 30A ESC

      • Figured out how to flash the reversible SimonK firmware using the USB adapter

      • ESC is able to change motor directions almost instantaneously (no delay built into the software)

      • Not sure if this has any negative side effects on the motor or the ESC

        • With no load, the Watt'sUp Meter didn't show any noticable spikes in current draw when switching directions

    • End Effector

      • Considering making a 3D-printed attachment to extend off of front, and reducing length of front tube

  • Purchasing

    • Received the Pololu items (voltage regulator and LEDs) and about 1/2 of the Amazon items

    • Still waiting on Sparkfun items

  • MIEP Tours on June 16 & 21 (1:15 - 3:00 pm)

    • Plan to have one Turtlebot set up with follower program & one with LEAP controller and ideally visualization on Laptop

  • Soil Sensor

    • Arduino Nano

      • Got the Arduino Nano to work (must be powered by battery before connecting USB)

      • Once we receive the Pro mini we will have 2 good platforms for embedded applications

    • ROS

      • Got a Serial communication node working on my laptop that can communicate over XBees with the Soil Sensor

      • Next Step is to get the ROS node working on the BBB using the C++ I/O libraries

      • Need to establish a communication protocol for sending/receiving data from the sensor

        • What info will be stored there? GPS Data? Several days/weeks of sensor data?

Arindam

  • Working on the interfacing between the Kinect and the PCL.

  • The ASUS Xtion Pro is also a good option for 3D scanning and for using with PCL.

  • Updated the specification of the ASUS Xtion Pro in the comparison table.

  • ASUS (2.5W power) is better than the Kinect (12W power) in terms of power requirements. Can be powered by USB only.

  • Working on the ROS packages on Beaglebone.

June 1

Daniel

  • Reversible BoomProp

    • Collected thrust data for Gemfan 3D Propellers

      • 500g thrust in either direction

      • Approximately halfway between the forward/reverse thrusts from the regular multi-rotor propellers

    • 3D-printed hub adapter for ZEAL 3D Propellers and will perform thrust tests today

    • XRotor Pro 3D ESC

      • Verified that it can spin a motor in forward and reverse

      • Has a built-in 3 second soft-start, but after that the switching is very fast

  • Compiled list of soldering supplies and other electronics for summer

  • MIEP Tours on June 16 & 21 (1:15 - 3:00 pm)

    • Donna/Dr. Davies are looking for volunteers for interactive demos

      • June 16 = 6th - 8th graders

      • June 21 = 9th - 10th graders

    • Do we want to do a demo, perhaps with the TurtleBots?

  • Soil Sensor enclosure

    • Tried to get Arduino Nano working, but can't get serial connection to work

    • We can use Due unless we want to purchase a separate board (e.g. Uno or Pro/Pro-Mini)

Arindam

  • Got the Kinect working. Loaded the drivers.

  • Also found a software which can be used to create 3D model of any arbitrary object with the Kinect.

  • These models are also compatible with Solidworks and can be 3D printed.

  • Working on the ROS packages for the Kinect.

Raunaq

  • Agbug -- Beaglebone Black

    • Got the GPS and accelerometer/gyroscope/magnetometer integrated with ROS and publishing data

    • Camera cape also uses the same I2C bus as the accelerometer, leading to occasional transmission failures from the accelerometer

    • Live video stream was working fine until it froze in the meeting. Will look for possible reasons

    • All individual modules interfaced and working

  • Snapdragon Flight Kit

    • Add-on to Hexagon SDK required for the Flight Kit is only available for Windows

    • Working on a Breakout board for the 60-pin connector

    • Trying to find a way to gain access to the GPIO pins

May 2016

May 23

Daniel

  • Reversible BoomProp

    • Performed propeller thrust tests with propellers running in reverse

      • Tested 8" and 9" APC MR (multi-rotor) propellers

      • Thrust in reverse was about 50% less, with about 10% increase in RPM and power consumption

    • Ordered reversible ESCs & 3D propellers

    • Still thinking about potential tests to demonstrate functionality

  • BeagleBone Black Development

    • Verified that we have 3 working BBB boards

    • Tried to copy Linux image to the microSD cards we have... didn't work

      • Need 1 or 2 more microSD cards for Linux images

    • May eventually need 1 or 2 WiFi modules and USB splitters for the other BBB

  • SnapDragon Flight Kit

    • Signed up for an account with support.intrinsyc.com, waiting on verification to get access to documentation

    • Username: msral, pwd: same

May 12

Daniel

  • Reversible ESCs

    • So far, it looks like none of our existing ESCs support dynamic reversing of motor direction

    • May need to flash separate firmware with this added capability

      • Looking into the necessary hardware for this...may need different ESCs or just a programming card

  • Reversible propellers

    • Planning to do a thrust test running propeller in the "correct" direction, and then in reverse and comparing thrust

    • Found some propellers that may be optimized for reversing

April 2016

April 21

Arindam

  • Intel Edison

    • Comparison between the Teraranger Lidar and Lidar 1 is updated in the wikipage. The Lidar lite is still a better option.

    • Erased the windows files from the Edison. Installing Linux.

    • Got response from the Qualcomm drone team. They are running the board on Linux, not ROS, as of now there are also no ROS package or help or support files in place. The board supports C++ and Python.

Daniel

  • BoomCopter V2

    • Finished flight log analysis

    • Accelerations in boomcopter mode with maximum throttle are about the same as they were with the previous boomprop.

      • The tricopter mode gets a wide range of accelerations from about 2 to 6 m/s^2

      • The boomcopter mode consistently accelerates between 1.3 and 2.3 m/s^2

Lexi

  • Ran thrust tests with new spinner

    • Overall results were lower than expected

    • Part of the driving gear broke during test

  • Still printing test stand, the prints keep failing

April 14

Daniel

  • BoomCopter V2:

    • Calibrated Pixhawk along with all 4 ESCs

    • Performed several successful flight tests last Saturday (Apr. 9) at the Gold Intramural Fields

      • Qualitatively, the BoomCopter felt much more stable with the BoomProp rotating in the opposite direction (counter-clockwise as seen from the back)

      • Plotted the acceleration and power consumption for each flight/flight mode

      • The results with the T-Motor and 12" propeller are almost identical to the results with the previous BoomProp

        • The BoomCopter uses significantly less power for forward acceleration when used in standard Tricopter mode rather than in BoomCopter mode.

Arindam

  • Intel Edison

    • Got some papers from Vanderbuilt lab, reviewing those.

    • Need to know if any knee and ankle joint angle/torque data about lower limb movement, available at KCF's end.

Lexi

  • Received new propellers and printed new spinner. Still assembling them with the bearing and motor.

  • Design proposal for HVAC test is done.

April 7

Lexi

  • Looking at casters from McMaster Carr

  • In process of redrawing spinner with extra support

  • Updated Arduino code to ramp up to entered speed

  • Looking into PVC pipe and net shield for future thrust tests

Daniel

  • Finished building BoomCopter, just need to calibrate Pixhawk

    • Using T-motor with 12" prop for BoomProp

  • Planning for test flight on Saturday with Arindam (whenever there is the least wind)

March 2016

March 31

Arindam

Intel Edison

  • SSH connection problem resolved. Need to discuss with KCF about a common platform for coding.

Simulation

  • Got some hands on with Sim-mechanics. Going through the Solidworks tutorials.

Lexi

  • Tested new motor propeller combination

    • Propeller shattered at 80% power

    • at 60% power the force was 1160 g (2.55 lb), Current = 18.5 A, RPM = 6340

    • Should reach the 3 lb requirement

    • Link to order new propeller: http://www.espritmodel.com/aeronaut-cam-folding-propellers-rudi-freudenthaler.aspx

  • For test with HVAC system

    • Use lab bench to put BoomCopter on

    • Add axle to slots in bottom of BoomCopter

    • Attach two fingered hook on end of shaft

March 24

Arindam

Intel Edison

  • Facing some trouble with SSH connection with Edison. Mailed Mark at KCF.

Simulation

  • Working on Sim-mechanics to check how simulations are done there. It can be interfaced with Solidworks models.

Lexi

  • New motor and ESC arrived

  • Attached new motor to old propeller with gear ratio

  • Ready to test

Daniel

BC V2:

  • Received PPM encoder and SMA antennas

  • Can now rebuild the BC with new BoomProp & longer RC range

  • Planning for test flight next time weather permits

    • May need to get AMA membership if Intramural fields are too crowded

March 10

Lexi

  • Need 3.1 lbs to open HVAC door

  • Ducted Fans that we have

    • E-Flite 69mm Delta V 15

      • Static Thrust: 1.7 lb (3S)

      • Static Thrust: 2.8 lb (4s)

      • Make testing structure to test 2 together?

    • Aeorce 55mm

      • Static Thrust: 1 lb (450 g)

      • Make testing structure to test 4 together?

  • Other Ducted Fans

    • E-Flite 80mm Delta V 32

      • Static Thrust: 5.4 lb (6S)

      • Current: 62 A

      • Voltage: 22.2 V

      • Cost with Motor: ~$100

      • http://www.servoshop.co.uk/index.php?pid=EFLM3032DFA

    • LEDF86-1A21

      • Static Thrust: 3.5 lb (1.6 kg) (6S)

      • Current: 29-34.5 A

      • Price: ~$160

      • http://www.hobbypartz.com/lealalel90du.html?gclid=Cj0KEQiAsP-2BRCFl4Lb2NTJttEBEiQAmj2tbUZOnrzXDbbYH3OrArU4b4-M754X4OsYP_PA7QCGePEaAjnL8P8HAQ

  • Propeller and Motor Combination

    • Propeller: Aeronaut CamCarbon 13"-7"

    • Gear Ratio: 2:1

    • Motor: Turnigy NTM 3542-1250

      • Need to buy: $14.99

      • http://www.hobbyking.com/hobbyking/store/__16092__NTM_Prop_Drive_Series_35_42A_1250Kv_600W.html

    • Static Thrust: 3.44 lb (1561 g)

Arindam

Intel Edison

  • Was able to connect the Edison board to wifi

  • Currently working on how to enable and access the peripheral ports

  • Still some more manuals to go through

Daniel

  • Upcoming:

    • Test flight of BC v2 with T-motor and 11" prop.

    • Gazebo or V-rep simulation of BC dynamics

    • Develop/Integrate ROS nodes for sensor reading and mission control via MAVlink

March 3

Daniel

  • BoomCopter V2

    • Performed several motor/prop thrust tests

      • Used digital tachometer for RPM curves

      • Tested the existing boomprop setup and our Tiger motors

    • Based on the results, I plan to use a Tiger motor as the boomprop motor with an 11 or 12 inch prop for extra thrust

  • Gazebo Simulation

    • Installed Gazebo on Linux USB Stick

    • Still going through the tutorials to see if we can integrate a custom dynamic model into the simulator

Lexi

  • Force from first BoomCopter reached maximum of 2.3 lbs not enough to open HVAC door (needed 3.1lbs)

  • Used eCalc to find possible combination - stall thrust of 1561 g (3.441 lb)

    • ESC - 40A

    • Turnigy NTM3542-1250

    • Aeronaut Camcarbon 13"-7" with 2:1 gear ratio

February 2016

February 25

Daniel

  • BoomCopter V2

    • Reversed direction of boomprop rotation

    • Discovered that the boomprop servo wires were severed... this has been repaired

    • Intramural fields were packed with people on Saturday so couldn't fly

    • Decided to do some motor/prop tests with existing boomprop and T-motor with 10-12 in. propellers to see if we can improve performance

  • Simulation

    • Found some information on difference between Gazebo and rviz

      • Gazebo is a 3D rigid-body physics simulator (including a graphical interface). rviz is a tool for 3D visualization of data from other ROS nodes as well as some support for sending commands to other ROS nodes. (http://answers.ros.org/question/45791/relation-between-gazebo-and-rviz/)

    • Gazebo only runs on linux

    • Mission planner simulation will run on Windows and can interface with Mission Planner

Lexi

  • Force from first BoomCopter reached maximum of 2.3 lbs not enough to open HVAC door (needed 3.1lbs)

  • Difficult to find motor propeller combination that generates enough force

  • Exploring other options:

    • Robot that attaches parallel to door (suction cups)

    • Multiple Propellers on boom

February 18

Daniel

  • BoomCopter V2 flight log analysis

    • Extracted acceleration data for portion of flight when BP was at full throttle

      • The BC did not seem to accelerate any faster with the BP at full throttle than in standard Tri-copter mode, in fact it actually looks like it accelerates less

  • Ardupilot Simulation

    • Downloaded and installed all necessary packages on the Windows laptop

    • Performed a few simulated flights, but still trying to figure out all the features

      • Specifically, looking into:

        • Using Spektrum transmitter as input

        • 3D Simulators

        • Importing custom vehicle frames into simulator

  • Links for airspeed sensor and ppm encoder

    • https://store.3dr.com/products/pixhawk-airspeed-sensor-kit

    • http://www.amazon.com/Usmile%C2%AE-Encoder-Output-Pixhawk-Control/dp/B019V59KCS

Lexi

  • Work on testing motor propeller combination from first BoomCopter to see if it generates enough force (3.5-5 lbs)

    • Test almost ready to run

    • Using a clamp instead of shield or netting to secure test

  • Continuing to learn more about pairing motors and propellers

February 11

Daniel

  • BoomCopter V2 Test flights

    • Had successful test flights on Thur/Fri/Sat.

    • Tested BoomCopter with and without the boomprop, with and without added payloads

    • Compared energy/power used in each configuration

      • Boomprop uses significantly more energy than the standard tricopter orientation

        • Using a lower Kv motor and larger propeller for boomprop may improve this ratio

Lexi

  • Work on testing motor propeller combination from first BoomCopter to see if it generates enough force (3.5-5 lbs)

  • Continuing to learn more about pairing motors and propellers

February 4

Daniel

  • BoomCopter V2 Rebuild

    • Finished rebuild

    • Recalibrated all sensors, had trouble with accelerometer, but eventually got it calibrated

    • Tested motors/ESCs and tail servo, all functioning properly

    • Suspect excessive accelerometer vibration as culprit in crash

      • Auto-Analysis in Mission Planner indicates vibration failure

      • Vibration plots & Alt/RelAlt graphs show strange behavior

      • May be able to fly without using Auto modes (AltHold, Loiter, RTL), otherwise may need to try switching out Pixhawk but we don't currently have any more mounting foam (it is ordered though)

    • Planning to fly at Gold Fields next time weather allows

Lexi

  • Tested force required to open HVAC door (average of 3.14 lbs)

    • Requires force of roughly 25 lbs to close

  • Continuing to learn more about pairing motors and propellers

January 2016

January 28

Lexi

  • HVAC door testing - TBA

    • Using Shimpo Digital Force Guage (up to 50 lbs)

  • Find motor and propeller system with necessary thrust

    • Learning more about propellers and motors in order to pair them correctly

Daniel

  • BoomCopter V2 Rebuild

    • Received all ordered components

      • 900 MHz SMA antenna & Extension Cable

      • Carbon Fiber Tubes

        • Main Arms (16mm)

        • Undercarriage Tubes (10mm)

      • Landing Skid Kit

    • Got access to the ME machine shop and milled tube snap pieces

    • Remaining:

      • Drill remaining holes in top of main frame carbon fiber

      • Reassemble frame & repair electronics

      • Recalibrate sensors and verify health of GPS, Pixhawk, etc.

January 21

Daniel

    • BoomCopter V2 Rebuild

      • Emailed list of remaining components needed, waiting to receive

      • Pending Repairs

        • Center tail servo and mount to tail motor (need to modify tail motor mount bracket to accommodate screws)

        • Drill holes in center frame top piece (or just use the old top piece)

        • Mill the edges of the snap brackets for the front and back arms

      • Documentation on RTL in software doesn't indicate why it would cut power to motors

        • Found a list of Arducopter RTL parameters to check on Pixhawk

        • Worst case, we will just refrain from using RTL during test flights

      • Flight Tests

        • Most people recommend flying at or above 0 Celsius, but I have seen successful flights at colder temps. on YouTube

        • Planned experiments

          • Battery life (hover, normal flight)

          • Top Speed (with and without BP)

          • Max. Payload

          • Lift produced during forward flight (with just boom prop engaged)

    • BBB MAVLINK and sensor communications

      • Implemented MAVROS and connected with Pixhawk (on Laptop, not BBB yet)

      • Wrote a serial node that opens a serial connection and can communicate w/XBee

      • Copied the BBB microSD image

        • Unable to boot the Green BBB, but power light comes on, indicating it may just be a software failure

        • Will test the existing BBB to make sure microSD is not corrupted

    • Pending

        • Write a ROS service which requests and interprets sensor data from soil sensor

        • Modify the soil sensor code to communicate with the ROS service

        • Figure out the appropriate MAVLINK commands to send in order to obtain GPS data and set mission waypoints

        • Write a launch file to load all of the appropriate ROS nodes and allow for autonomous sensor-reading missions

December 2015

December 19

AgBug

Notes for future development:

-After lots of troubleshooting it has been determined that the HD Camera Cape is preventing proper use of pins on the Beaglebone and will not be used, a USB camera will be used insteadtroubleshooting it has been determined that the HD Camera Cape is preventing proper use of pins on the Beaglebone and will not be used, a USB camera will be used instead

Camera

  • Create new camera mount for USB camera

Frame

    • Remove motor controller mount

  • Increased strength of CAD models, not printed yet

  • Needs to be wider for USB splitter

  • Needs to be longer for power jack clearance

    • or find right-angle connector and keep same length

    • can increase "wheel" diameter if frame gets longer

BBB

  • Switch to PWM for speed control

  • Use Turtlebot keyboard node instead for more options (variable speed)

Components

  • 5V regulator was added - needs a designated space

  • move motor drivers to proto cape to reduce wire mess

    • potentially on standoffs

All CAD files are located at \\spiralab.ecn.purdue.edu\MSRAL\Current Projects\AgBug

December 10

Daniel

  • BBB/Pixhawk Software

    • ROS

      • Went through the first 11 ROS tutorials to get a better understanding of ROS in order to make a plan for how to implement the BBB sensor data collector and mission controller

      • Made a .txt file with detailed notes on how to install ROS and develop packages, also included good resources on useful linux terminal commands.

    • BBB ROS Programs

      • Plan to use a launch file, which starts up several different ROS nodes and sets up their parameters to work together.

        • This will likely call up MAVROS, a BBB data collector, and the BBB mission controller

      • Learned about minicom (for Linux Terminal) so I can debug and test the BBB serial connection

        • Was able to connect the BBB to the Pixhawk using MAVROS and verify that they were connected (receiving heartbeat messages) on TELEM2

          • Was not able to send MAVLink commands and request GPS data

          • This most likely needs to be done from within a ROS node, but I'm still looking into this...

Tyler

  • BoomCopter V2 Completed

    • It flies!

    • Waiting on 5.5mm bullet connectors to test flight times, current usage, etc.

December 3

Daniel

  • BBB/Pixhawk Software

    • Next Milestones:

      • BBB Reads Data from Soil Sensor

        • Sensor is set up to send data via XBee

      • BC Reads Data from Soil Sensor During Mission

        • Plan on using TELEM2 port on Pixhawk for BBB to Pixhawk Comms

          • See this page for details on connecting the companion computer

        • Downloaded MAVROS, working on using it to verify communication between BBB & Pixhawk

          • Have a few questions for Mark about available UART ports and BBB MAVROS support

        • Next Steps:

          • Write a ROS node to run an APM mission (Sensor Collect Mission)

            • See this page for updated list of MAVLink mission commands

            • Node will ideally:

              • Start up MAVROS

              • Set WP to soil sensor position

              • Poll GPS and request sensor data when within range

              • Return to home after data is received

              • Transfer sensor data to base station (or just save to file, etc.)

Chris

  • Successful live video streaming through Beaglebone, as well as high res photos

    • Works with HD camera cape as well as usb cameras

    • Can be streamed via HTTP for anyone to view, or through GUI on ROS

    • Maximizing speed through ethernet, 480p video with 15 fps and ~1 sec delay

    • 46% CPU usage, seems to be independent of video quality or streaming source

Tyler

  • BoomCopter V2 almost completed

    • Working on tilt mechanism

    • Waiting on BEC, 3mm shaft, and RP-SMA extension

    • Finish Build and test this weekend

November 2015

November 19

AgBug

  • Changed kapton tape on Makerbot. See video below for reference:

    • https://www.youtube.com/watch?v=sjb3SmaVtc4

  • Revised CAD model and attempted printing

    • Parts keep lifting from the build plate - will adjust settings and continue trying.

  • Successfully have the beaglebone controlling servos with ROS and recognizing encoder databeaglebone controlling servos with ROS and recognizing encoder data

  • Assembled/soldered a motor for testing

  • Still testing video feed

Tyler

  • BoomCopter V2 partially built

    • Trying to finish before break, test after break

  • Need to order BEC, tilt servo, 3mm shaft, RP-SMA extension

November 12

Daniel

  • Soil Sensor

    • Wrote a program that sends data as a text string when requested through XBee

    • Need to get serial header requirements from Mark written down (they faded off the whiteboard)

      • [MessageID SystemID Message crc endLine

      • [0,0,0,0, 1 data data data data , crc , \n]

        • Message - Tell me what data you want to send/ number of ints/doubles etc.

        • crc - you will have to calculate this.

        • You have to replace all \n (other than the last) with \n \n

        • I bit of hard coding will need to happen for System ID 1 but I'll handle that. It'll take 5 minutes. I just need to know the data you want first.

  • ROS/Pixhawk Integration

    • Made a bootable USB with Ubuntu 14.04.3 LTS and installed ROS

      • Loaded it with all of the custom ROS modules Mark has written

    • Also installed ROS on my laptop so we have multiple platforms for developing ROS code

  • High Bay Storage

    • Labeled all of the blue tool and component bins

      • Just need to label some more bins in the cabinet and go through the small drawers

Andrew/Chris

AgBug Chassis

Continuing work on physical frame.

Need to confirm overall dimensions are acceptable.

  • Imported Catkin library into BBB, added AgBug package

  • Updated network settings to be more flexible

  • Issues came up with running servos, not smooth motion

  • Might be because of topic or message refresh rate in ROS

  • Tested out current camera shield, can take photos using Ubuntu

  • Integrating with ROS may be complex as the shield has little support online, USB camera may be a better choice

  • Will continue researching camera options

Mark

    • Didn't have time to work on anything. :(

      • Plan for next test - set Copter Parameter for Telem 2 to GCS Mavlink

Tyler

  • BoomCopter V2 parts ordered

  • Starting 3D print of onboard pieces

    • Still finishing up some CAD design

November 05

Mark

    • MavLink Integration

    • Looking into adding the following to the startup script. Sadly, this command must be used will in elevated security status so it is a bit difficult

    • echo ttyO1_armhf.com > /sys/devices/bone_capemgr*/slots

    • Attempted to enable MAVLINK on Telem2 with MavProxy - I this might be for PX4 only though :(

    • Apparently Telem2 is ttyO2 (https://github.com/mavlink/c_uart_interface_example)

    • The tutorial I need to follow -> http://dev.ardupilot.com/wiki/raspberry-pi-via-mavlink/

    • Also, forget UART. I could have the beagleboard connect by usb.

    • What devices are currently active -> dmesg | grep tty

    • USB python interfact location

    • /usr/local/lib/python2.7/dist-packages/

    • Command Line Call -> sudo mavproxy.py =/dev/ttyACM0

    • Daniel clearly uses this port as well.

    • Was able to issue MAVLink Commands

    • Successss! The BBB is connection to the USB and showing Daniels Messages.

    • Sample Output

    • APM: APM:Copter V3.4-dev (deda1198)

      • APM: PX4: b0cb142b NuttX: d447403a

      • APM: Frame: TRI

      • APM: PX4v2 0023002D 32334718 31363032

      • Flight battery 100 percent

      • msgDrop_IGNORE: 0

      • msgDrop_BAD_LENGTH:

    • Sample Terminal Message (PS, we probably can implement this all in python just because)

    • param show ARMING_CHECK

    • param set ARMING_CHECK 0

    • arm throttle

Tyler

    • Flew and compared Current Draw / Max Speed

      • Without Boomprop

        • Max Current: 31.5 A

        • Average Current: 29 A

        • Max Speed: 18 m/s

        • Average Speed: 16 m/s

      • With Boomprop

        • Max Current: 39 A

        • Average Current: 32 A

        • Max Speed: 15 m/s

        • Average Speed: 14 m/s

    • Finished optimized electronic selection for V2.0 - Sent spreadsheet to Prof. Cappelleri

Chris

    • Currently importing all of the catkin workspace information to the BBB from my PC

    • Python PWM script is now part of the servo subscriber node

    • Looked into camera feed view through Ros and displaying IMU data

    • Started adding encoder section in Ros node for when servos are built

October 2015

October 29

Mark

    • Use Screen to manually view the BBB come port

    • http://www.cyberciti.biz/hardware/5-linux-unix-commands-for-connecting-to-the-serial-console/

    • The COM port is correctly connected and updating

    • screen /dev/ttyO1

Daniel

  • Vicon Loiter

    • Had 3 successful Loiter flights

      • Started in various orientations and all held position well

      • Haven't tried leaving the IRIS in Loiter for more than 1 or 2 minutes

    • Remaining issues

      • Altitude oscillation when switching between flight modes

      • Maximum position error (for a 1-2 minute flight) of about 8 inches

  • High Bay Storage

    • Finished assembling the shelving unit

      • Moved over a turtlebot and the Boomcopter, Omnicopter and an IRIS

  • IAC

    • Demo due Monday

Chris

  • Continued troubleshooting ROS subscriber node

  • Created alternative program that works successfully in MATLAB

  • Still cannot manipulate message data once received, the message can be retrieved with "data" or "msg"

  • ROS claims the data hasn't been declared

  • Discovered flexible filament for 3D printer, maybe it could be used for trends on AgBug?

Tyler

  • Boomprop switched to a switch with a 3 second time delay for easier transition to flight

  • Current sensor not enabled so amperage and Voltage were not recorded - will fly again next week

  • Presented proposed electronics and design for V2.0 boomcopter

October 22

Daniel

  • Vicon Loiter

    • Plotted the simulated roll/pitch calculations from overwriting cos_yaw in AC_PosControl

      • The simulated values look promising

    • Adjusted the code to overwrite cos_yaw in the position controller

      • It wasn't as straightforward as hoped, but still only required about 3 files to be edited

      • Flight test on Thursday...

  • High Bay Storage

    • Received all the bin boxes and bench-top shelf

    • Sorted everything into bins, including tools & project components

      • Still need to add bin labels

    • Received the missing components for the shelving unit

      • Assembled the shelf frame, will add shelves based on height of MAVs

  • IAC

    • Submitted poster PDF to Cindy

    • Demo?

Chris/Andrew

  • Used Ubuntu to control GPIO pins on BBB

  • Created Python script to run servo motors at various speeds

  • Integrating scripts with ROS using the turtlebot keyboard node

  • Current program can receive data from publisher, working on manipulating messages to output different values

  • Working on running Python scripts within new ROS node

Tyler

  • Boomcopter able to be initiated with a POT on the transmitter

  • Test flown with boomprop

    • Requires 50% throttle to fly level with boomcopter enabled

    • Requires 60-70% throttle to hover without boomcopter

    • Boom motor may be maxing out battery

October 15

Daniel

  • Vicon Loiter

    • Initial plots of lean angles calculated from cos_yaw and sin_yaw look correct

    • Will perform test flight with adjusted values

  • Storage area

    • Received and assembled bench-top storage unit

    • Will unpack bin boxes today

October 11

Andrew

After looking into the components required for the robot, it is my opinion that major changes will need to be made from the previous design.

  • Motors

    • The previous motors are rated for about 2 oz-in torque. With the proposed "wheels" having a radius of about 2" the robot would have had a combined driving force of about 4 oz. It is questionable whether it could have even driven on flat ground. Furthermore, there was no motor encoder so syncing the "wheels" would have been impossible.

  • Camera

    • The previous design proposed the use of an independent spy camera requiring a 9V power source and an independent wireless receiver plugged into a TV. There was no connection to the beaglebone. This would limit the camera's ability. There would be no way for the robot to record video if it were to operate autonomously outside the range of the camera's transmitter. Furthermore it would have been necessary for the robot to carry an additional 9V battery. I don't think there was space for a traditional 9V battery, and it's not efficient to have two power sources.

    • The other proposed option was to use a camera cape. This theoretically would work, but the current robot does not have enough space for it.

  • Battery

    • The proposed battery is a small 3.7V li-po coupled with a "power booster" board to up the voltage to the beaglebone's required 5V. It will be necessary to use a larger battery, probably a 7.4V li-po because the larger motors we are looking at run at 6V, and we could eliminate the use of the "power booster."

The robot is going to have to get bigger. I don't see a way around that. I am working on a new component list, "purchase list.xlsx", which can be found in the AgBug folder on the network drive.

October 8

Daniel

AgBug

  • Troubleshooting wifi connectivity issues

    • Seems to drop unexpectedly and software has to be restarted

  • Still investigating Ubuntu/BBB interfacing with I/O pins

  • Motor selection

    • motors with encoders are larger

    • stepper vs DC w/encoder?

    • Smallest are approximately 20mm diameter and 50mm long

  • Wheels

    • prototype 1 design complete

    • will print trial soon

  • Frame

    • frame work pending motor selection

    • battery access door first concept complete - need to print

    • current CAD model is unstable - will need to redraw it

    • various other tweaks competed

    • Tyler

      • Test flown & Tuned

      • Working on getting the motor to manually turn on via transmitter switch

      • Looking into V2 frame design and electronic components

October 1

Daniel

  • Vicon Loiter

    • Began looking at flight logs from last flights

      • There is some discrepancy between the actual waypoint commands and the EKF-estimated roll/pitch and actual velocities

      • The internal coordinate transform matrix may need to be updated when yaw is overwritten so that valid roll/pitch commands are generated from desired x/y velocities

  • BoomCopter

    • We need to machine a flat onto the new BoomProp motor shaft & drill and tap a set-screw hole in the timing pulley

    • The ME shop has not responded to emails or phone calls about what is available (in terms of drill/tap sizes)

  • IAC

    • Poster Title and Abstract due tomorrow (Fri. Oct. 2)

    • I emailed a draft for discussion last night/this morning

  • Office space

    • I propose that we make the transition to the high-bay area sooner than later so that we can get a better feel for what additional cabinetry/shelving we will need moving forward

    • This could be done at the same time as IAC clean-up

Mark

  • Manufactured a PixHawk - BBB uart connection cableuart connection cable

    • Uses Serial 4 on Pixhawk.

    • MavROS runs through UART, FTDI, or usb though usb is highly discouraged

    • Messages are being sent from Pixhawk but are currently not valid.

  • BBB damages being incurred

    • Silver BBB no longer can be powered off usb. Its been this way for a while but i don't think I even informed people. Also, I forgot this over the weekend and thought I broke the BBB.

    • Some BBB sd degradation is occurring. Not sure the implications, no issues from this yet (device format is now unrecognizable to windows but still can be imaged fine)

  • Magically now the BBB can connect to the internet through wifi

Tyler

  • BoomCopter fully put together and assembled

  • Having problems with getting autotune to work

September 2015

September 24

Chris & Andrew

  • Finalized timeline with manufacturing and testing

    • On SPIRA at: 'AgBug/AgBug Timeline.xlsx

  • Updated hardware list with items in lab and parts that will need to be purchased

  • Installing ROS on BBB

  • Investigating how to control BBB with Xbox controller

Tyler

  • BoomCopter 3D Prints finished and components mounted

  • Test Flown - still needs tuning

  • Ordering new hardware

September 10

Daniel

  • Vicon Loiter

    • Contacted Vicon Support

      • They explained how the GetSegmentLocal... functions work, and they won't give us the information that we want

      • Any local position/orientation information we need must be calculated manually

        • We have already resolved this:

          • Local Orientation information is calculated through a quaternion

          • Local Position information is calculated through an inverted rotation matrix

          • Each of these methods has been tested and seems to give correct results

    • SD Flight Logs

      • I figured out how to get the flight log converter (from .BIN --> .csv) to extract the data based on the Vicon update rate, so we now have flight logs that match the resolution of the Vicon data

        • This will be very helpful in comparing the Vicon data to the EKF estimated data, and the Waypoint Navigation (XY controller) estimates

    • Performed several flight tests on Sep. 4 (data is on SPIRA at: MAVs/Flight_Data/sep4)

      • Discovered that even the Loiter code that is "working" only works with the IRIS oriented in 1 specific direction

      • The APM position/orientation estimators and XY position controllers are very unclear about the coordinate frame in which the vehicle position/orientation data is supposed to be.

        • Thus, I performed several flight tests that use Global (NED) Vicon data, starting out with various headings (e.g. facing north, south, west, and east)

        • I also performed several flight tests that use Local (FRD, front-right-down) Vicon data, also starting out with various headings

        • So far, the IRIS can still only hold position when facing in one specific heading

          • I still suspect that somehow the x and y positions need to be adjusted, but I'm still looking at data to pinpoint the problem

  • Safety Training

    • Talked to Bob about what everyone will need

      • Each person will need to have:

        • Right-to-Know training up to date

        • A separate copy of the Safety Checklist form with parts A & B filled out.

        • A copy of the Experiment Checklist (the Excel spreadsheet we created outlining procedures)

        • A thorough understanding of everything in both checklists mentioned above

          • During the safety check, each person will take a turn going through the entire checklist

            • To save on time, they will probably just have one person physically go through the Vicon calibration portion, and the others will just talk through the Vicon calibration to demonstrate that they know how.

          • They also probably will NOT be required to fly a UAV during the safety check

Tyler

  • BoomCopter

    • Still working on rearranging the components (GPS, Telemetry, etc.)

    • 3D Printing some new mounts

    • Looking into places (outside) where we can tune the PID gains

      • This will require a large open space (perhaps just use the Gold intramural field?)

      • May contact the local RC club(s) -- Orkan (2nd Floor HLAB) might have contact info.

Chris & Andrew

  • Made a timeline with major milestones for CM Robot (AgBug).

    • On SPIRA at: 'AgBug/AgBug Timeline.xlsx'

    • It includes primary/secondary objectives and deliverables

    • Will update with more specific manufacturing and testing objectives

  • Created hardware list with available parts and parts that will need to be purchased

  • Reviewed previous CM robot design and documentation

  • Began organizing division of labor for electronic and mechanical objectives

  • Currently researching hardware that is compatible with BBB/ROS/Ubuntu

September 3

Daniel

  • BoomCopter

    • Met with Tyler & discussed how to move forward

    • Made a timeline with milestones for development

  • Vicon Loiter

    • The CSV file made by the default SD log converter (distributed with Pixhawk SD card) has about 0.3 - 0.5 sec. between data points

      • Found a way to get more resolution, but one file is about 274 MB... working on finding a middle ground

    • Plotted data from the spiraling flight log files and still can't find anything to suggest what may be causing the problem

    • Working on a flight test with roll/pitch overwritten

August 2015

August 27

Daniel

  • Vicon Loiter

    • Working on fixing spiraling:

      • Only happens in Loiter mode, once in Stabilize mode, roll/pitch very stable

      • Adjusted and/or removed integral gains

      • Replaced global yaw with local yaw

      • Next: reset roll/pitch

    • Added Vicon data to flight logging

  • Matlab Log file reader

    • Wrote Matlab converter to go from .bin log file to .csv

    • Made a GUI to plot Vicon &/or SD Log data for analysis

August 19

Daniel

    • Vicon Loiter

      • Had multiple successful test flights with accurate position hold

      • After holding position in Loiter mode for about 3-7 mins., the quadcopter begins spiraling and becomes unstable

        • This is very similar to the toilet-bowl effect discussed in the forums, but we are not using the onboard compass, so magnetic interference doesn't seem like the culprit

        • It may be that we need to use the local yaw, rather than the global yaw when we overwrite yaw

      • While trying to send the local yaw rather than global, we discovered that the Vicon GetSegmentLocal... functions do not work properly, they just return the same data as the global functions

        • We may need to call Vicon and ask about this

      • More recent flight tests have had problems losing the Vicon link

        • The Vicon packet-reading function in the ArduCopter code had a few bugs that may have caused some packet loss in boundary cases, but this doesn't seem to be primary cause since Loiter was working reliably last weekend

    • It would be good to get "ladder training" just in case we need to use a ladder in the lab

Mark

    • comPort_node Program

      • I've uploaded my entire coding directory to the repository

        • (MSRAL\\Current Projects\MAVs\COM_Port_Synchronizer)

        • Inside there is a file at (\COM_Port_Synchronizer\ros_ws\src\comPort\src) called comPort_node.h which has a long description of how to use this code.

        • These classes will need to be compiled on the devices you want to use them with. This can be done by installing ROS and calling "catkin_make" in the ros_ws folder.

          • Note: you will need to delete the leap motion program from the src folder to compile on the BBB. They don't support the drivers included.

          • Deleting the build folder in ros_ws sometimes helps with the first build

          • If you have clock sync issues on the compile step you have to "touch [file]" each file that it mentions having a edit time stamp in the future. This is primarily an issue on the BBB which rarely have access to the internet.

    • Vicon Position Control

      • Worked with Daniel to get the copters to hold position.

August 12

Daniel

    • Vicon Position Control

      • Fixed some bugs with velocity calculation, still working on getting Loiter to hold XY position

      • Working on Vicon data plotter in Matlab to help with PID analysis

    • BoomCopter

      • Did thrust tests on BoomProp

        • Pulley is not compatible with current design, so couldn't do full throttle

        • Got to just under 50% throttle with 375 g thrust

      • Need to build a harness to do first flight test

      • Got Vicon code compiled and uploaded to TriCopter, verified tail servo works properly

Mark

  • BBB - COM Serial Program

    • Functional and Tested!

      • Drove the Turtlebot using the leap without any wifi or wires connected.

    • All required features are included and working.

    • Continuing to Extend Features

      • Currently Extending use to further ROS Message Types (So far string, int32, twist(what the turtlebots use), uint32)

      • Framework present for extension to resolve connection differences between devices, unsubscribe connections, printout system status, message stats, etc.

  • QuadCopter

    • Downloaded code base and succeeded in compiling.

    • Fixed Example sketches to compile with our Vicon edits.

    • Looking into implementing waypoint controls.

August 5

Mark

  • BeagleBoard Black Wifi Controls (Written for future reference)

    • /etc/network/interfaces

    • Also note domain issues might be solved in /etc/hosts (can't ping self and issues of that like)

  • BBB - COM serial program

    • Compiles and runs on both the BeagleBoard and computer

    • Working through bugs: currently one relating to receiving messages.

July 2015

July 30

Daniel

    • Vicon Position Control

      • Software

        • Matlab

          • Made a class that can stream binary messages through XBee

            • Used it to test the Vicon library on Pixhawk

          • Wrote a script to calculate maximum theoretical bandwidth (best and worst cases) for XBees with various baud rates and message sizes

        • Visual Studio / C++

          • Modified existing Vicon DataStreamer code to send binary messages

          • Added a "fake" message option, which will stream fake Vicon data for testing purposes

          • Added QueryPerformanceCounter() functions to make the data stream rate much more precise

            • Sleep() function in Windows is unreliable

          • Made the streamer more user friendly

            • Can now start and stop the Vicon stream by pressing any key, and can change the stream rate on the fly

            • Useful Vicon data is displayed in the command prompt once per second for easy monitoring

        • ArduCopter

          • Did a major overhaul of the Vicon library to make it more robust, readable and flexible

          • Added velocity calculation onboard at 25 Hz (so that the minimum detectable speed is 25 mm/s)

          • Enabled Loiter mode without GPS & overwrote yaw in EKF estimator

          • Lorenz Meier posted on a thread as recently as July 28, requesting for someone to submit and maintain code for motion-capture integration

            • We may be able to submit a pull request and have our code added to the ArduCopter code base

        • Saw another video suggesting that circling/spiraling motion is caused by compass errors

          • I will revisit the PX4 code and see if inverting yaw direction (i.e. should be +CW instead of +CCW) solves the problem

      • Flight tests

        • Success! Able to hold position in Loiter mode without any input from the RC controller

          • Still may need to tune the gains a bit to increase the stability

        • Much more info to come, including videos and data plots...

    • BoomCopter

      • Finished assembling all of the components, now just need to add the props and calibrate

      • Will try to perform BoomProp thrust tests tomorrow before I have to return the power supply

      • 3D-printed a mounting plate for the Pixhawk

      • Noticed that the BBB mount is cracking near the screws

        • May need to laser-cut an acrylic piece, or else strengthen the 3D-printed design

    • Packages

      • We have received all of the items that we ordered

July 29

Mark

  • Programming ROS-COM program.

July 22

Daniel

  • Packages

    • We've received everything we ordered over the past few weeks except 3 items

      • XBee adapter boards (Parallax, ordered July 16), timing belt (Amazon, ordered July 17), 4mm bullet connectors (HobbyKing, ordered July 10)

  • BoomCopter

    • Finished thrust/amperage tests with different propeller sizes (will most likely use 9" propellers)

    • Designed & 3D-printed a mount for the Beaglebone Black & buzzer/safety switch & optional battery strap

    • BoomProp

      • Received all of the hardware except for the timing belt

      • Discovered that the BoomProp components are designed for a longer boom, some options:

        • Modify some of the 3D-printed components to be shorter

        • Use smaller folding propeller blades

        • Use the extended versions of the carbon fiber booms (~4.33" longer)

    • Modified the power harness to include connectors for:

      • LEDs (2mm bullet connectors)

      • Beaglebone Black power (barrel connector from the 5V BEC built into the 3DR power adapter)

    • Next steps:

      • Mount the tail motor & servo & make custom power connector to go through boom

      • Mount Pixhawk, GPS, telemetry module, RC receiver & XBee adapter with 2-sided foam tape

      • Balance propellers & set up a rig to dynamically balance the motor/propeller combinations

      • Connect all servos to servo rail on Pixhawk (possibly secure with hot glue)

      • Add Loctite for all screws in frame, calibrate sensors and perform test flight

  • Vicon Position Control

    • Worked with Guangying

      • Added a Vicon library to the ArduCopter code

      • Discovered that significant changes have been made to the overall code structure and the flight controllers in the latest version of ArduCopter

      • We decided to override the sensor fusion since it is overly complicated (5000+ lines of code in 1 file) and substitute the Vicon position and velocity where the estimator would normally calculate them

        • The modifications are very similar to what was done in the PX4 firmware, but with Arducopter it seems much cleaner and more straightforward

    • Next steps:

      • Modify the Vicon data stream code (on Windows laptop) to send binary messages to be received by the ArduCopter Vicon library we added

      • Verify that yaw data from Vicon should come in radians from -pi -> pi, with clockwise from X-axis as positive.

        • Check in the PX4 firmware and/or flight logs to see if this may be what is causing the IRIS to spiral out of control

      • Test flight with ArduCopter & Vicon

Mark

    • 3D-Mapping

    • Ran the g-slam gmapping software which created a 2D room map.

    • Attempted to create a 3D map using kinect feed and g-slam positioning.

    • Successfully accessed the kinect depth field but haven't yet worked out how to stitch together a 3D image.

    • COM ROS node

    • Reached a complie-able version with bare minimum features.

    • Code now properly adds and manages subscriptions and publications.

    • Still integrating functionality and protocols for understanding the control messages sent across the serial port (We need to communicate between the nodes what topics to subscribe real time.)

    • Still also need to hand code how to handle each data type but that's inevitable.

    • BeagleBones

    • In spirit of how much ArduCopter was improved over PX4 I tested Angstrom build for control with PWM.

    • long story short.. its much easier though I haven't gotten ROS working so I'm not making any recommendations yet.

    • Luckily if we do switch, we really don't loose any coding progress. All c++ will still work when compiled again.

    • We would have to re-setup the devices which means installing turtlebot, wifi, compliers, etc which is probably more work than sticking with ubuntu.

July 15

Daniel

  • BoomCopter

    • Received several components... primarily waiting on propellers (for thrust/amperage tests)

    • May need some hardware to mount tail servo

    • Finished 3D-printing all of the parts for the BoomProp

    • Sourced the remaining BoomProp components: bearings, pulley, timing belt, fasteners

  • Prepared another purchase request

    • Includes BoomProp components

    • I will likely need a few more odds and ends for building the BoomCopter frame, but have been holding off so I can get as many into one order as possible

    • We can also add a router to the list if needed (Tentatively looking at the ASUS router recommended on PX4 website)

  • ArduCopter

    • Tested Sparkfun XBee adapter boards with ArduCopter, still couldn't get 2-way communication

    • Received Parallax XBee adapter board & soldered on DF-13 connector... ready to test it with ArduCopter

    • Made a "vicon" branch in the Github source and began making modifications to include VICON library

      • Position controller has changed from previous version (formerly AHRS/INav... now NavEKF hybrid)

Mark

  • Sensing

    • Scanning LIDAR

      • http://www.robotshop.com/en/rplidar-360-laser-scanner.html

      • Have one personally we can test with to make sure its useful (Might take some time today to figure out BBB pwm and digital I/O

    • DUO M - Lightweight ARM supported depth camera ($595 - $1000)

      • https://duo3d.com/product/duo-mini-lv1#tab=overview

    • ASUS XTION - probably best bet for rgbd camera unless we do depth field ourselves ($160)

  • xBee communication

    • Bare minimum version created. Testing

  • Able to submit a Duke Proposal?

July 8

Mark

  • BeagleBoards

    • XBee communication

      • C++ program works in the terminal. Currently expand to connect to ROS nodes (Technically can replace wifi all together if completely successful)

        • MAVLink nice but not really meant for two ROS running devices. We're too high tech.

      • Software Design Review

  • Turtlebots

    • Now completely wireless (We benefited by wireless camera)

    • Kinect may need some specialized controllers to not overwhelm beagleboards

      • Suggest investigation into hobbyist camera systems

Daniel

  • BoomCopter

    • Finished assembling the Turnigy Talon Frame

      • 1 faulty thumb-screw needs to be replaced or re-ordered

    • May need to design a mounting plate (3D-printable or Laser cut) for peripherals

    • Updated Bill of Materials to include Servo motor (for tail/yaw control)

    • Next steps:

      • Balance motors and propellers

      • Plan component layout and assemble power/control system

      • Thrust/Amperage tests to select propeller size

  • Vicon Control

    • Guangying Jiang from Prof. Voyle's group wants to team up to get position control working on Pixhawk hardware

    • Next Steps:

      • Finish reviewing APM example sketches and Yangbo's code

      • Test XBee communication with APM software

        • Found an alternate XBee adpater from Parallax to try out

      • Modify ArduCopter to accept vision position estimate & attempt loiter

      • Collaborate with Guangying for debugging and/or fine-tuning the controller

  • Guangying borrowed one of our FrSky D4R-II RC transmitters to test out a prototype hexacopter

    • Should return sometime this week

July 1

Mark

  • BeagleBoards

    • We have serial communication! (with xBee)

      • http://www.armhf.com/beaglebone-black-serial-uart-device-tree-overlays-for-ubuntu-and-debian-wheezy-tty01-tty02-tty04-tty05-dtbo-files/

      • Fix for missing /sys/devices/bone_capemgr.9

        • sudo apt-get install linux-3.8.13-bone68

        • sudo reboot

        • This rolls back the beagleboard linux kernal to before they tried switching how serial is done. Its possible that by the time this comes up again they will have the new system perfected.

      • must run echo ttyO1_armhf.com > /sys/devices/bone_capemgr*/slots each time you boot (can be put into a script)

        • run sudo su if permission isn't allowed.

      • Currently building COM ROS node

  • Router

    • Router the gave us is actually a switch (aka doesn't really solve any problems)

      • E Shop is unable to support/provide routers

        • Exceptions are processed by ITAP (ME 365 for example) but complications result from our web connected devices having motors.

      • Any router that is used must be self sourced and not be connected to the ECN/ITAP/Internet

    • Static IP's did not solve any problems with BBB connecting to internet

Daniel

  • Pixhawk programming: APM flight stack (Ardupilot)

    • Learned about the SVN server that is running on the spiralab server

      • 'svnserve' is a dedicated SVN server that handles file locking properly so the repository doesn't get corrupted

      • We now have a software repository on Spira for Ardupilot (APM flight stack)

        • Unfortunately, we discovered that the source code will not compile unless you use git

    • Created a Github account for the lab

      • username: msral-purdue, pswd: QC1

      • Forked the Ardupilot source code

        • Made a local copy of the code on my laptop, compiled and uploaded to the IRIS

  • Flight tests

    • Had a successful flight test with the Ardupilot binary compiled from source

    • Getting familiar with APM code structure so we can implement position control with Vicon

  • BoomCopter

    • Received several items: Propellers, power distribution wires, heat shrink, soil temp/humidity sensor

    • Wrote a simple Arduino program to read data from sensor

      • Can successfully get temperature (Celsius or Fahrenheit) and humidity readings via Serial communication

    • Found a video demonstrating GPS position-hold stability for Turnigy Talon Tricopter (link)

    • Attended seminar on distributed UAV control (formation flight using relative positioning obtained from computer vision algorithms)

June 2015

June 24

Daniel

  • BoomCopter

    • Selected components (motors, props, battery, ESCs, etc.)...

    • Finishing up BOM & formatting for purchasing

  • Motor/Prop Testing

    • Checked out power supply from E-Shop and wrote Arduino motor driver for testing

    • Performed Thrust tests (in PBE) for two different propellers on 850 kv motor

Mark

  • Beagleboards

    • Beagleboard controlling the turtlebot through with LEAP used for control - success

    • Router pending

      • BBB getting static IP addresses. Hopefully this solves the internet issue.

    • Power Adaptors Created for use with Turtlebot

June 17

Mark

  • Beagleboards

    • Returned to research however not a single BBB can connect to the internet at Herrick

      • Tried switching to network cable with/without router inbetween BBB and ECN network

      • Tried to repeat USB internet connection

      • Move to my apartment and the BBB connected perfectly with the network cable.

        • Worked even when buried behind 2 routers and a modem.

    • Creating Fresh Build that is designed to compile on the BBB instead of Cross Compile

      • Will bypass all the ROS/Leap/BBB issues I was having during the year

        • Advantage - Works

        • Disadvantage - Compile Times Double

Daniel

  • Vicon

    • Resolved Nexus video capture issue by rolling back the NVIDIA driver

    • Performed a few test flights and verified that the video did not cut out

  • BoomCopter

    • Found that the Turnigy Talon Tricopter is sold as a frame only (no ready-to-fly versions are available)

April 2015

April 30

Daniel

  • Vicon Position Control

    • Flight tests with POSCTL

      • Locks position, then slowly spirals out of control (this is intensified if the IRIS is moving when switching to POSCTL)

      • Encountered some calibration issues, may need to re-update Firmware

  • XBee

    • Serial communication works fine with 3V logic on Arduino Due

    • Tested outputs on Pixhawk with multimeter, voltage is identical to Arduino Due setup

      • May need to turn on flow control and/or handshaking bits

Chris

  • Brought BBB home, network sharing starting working again

  • Finished installing ROS, installed turtlebot software and some other needed software packages

  • Tested BBB with turtlebot, worked successfully with wired connection

  • Controlled turtlebot with teleop command by SSHing to BBB

  • Bought wifi adapter, still need to find molex cable for powering BBB through 5v on the Kobuki base

  • Network sharing issues still present and unpredictable

Mark

  • SD Card Imaging

    • mount | grep "/media/username". This will show the sdcard device (/dev/sdXX). Then run:

    • sudo umount /media/username

    • sudo dd if=/dev/sdXX of=~/BBB_IMAGES/15_04_27/imageName.img

    • dd if=~/BBB_IMAGES/15_04_27/imageName.img of=/dev/sdXX

April 23

Daniel

  • DX8 controller

    • Discovered that the controller has a charging circuit built-in, we just need to buy the right DC power adapter

      • Needs 12VDC (>= 200mA) adapter with 4.0mm OD x 1.7mm ID barrel plug

      • Will find a link to purchase (should be pretty inexpensive)

  • Vicon Position Control

    • Made a Matlab class to use for quickly verifying Vicon data output

    • Successful test flight in ALTCTL mode

    • Next:

      • Test POSCTL mode, would like to have another person present to help with this

  • XBee

    • Planning to test with the Arduino Due (since it has 3V Serial logic)

April 16

Daniel

  • Vicon Position Control

    • Removed the hard-coded setpoint at (0,0,-1) and still have instability in altitude

    • Heard back from Vicon support

      • Discovered that we can at least record sessions without the video stream

      • Vicon support recommends reverting the computer back to older Windows version since the newer Nexus software has not been updated to work on later Windows versions

    • When reviewing the recorded flight data, discovered that Vicon was "seeing double" on the markers and gave some inconsistent readings

      • I think that this is just a glitch that is easily resolved by reloading the IRIS object in the session, but I will verify with some tests

    • Finished writing the code to test the VISION_POSITION_ESTIMATE topic

      • Learned about the PX4 coding style and branching guidelines and used them in the latest code

      • Need to recalibrate the sensors and perform a flight test with the new code

Mark Schmidt

  • Mapped the Spira Server in Ubuntu and Windows

Ateev Gupta

  • The presentation of the poster went well

  • Daniel and I met James.goppert@gmail.com

    • He worked on some of the position control for the pixhawk

    • Currently running a startup to help users with the pixhawk

April 9

Daniel

  • Vicon Position Control

    • Next things to try:

      • Remove hard-coded (0,0,-1) setpoint to see if POSCTL stabilizes

      • Try running mc_pos_control by ONLY writing to the Vicon_Position_Estimate (can start by doing this over Serial 5, and switch to MAVlink when ready

        • This should be done by making a new branch on a new clone of the Firmware from Github

  • Sparkfun XBee adapters

    • Verified that MAVlink works on Serial 5 with c_uart_interface_example

    • Found a topic on px4users Google group, other people have the same problem with XBee: topic

Chris/Ateev

  • BBB

    • Formatted SD cards with .ext4 format, successfully installed Ubuntu 14.04, made sure it booted automatically, and installed ROS Bare Bones (no GUI)

    • Ubuntu will boot off of SD card, and all information will be stored on it as well

    • Installed other required programs such as Ubuntu common software packages, etc

    • In process of copying to one card to another

    • ROS installation went much smoother than previously, installing Turtlebot software is next

April 2

Daniel

  • Vicon Position Control:

    • Met with Jian (in Prof. Deng's group) about position controller

      • Found some issues with mc_pos_control:

        • Adjust thrust_int (integral of error) calculation

        • Need to set _vel_ff to zero to get position to go to zero

        • Adjust proportional gain on position control

    • Test flights:

      • Adjusting thrust_int caused IRIS to drop out of sky

      • setting _vel_ff to zero seems to have resolved the position error

      • still have altitude control problems

  • XBee:

    • Heard back from customer service

      • Everyone in their tech support group is stumped

        • They want us to send back some of our devices so they can test them and see what's happening

    • Will make a mavlink program and then test XBees on the SERIAL 4 or TELEM 2 port

March 2015

March 26

Daniel

    • Vicon Position Control:

      • Added z position setpoint, but still have altitude oscillation during position control

      • Will contact Jian in Prof. Deng's group for help with position controller

  • XBee Debugging

    • No response yet from Sparkfun

    • Want to set up MAVLink on Serial 4 and see if that helps (since using Serial 5 is strongly discouraged)

Ateev & Chris

    • Installing ROS and Turtlebot on the beagle bone black - Summary

    • kobuki base is still having difficultly installing.

      • We have been modifying the repositories

March 19

Daniel

  • IRIS 2 RC Receiver Repair

    • Discovered that the connector is actually Molex PicoBlade brand, and not JST-ZH

      • I was able to use the slightly oversized JST-ZH connector by trimming it and crimping it in the smaller die (1.0mm)

      • Re-assembled the "fixed" IRIS 2... Test flight pending

  • Sparkfun XBee Breakout Board Debugging

    • Set up one of the stand-alone Pixhawk boards to test the XBee communications.

      • Verified that we can send from the computer to the Pixhawk using the current setup, but cannot receive information back from the Pixhawk

    • Emailed Sparkfun tech support again with more details to see if they can help resolve the problem

March 12

Daniel

    • Vicon position control:

      • Incorporated Yaw into attitude estimator and position controller

        • Performed multiple successful test flights with the incorporated yaw measurements

      • Added code to calculate and store velocity from Vicon data

        • Experiencing some issues when the IRIS crosses into and out of the Vicon boundaries

          • X,Y,Z positions become unstable for some time, and then settle back to normal

        • Working on finding the source of the problem:

          • Could be in C++ Vicon_DataStreamer, Pixhawk: io_test, or temporary spike from Vicon DataStream (not likely)

      • Reformatted the XBee transmitters for easier debugging

        • Vicon data sent directly to IRIS 1 instead of broadcasting

        • IRIS 1 data sent to XBee 99 (for debugging), set up on a separate laptop

  • Submitted BOM for replacement components to repair the RC receiver on IRIS 2

    • We will also need some heat shrink, but electrical tape can work temporarily

Ateev Gupta

    • Built 2nd turtlebot

    • Signed up for the Poster Presentation which will be April 14th

    • BBB almost working.

      • Need Mark to change the password on his laptop

      • Need the E-shop to give me Sudo access on the red hat computer

        • Looks like I'm in trouble: http://i.imgur.com/JH7VBCj.jpg

Mark Schmidt

    • Helped Daniel with Vicon Flight Test

March 5

Daniel

    • Vicon pos control:

      • Spoke with Stephen and Jian in Prof. Deng's group

    • Things to test with existing position controller:

      • Use Vicon derivative for velocity

      • Overwrite Yaw in attitude controller

      • On a separate code branch:

        • Implement a new position controller, with mc_pos_control as starting point

          • Decided that optimal control should just be PD on position

        • Once the controller is working, switch to mavlink and SERIAL4 port.

February 2015

February 26

Daniel

    • Vicon controlled flight:

      • Adjusted the PID gains in the position controller.

        • Improved the overall performance of the system, but there is still a significant drift leading to instability

      • Recalibrated the ESCs to see if this will help with the drifting...

        • Helped significantly with forward drift

      • Looking into changing from Serial 5 to Serial 4 (so we are not using the debugging/log communication line)

      • Planning to switch to DX8 controller for more reliability

        • Can't find charger, so will try the new 3DR controller

    • Turtlebot Link

    • link

Mark

    • ROS/BBB

      • Successful Compilation of ROS with Leap Motion.

        • A CPP file that prints out and roll, pitch, yaw has capacity to print all leap generated position and vector data (only takes uncomments).

      • Working to control TurtleBot with Hand Tilting

February 19

Daniel

    • Vicon -> GPS

    • Performed several more flight tests in POSCTL mode

        • We had a successful test flight with fake GPS (to allow POSCTL mode) and Vicon position overwriting position estimator.

        • We hard-coded the position set point to x=0, y=0 and the IRIS actually circled around the setpoint.

        • We have some videos and QGroundControl log files to analyze the control action

        • Video

      • Next Step(s)

        • We now need to find out a few things inside the Pixhawk position controller code:

          1. The minimum error threshold (e.g. the controller may stop applying control action if it's within ~1-2 meters, since that is all you need for GPS positions, but we would want more like a few inches for our setup)

          2. The PID controller gains (these will probably need to be adjusted for this indoor setup, or at least scaled so we can get closer to the target position

      • Also noted that the PX4 flight stack Firmware continues to be updated daily, with some updates requiring a re-calibration of sensors (link)

February 12

Daniel

  • Vicon -> GPS

    • Performed test flight in ALTCTL and POSCTL modes

      • ALTCTL works great

      • POSCTL does not work properly with fake gps data

        • Adjusted GPS weight, made system unstable

    • Now using a different method to directly send Vicon XYZ to position estimator

      • Test flight soon

  • 3DR RC Controller

    • Customer support says RC is on backorder and will ship as soon as available

  • Limonene container is now labeled

  • XBee Explorers

    • Discovered that we can send data to the Pixhawk successfully, we just can't receive messages back

      • Thus, the boards should work for now, but I will still try to get them working properly when I can give it some more time.

February 5

Daniel

    • Vicon -> GPS

      • Successfully converted Vicon XYZ to a GPS latitude/longitude and transmitted to Pixhawk

      • Calibrated the RC to map necessary flight modes (altCtl, posCtl)

      • Modified existing drivers and operating settings in the PX4 software to accept fake GPS

      • Next Step: Test flight

    • Limonene labels

      • Obtained necessary labels from Bob

      • Waiting to hear back from Ron about MSDS so I can fill out the labels and then put them on the container

    • 3DR Controller

      • Last correspondence was Wed. Jan. 28. - said they would send an email when the RC shipped

        • Could this email have gone to the ME Business office like the shipping labels?

          • If not, I will email 3DR requesting an update

    • XBee Explorer Regulated

      • On hold until Vicon->GPS is working...

January 2015

January 29

Daniel

    • Vicon -> GPS

      • Successfully uploaded the custom-built firmware onto IRIS+

      • Successfully transmitted Vicon data to Pixhawk

      • Next Steps:

        • Working on converting the XYZ to a valid GPS coordinate

        • "Publish" the Vicon gps data on the Pixhawk for position control

    • XBee Explorer Regulated

      • Soldered a "fresh" regulated board

        • Verified that it works properly using Serial comm. on Arduino Due (3.3V logic)

        • Did not work with Arduino Uno (5V logic)

      • Next Steps:

        • re-wire the connectors to go through the DIN/DOUT ports on the regulated board (instead of bypassing them)

    • 3DR Customer Support

      • Said they didn't receive controller in mail, but ordered a new controller for us

        • We should receive an email with tracking number when it ships

    • Tools/Supplies

      • Received Limonene & container and the other tools from Amazon

      • Rechargeable batteries installed in IRIS+ controller

Chris

Mark

    • BBB

      • Program Compiling + Sending Script Finished

        • syntax compileSend.sh executableFileName source.cpp

          • Current Directory must include source.cpp

          • Compiling requires compiler arm-linux-gnueabihf-g++

        • saves files to ubuntu@arm:~/compiledPrograms

    • Leap Motion

      • Successfully streamed hand data from leap

        • goal - write c++ file to integrate into ROS

January 22

Mark

    • Continuing to improve compiling for BBB

      • Program Compiling Script created

        • Cross Compiling Script Working

        • Copying Script to BBB in progress

      • Testing programming for Digital In-Out Functionality

      • Next up - ROS cross-compiling next (For use with turtle-bots)

      • Discussion: Code Repository? (Possibly on the Red Hat Machine) VPN?

January 15

Daniel

    • Continuing to work on installing custom-built firmware onto the Pixhawk

      • We have encountered some error states that are not documented in the Pixhawk API/forums

        • Red-->Yellow Breathing LED, with slow beep

        • Posted on the px4users Google Group

      • We recently learned that the IRIS+ ships with APM firmware (ArduCopter), but we have been developing with PX4 flight stack

        • Details about the differences are described here.

        • We will need to use QGroundControl rather than MissionPlanner software

          • This also seems to include a different calibration scheme (see this px4users topic)

      • Discovered a potential bug in the source code specific to the IRIS+ on Github.

        • This appears to be an ongoing issue related to the Pixhawk hardware installed in the IRIS+.

        • Uninstalled the Firmware Development Toolchain and will reinstall with the latest code release to see if that fixes our problems

December 2014

December 11

Daniel

    • Connected to the Pixhawk using XBees and the Serial 4/5 port

    • Found a mounting location on the IRIS+ frame for the XBee module

      • Currently using velcro strip to mount XBee receiver

    • Working on substituting GPS data with Vicon data in the Pixhawk control loop

December 4

Andrew

  • to dissolve the the Makerbot support, technical grade Limonene can be - as opposed to food grade.

    • in the reviews I read, they did not dilute the solution out of the bottle

    • something like this would work: http://www.amazon.com/Florida-Chemical-D-Limonene-Gallon/dp/B00HGFTSIW/ref=sr_1_2?ie=UTF8&qid=1417708167&sr=8-2&keywords=limonene

    • for storage, the container will need to be compatible with limonene (does not dissolve in it). I have not yet found a bucket or tub that I can confirm the type of material for

      • here are some guidelines:

      • http://www.usplastic.com/knowledgebase/article.aspx?contentkey=950

      • http://www.floridachemical.com/dlimoneneproductcare.htm

November 2014

November 25

Daniel

    • Ran Nexus Pipeline (post-processing) on recorded trials from connected flights

      • Saved the videos as .wmv files in the SPIRA server

      • Also saved the .csv data in the SPIRA server

  • Unpacked the XBees and programmed them to stream Vicon data

    • Each XBee has been assigned an address and has a label/sticker to identify it

    • Next step will be to solder headers and connectors on XBee breakout boards and find a place to mount the XBee on the IRIS+

November 20

Daniel

    • Adapted the example C++ program to connect into the Vicon DataStream

      • Program obtains position/orientation for all subjects in the space

    • Also adapted a C++ program that connects to the COM port and can send data with standard serial protocols

      • Verified serial communication by controlling an Arduino Uno through the COM port

      • Working on integrating this into the Vicon DataStream program so the Vicon data is sent out in concise messages

        • Messages will start with Object ID and contain global XYZ & EulerXYZ

    • Submitted list of XBee components to order, and will integrate them with the C++ programs when they arrive

Vicon-Pixhawk Communications with ROS:

https://github.com/pixhawk/mavconn/blob/master/src/comm/mavconn-bridge-vicon.cc

November 13

Andrew (unable to attend)

    • limonene can be purchased on Amazon

    • to hold the solution we could use a 5 gallon bucket with a lid such as:

UPDATE: need to confirm bucket material is compatible with limonene

http://www.homedepot.com/p/Homer-Bucket-5-gal-Orange-Bucket-05GLHD2/100087613#specifications

http://www.homedepot.com/p/Leaktite-5-gal-Homer-Leakproof-Lid-5GLD-ORANGE-LID-for-5GL-HOMER-PAIL/202264044

November 6

Daniel

    • Implemented proportional control on x-y position and yaw angle for AR.Drone

      • Working on outline for demo

    • Opened fully assembled TurtleBot

      • The TurtleBot's netbook has the following software

      • This is what we will install on the BBBs

        • The TurtleBot came with an Ubuntu image with ROS pre-installed on a USB stick

          • Depending on the requirements of the BBB, we might be able to use this to get them setup with Linux/ROS

Mark (Unable to attend meeting)

    • Programmed a simple javaScript LED flash program on BBB.

    • Attached the BBB to the TV and explored the existing Linux installation.

      • It was suggested by BB to update the OS on the BBB before doing anything else. We should make sure we all agree upon the same OS so that everything is compatible. Most sources suggest Angstrom but let me know if another distribution is preferred like Ubuntu.

        • Ångström - recommended by BBB and has a separate ROS distribution.

          • http://www.angstrom-distribution.org/

          • https://github.com/vmayoral/beagle-ros

      • The TV crops incoming HDMI images which is a symptom of computer and TV standards not agreeing. Are there any free computer monitors with HDMI ports? If not, the TV can be setup but it would take the remote which I couldn't find. (or an HDMI to DVI converter)

    • Goal going forward:

      • Update/Install Angstrom with SD card.

      • Get Laptop prepared to compile for the BBB (BBB cannot self compile code)

      • Play around in BBB and external LEDs or simple sensors.

Tom (Unable to attend meeting)

    • Confirmed that the Replicator Z-18 is a single extrusion printer

    • Direct quote from Makerbot contact "Because the MakerBot Smart Extruder is easily swappable, the potential to be able to utilize different extruders for different materials is one of the great advantages of our latest platform. While I can't say when or how exactly that will work, that is definitely the thinking behind the platform. I don't have a product roadmap to share for 2015."

    • In order to use two different filaments we would have to pause the printing process, swap filaments, and continue.

    • Unfortunately they do not have any information regarding the flexible filament besides what is on the website http://store.makerbot.com/flexible-filament

Andrew

    • Makerbot flexible filament cannot be printed at the same time as or bonded to another type of filament

      • the flexible filament is for the Replicator 2 which only has a single extruder

      • the flexible filament has a very low melting temperature compared to ABS and PLA so bonding would be very difficult

    • Continued work on CAD models

October 2014

October 30

BBB reference manual: https://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_SRM.pdf?raw=true

New lab server:

    • “Map network drive”:

      • MAC:

        • smb://spiralab.ecn.purdue.edu/MSRAL

      • PC:

        • \\spiralab.ecn.purdue.edu\MSRAL

    • Login with your Purdue Career account credentials

    • For PC users, double check the domain is "ECN" and not your own computer

    • Current Projects --> MAVs

Andrew

    • Confirmed there is no Arduino in the cabinet at Herrick

    • Test stanchion and fan/prop mounts measured and some CAD produced

      • Next Step: finish CAD and fabricate/print mount to hold fan/prop to stanchion

    • Tools desired for Herrick:

      • calipers, tape measure, screw drivers (philips and standard - small sizes), allen wrench set, needle nose pliers, small channel-lock pliers

      • Note: I have not inventoried the tools we have in ME 1164

    • Printed flexible part in ABS to investigate feasibility of 3D printed compliant mechanism

      • I am concerned that the printed layers may delaminate after prolonged repeated flexing

    • Still in progress: actuation concept modeling

Daniel

    • Got Vicon DataStream information into a useable form in Matlab

    • Discovered that Vicon DataStream is not compatible with Simulink

      • Working on an alternate controller based on the ARDrone class

Tom

    • Asking Makerbot about the properties of the flexible filament as well as if the Z18 Makerbot can use other filaments even though it is not optimized. (Flexible, dissolving, etc.)

October 23

Daniel

    • Completed a 1st draft for the "MAV Reference Sheets" to supplement the safety checklist

      • One "Sheet" (2 pages) for each of the 3 MAVs

    • Working on getting AR Drone to go through waypoints

      • Simulink files won't build because of a compiler issue

Andrew

  • Located batteries, motors, controllers, fans, propellers, tachometer, Watts Up meter, and thrust scale mechanism

    • Next Step: charge batteries, devise test parameters, circuit, and logic

  • Generated potential actuation concepts: pin and arm/cable, direct servo, compliant 2 arm

    • Next Step: evaluate and choose design to prototype

  • http://ieeexplore.ieee.org.ezproxy.lib.purdue.edu/stamp/stamp.jsp?tp=&arnumber=6564711

    • paper on tilt-rotor quadcopter including example of pin and arm mechanism and calculations for gyroscopic effects induced by tilting propeller

Tom

October 16

Daniel

    • Updated NEXUS instructions and added them to the binder in the lab

    • Finished the MAV poster for the IAC (submission due Oct. 22)

      • Submitted to Donna on Wed.

    • Researched autopilot for MAVs

      • Pixhawk is definitely the best choice (more expensive though)

        • Key points: 32-bit vs. 8-bit, and future support (APM phasing out)

October 2

    • Follow up on getting CAD files - DC sent follow up e-mail on 10/5

    • Send out Paul Pounds IROS 2013 paper - DC

    • 3D printing contact: Mike Sherwood / Mike Logan - TD

      • buy own material? account numbers? etc.

      • ME 3D printers / AFL 3D printers --> check out different types/kinds

    • TurtleBot contact: Luke @ Clearpath Robotics - DC

    • Send NEXUS doc to group - Done (DC sent to DM)

      • Daniel, please modify by incorporating screenshots from ppt file

      • Completed Nexus Instructions - DM

    • Finalize testing checklists - DM

    • Get Omnicopter instructions - DC

    • Send copy of MAV poster to Daniel - Done

      • Send abstract - Done

    • Helicopter swashplate dynamics - AW

      • How much equivalent "servo angle tilt" can we get?

September 2014

September 25

Adminsitrative

    • E-mail IDETC paper on Omnicopter to group - DC

    • E-mail IROS paper on 3D printing parts with polymer resin injections to group - DC

    • Get Omincopter CAD files and send to group - DC

    • Vicon testing for flapping wing robot on 9/26 @ 3:30pm in PBE Lab - ALL

    • Order TurtleBot robots for easier system level testing - DC

      • Find out spec's, get quote, with and without laptops - DM

Vector servoing mechanism design and fabrication - Andrew

    • Investigate 3D printing with sheet metal/foil overlays for improved performance

    • Investigate propellers with swash-plate mechanisms to replace ducted fans with servos

    • Power comparison

    • Weight comparison

    • motor mounting and control

    • comparison with variable pitch propellers

Reinforced compliant airframe design - Tom

    • Investigate IROS paper on 3D printing with polymer resin injections

    • Identify what polymer resins and accessories we need to try this

    • Modify/Create CAD files for new compliant airframe

Modeling and Control - Daniel

    • Investigate the dynamic model for the 3 propeller swash-plate mechanisms to replace the ducted fans and servos

      • What do we gain / lose with this approach?

      • Have others tried this? why or why not?

    • What about a quadorotor with 4 propeller swash-plate mechanisms? full control?

    • Draft a testing procedure check-list for Vicon testing

    • Start with ROS-Beaglebone-Ardupilot interfacing

      • Prototype on ground vehicles first

    • Goal: multiple UAVs/ground robots operating at same time by end of semester

      • Need wireless router

ark