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

PreFlight #1157

Merged
merged 30 commits into from
Mar 30, 2024
Merged

PreFlight #1157

merged 30 commits into from
Mar 30, 2024

Conversation

Keith-Khadar
Copy link
Contributor

@Keith-Khadar Keith-Khadar commented Mar 18, 2024

Description

Preflight is an automated testing tool that should be run after turning on and connecting to the robot to run a prelaunch setup checklist and automated software checklist.

There are three types of automated software tests
Actuators
This test will prompt the user to enable physical moving actuators on the robot. Make sure that the area is cleared and the robot won't damage itself or others nearby. The user will have to watch and validate that they move as expected personally.

To add an actuator test, add a topic with a list of commands and import the module it comes from. See the thrusters example for reference in tests.py

Nodes
A ROS Node is a live process currently running and performing a task. They communicate with each other through topics, services, and messages, etc. This test will ensure all listed ROS Nodes are running and alive as expected.

To add a Node test, add a node to the list in tests.py

Topics
ROS Topics act as a channel for ROS Nodes to communicate by publishing and subscribing to messages. These tests check to verify that data is being published to these topics, ensuring that sensors under the listed topics are properly reading publishing data.

To add a Topic test, add a topic to the list in tests.py

Screenshot or Video

https://youtu.be/3IiYBaeIt7s

Related Issues

- Closes #1032
- Closes #1115
- Closes #1116
- Closes #1117
- Closes #1118

Testing

To test this use the preflight alias to start up the program. This works best when ROS is already running, however you can still go through the setup checklist without ROS running. To edit any of the checklists to add more items to check whether that is automated software items or more setup items go to ~/catkin_ws/src/mil/mil_common/utils/mil_tools/scripts/mil-preflight/tests.py

About This PR

  • I have updated documentation related to this change so that future members are aware of the changes I've made.

@uf-mil-bot
Copy link
Collaborator

uf-mil-bot commented Mar 18, 2024

Hello, it's your friendly InvestiGator bot here!

The docs preview for this PR is available at https://uf-mil.github.io/pr-docs/1157.

Last updated at:e945c920034504421c9b760ef680d889417afdc4
► 2024-03-29 21:39 EDT

Have a great day! Go gators! 🐊

Copy link
Member

@cbrxyz cbrxyz left a comment

Choose a reason for hiding this comment

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

wow, this project is so so cool! Thanks so much for your hard work!!

mil_common/utils/mil_tools/scripts/mil-preflight/menus.py Outdated Show resolved Hide resolved
mil_common/utils/mil_tools/scripts/mil-preflight/tests.py Outdated Show resolved Hide resolved
mil_common/utils/mil_tools/scripts/mil-preflight/tests.py Outdated Show resolved Hide resolved
mil_common/utils/mil_tools/scripts/mil-preflight/README.md Outdated Show resolved Hide resolved
mil_common/utils/mil_tools/scripts/mil-preflight/README.md Outdated Show resolved Hide resolved
services.txt Outdated Show resolved Hide resolved
topics.txt Outdated Show resolved Hide resolved
@cbrxyz cbrxyz marked this pull request as ready for review March 30, 2024 01:31
Copy link
Member

@cbrxyz cbrxyz left a comment

Choose a reason for hiding this comment

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

Great job PreFlight team!

@cbrxyz cbrxyz merged commit fd45a13 into master Mar 30, 2024
4 checks passed
@cbrxyz cbrxyz deleted the PreFlight branch March 30, 2024 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
6 participants