Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
H harvest-automation
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 4
    • Issues 4
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Henrik Andreasson
  • harvest-automation
  • Merge requests
  • !3

Merged
Created Jul 27, 2020 by Nicholas Shindler@nicholasMaintainer

Refactor Project Structure

  • Overview 0
  • Commits 15
  • Changes 52+

Total Project Structure Refactor

Improve code efficiency

  • create a child class from mindprobe client to add an additional layer of functionality
  • give the client the responsibility of handling data
  • place all controller classes, sensor classes and ROS service classes in arrays that are created when the client is initialized
  • write all msgs to the robot on the ros loop interval, to minimize the number of msgs being sent
  • pass the data directly to the sensor data publishing classes from the listener (rather than collecting from the buffer on interval)
  • replace setter/getter with reader/writers to fit new structure.

Clean up project

  • add in black python formatter
  • add in flake8 python linter
  • update readme documentation
  • moved some general functions from mp to utils
  • moved listener to its own file
  • moved resources files into hv_bridge
  • added __init__.py files

Implement correct formatting for lidar data

  • now using global sick scan data
  • must be converted to char string before parsed to float
  • TODO: may be possible to make more efficient by adding in a special case handler in the get tlv methods

Start implementing improved error handling

  • add try/except to most functions
  • passing most errors up to main function
    • TODO: add in error handling for specific functions and errors
  • using traceback to show where in code error occurred

implemented initialization modularity and launch files

  • hv_bridge launch file to launch the robot to ROS connection with all features enabled
  • harvey launch file to launch the robot to ROS connection with all features enabled as well as the harvey demo code
  • teleop launch file to launch only the robot control functions enabled as well as the hv_teleop function
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: refactor