Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: basic safety manager #176

Merged
merged 9 commits into from
Nov 17, 2021
Merged

Feature: basic safety manager #176

merged 9 commits into from
Nov 17, 2021

Conversation

joshmackwilliams
Copy link

A basic safety manager is now ready, which hosts a service of type SafetyEvent on the topic safety_events. It only logs events currently, but that is the scope of this particular task.

@wheitman
Copy link
Contributor

Will review ASAP


---

# We send nothing back, but this is used as an acknowledgement
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to ask you about this... Why not send back the desired safety command as the response, rather than separating it into its own service?

@wheitman wheitman merged commit ead015b into dev Nov 17, 2021
@joshmackwilliams joshmackwilliams deleted the feature_basic_safety_manager branch November 19, 2021 05:24
wheitman pushed a commit that referenced this pull request Dec 12, 2021
* Initial draft, with quite a few TODOs remaining

* Revise the README

This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy.

* Add I2C interface and GPS node

* Feature: basic safety manager (#176)

* Implement hello-world package safety_manager

* Create service interfaces for safety manager

* Add stubs for test client and server

* First draft of TestServer

* First draft of TestClient

* Add simple tests for TestClient and TestServer

* Create basic safety manager with dummy logging

* safety manager now logs some info about events

* simple tests for the safety manager

* Add watchdog schematic (#180)

* Add basic sidecar design notes

* Add schematic

* Automatic testing with GH Actions (#182)

* Add automatic testing workflow (version 1)

* Fix syntax error

* Skip packages and run on pushes

* Rosdep will now ignore errors

* Install colcon-common-extensions and vcstool

* Install colcon mixins, as in ROS dockerfile

* Removed troublesome packages

On doing a docker build, the mpc_controller and
test_trajectory_following packages were causing rosdep to throw
errors. After talking with Will, it seems we don't actually need
these packages, so they have been deleted.

* Use docker for build and test

* Don't run on pushes

* Remove *_nodes packages from testing

* Retest up to 8 times on failure

* Add sleep time to safety manager test

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>
wheitman pushed a commit that referenced this pull request Jan 24, 2022
* Initial draft, with quite a few TODOs remaining

* Revise the README

This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy.

* Add I2C interface and GPS node

* Feature: basic safety manager (#176)

* Implement hello-world package safety_manager

* Create service interfaces for safety manager

* Add stubs for test client and server

* First draft of TestServer

* First draft of TestClient

* Add simple tests for TestClient and TestServer

* Create basic safety manager with dummy logging

* safety manager now logs some info about events

* simple tests for the safety manager

* Add watchdog schematic (#180)

* Add basic sidecar design notes

* Add schematic

* Automatic testing with GH Actions (#182)

* Add automatic testing workflow (version 1)

* Fix syntax error

* Skip packages and run on pushes

* Rosdep will now ignore errors

* Install colcon-common-extensions and vcstool

* Install colcon mixins, as in ROS dockerfile

* Removed troublesome packages

On doing a docker build, the mpc_controller and
test_trajectory_following packages were causing rosdep to throw
errors. After talking with Will, it seems we don't actually need
these packages, so they have been deleted.

* Use docker for build and test

* Don't run on pushes

* Remove *_nodes packages from testing

* Retest up to 8 times on failure

* Add sleep time to safety manager test

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>
wheitman pushed a commit that referenced this pull request Jan 24, 2022
* Initial draft, with quite a few TODOs remaining

* Revise the README

This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy.

* Add I2C interface and GPS node

* Feature: basic safety manager (#176)

* Implement hello-world package safety_manager

* Create service interfaces for safety manager

* Add stubs for test client and server

* First draft of TestServer

* First draft of TestClient

* Add simple tests for TestClient and TestServer

* Create basic safety manager with dummy logging

* safety manager now logs some info about events

* simple tests for the safety manager

* Add watchdog schematic (#180)

* Add basic sidecar design notes

* Add schematic

* Automatic testing with GH Actions (#182)

* Add automatic testing workflow (version 1)

* Fix syntax error

* Skip packages and run on pushes

* Rosdep will now ignore errors

* Install colcon-common-extensions and vcstool

* Install colcon mixins, as in ROS dockerfile

* Removed troublesome packages

On doing a docker build, the mpc_controller and
test_trajectory_following packages were causing rosdep to throw
errors. After talking with Will, it seems we don't actually need
these packages, so they have been deleted.

* Use docker for build and test

* Don't run on pushes

* Remove *_nodes packages from testing

* Retest up to 8 times on failure

* Add sleep time to safety manager test

* Issues #17 and #18 (#179)

* added path_planner package, cubic spline implementation, and offset spline header

* - added library for splines
- added wrapper for position splines
- added lane center line->spline generation

* fix typo

* added points for lane boundaries

* fix compiler errors and some other stuff i forgot

* updated formatting + tests

* fix tests and add more comments

* Update license with GPL and add test function comment

Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com>

* Hotfix: actually poll messages & put them into a non-null buffer

* Fix build error with symlink_install and object libs (#203)

* Add lio-sam and ring channel emulation

* Working initially

* Finish mapping tweaks, working in sim

* Create "hubble"  localization package

* Add saveMap servicewa

* Update GPS node to use Odom msg

* Add data_collection.launch.py

* Add grid_divider, update GPS node

* Add gomentum pcds, grid_divider script

* Add grid_divider, update hubble, gps
- grid_divider is script to divide AND FILTER a big PCD map
- Hubble now uses python, will move back to C++ later
- Fix seg fault in GPS (thanks to Avery)

* Remove maps using .gitignore

* Remove useless script

* Add to mapping nodes

* Switch from IMU integration to ZED odom

* Add mapping GPS debug

* Finish basic mapping with lio_sam. Needs filtering

* Add map loader

* Add lanelet visualization

* Cleanup, add deviation_report skeleton

* Remove buggy junk from Autoware

* Rename lio_sam, fix safety_manager static build

* Finish working prototype of icp_nudger

* Add maps for gomentum

* Add campus map cells; switch nudger to NDT

* Update robot_localization

* Change state_estiamtion to hubble. Docker works!

* Add robot localization

* Update route planner to new design (#206)

* trim autoware code

* Route planner logic and basic testing

* Node and message update

* Cleanup and docs

* Disable linter on lanetlet2_global_planner

Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com>

Thank you @EganJ !

* Disable linting in all packages

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>
Co-authored-by: Jim <80440382+jim-works@users.noreply.github.com>
Co-authored-by: Egan <34986820+EganJ@users.noreply.github.com>
wheitman pushed a commit that referenced this pull request Jan 25, 2022
* Release 1.1 (#196)

* Initial draft, with quite a few TODOs remaining

* Revise the README

This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy.

* Add I2C interface and GPS node

* Feature: basic safety manager (#176)

* Implement hello-world package safety_manager

* Create service interfaces for safety manager

* Add stubs for test client and server

* First draft of TestServer

* First draft of TestClient

* Add simple tests for TestClient and TestServer

* Create basic safety manager with dummy logging

* safety manager now logs some info about events

* simple tests for the safety manager

* Add watchdog schematic (#180)

* Add basic sidecar design notes

* Add schematic

* Automatic testing with GH Actions (#182)

* Add automatic testing workflow (version 1)

* Fix syntax error

* Skip packages and run on pushes

* Rosdep will now ignore errors

* Install colcon-common-extensions and vcstool

* Install colcon mixins, as in ROS dockerfile

* Removed troublesome packages

On doing a docker build, the mpc_controller and
test_trajectory_following packages were causing rosdep to throw
errors. After talking with Will, it seems we don't actually need
these packages, so they have been deleted.

* Use docker for build and test

* Don't run on pushes

* Remove *_nodes packages from testing

* Retest up to 8 times on failure

* Add sleep time to safety manager test

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>

* Release 1.2 (#216)

* Initial draft, with quite a few TODOs remaining

* Revise the README

This version of the readme is much shorter and simpler than my initial idea. The reason is, if someone is really interested in using or running our software, they need to be directed to the wiki anyways. Perhaps a later update could include build and run instructions, but any instructions we put here will need to be tested on machines other than the quad to ensure accuracy.

* Add I2C interface and GPS node

* Feature: basic safety manager (#176)

* Implement hello-world package safety_manager

* Create service interfaces for safety manager

* Add stubs for test client and server

* First draft of TestServer

* First draft of TestClient

* Add simple tests for TestClient and TestServer

* Create basic safety manager with dummy logging

* safety manager now logs some info about events

* simple tests for the safety manager

* Add watchdog schematic (#180)

* Add basic sidecar design notes

* Add schematic

* Automatic testing with GH Actions (#182)

* Add automatic testing workflow (version 1)

* Fix syntax error

* Skip packages and run on pushes

* Rosdep will now ignore errors

* Install colcon-common-extensions and vcstool

* Install colcon mixins, as in ROS dockerfile

* Removed troublesome packages

On doing a docker build, the mpc_controller and
test_trajectory_following packages were causing rosdep to throw
errors. After talking with Will, it seems we don't actually need
these packages, so they have been deleted.

* Use docker for build and test

* Don't run on pushes

* Remove *_nodes packages from testing

* Retest up to 8 times on failure

* Add sleep time to safety manager test

* Issues #17 and #18 (#179)

* added path_planner package, cubic spline implementation, and offset spline header

* - added library for splines
- added wrapper for position splines
- added lane center line->spline generation

* fix typo

* added points for lane boundaries

* fix compiler errors and some other stuff i forgot

* updated formatting + tests

* fix tests and add more comments

* Update license with GPL and add test function comment

Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com>

* Hotfix: actually poll messages & put them into a non-null buffer

* Fix build error with symlink_install and object libs (#203)

* Add lio-sam and ring channel emulation

* Working initially

* Finish mapping tweaks, working in sim

* Create "hubble"  localization package

* Add saveMap servicewa

* Update GPS node to use Odom msg

* Add data_collection.launch.py

* Add grid_divider, update GPS node

* Add gomentum pcds, grid_divider script

* Add grid_divider, update hubble, gps
- grid_divider is script to divide AND FILTER a big PCD map
- Hubble now uses python, will move back to C++ later
- Fix seg fault in GPS (thanks to Avery)

* Remove maps using .gitignore

* Remove useless script

* Add to mapping nodes

* Switch from IMU integration to ZED odom

* Add mapping GPS debug

* Finish basic mapping with lio_sam. Needs filtering

* Add map loader

* Add lanelet visualization

* Cleanup, add deviation_report skeleton

* Remove buggy junk from Autoware

* Rename lio_sam, fix safety_manager static build

* Finish working prototype of icp_nudger

* Add maps for gomentum

* Add campus map cells; switch nudger to NDT

* Update robot_localization

* Change state_estiamtion to hubble. Docker works!

* Add robot localization

* Update route planner to new design (#206)

* trim autoware code

* Route planner logic and basic testing

* Node and message update

* Cleanup and docs

* Disable linter on lanetlet2_global_planner

Co-authored-by: Joshua Williams <joshmackwilliams@protonmail.com>

Thank you @EganJ !

* Disable linting in all packages

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>
Co-authored-by: Jim <80440382+jim-works@users.noreply.github.com>
Co-authored-by: Egan <34986820+EganJ@users.noreply.github.com>

Co-authored-by: Avery Bainbridge <axb200157@utdallas.edu>
Co-authored-by: Will Heitman <Will.Heitman@UTDallas.edu>
Co-authored-by: Avery <11591624+a-bainbridge@users.noreply.github.com>
Co-authored-by: Jim <80440382+jim-works@users.noreply.github.com>
Co-authored-by: Egan <34986820+EganJ@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants