-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Migrated issue | sirius_signal_lights_driver] Separate Code for Controlling Signal Lights and Deducting Robot Status #3
Comments
I've reviewed ISO 10218-1 (though I only have partial access) and its guidelines on the safe design of industrial robots, which helped me better understand the Mode: ManualManual mode refers to the manual control of the robot. For industrial manipulator robots, this usually means using a Teach Pendant, a handheld control panel (wired or wireless). Mode: AutoAccording to the message description:
This suggests that Auto mode refers to remote motion. However, the exact definition of remote operation is not provided. Auto mode typically means the robot performs programmed tasks autonomously. In this context, remote operation likely means that the robot is controlled by ROS, which usually involves advanced autonomous tasks utilizing machine vision. For our robot, which operates natively on ROS, whether controlled manually or autonomously, we should interpret manual and auto modes directly as manual or autonomous control without overcomplicating the definitions. e_stoppedThis state indicates when the user has initiated an emergency stop or when the robot itself detects a critical failure. After entering this state and resolving the emergency, the user must manually exit this state. The procedure for exiting this state should be clearly signaled to avoid unexpected actions. Immediate control should not be possible; clearing the e-stop must be a separate action performed by the user. Drives PoweredIndicates whether the motors are powered. Motion PossibleShows whether robot motion is currently possible and not prevented by other protective measures. Unlike In MotionIndicates whether the robot is moving or stationary. This is different from Currently, we don't have any safeguards implemented (including the one from the REQ-OPS-070 ERC requirement), so The same applies to We should also review this design against ARC, ERC, and URC competition rules to ensure all requirements are covered with the described setup. |
Taking into consideration colors of the lamps, there are different requirements in every competition. ERC: There are no specific colors assigned to certain state. It is only emphasized that indicator lamps shall inform the user about the state of the rover, e.g. standby, working, in autonomous mode. ARC: URC: |
This is a migrated issue and refers only to sirius_signal_lights_driver package
Deducting robot status seems to be a universal task, not limited to signal lights. Consider creating a dedicated node in the
sirius_control
package within thesirius_common
repository that will generate theRobotStatus
message. This message is designed for robotic manipulators using the ROS industrial ecosystem, but we can adapt it for our robot without losing its semantic meaning. The only exception would be theRobotMode
field, where "Auto" also refers to teleoperation. In our case, "manual" mode would represent teleoperation and "auto" would represent autonomous mode. Although this is a misuse of the message, clarifying it in the documentation should prevent misunderstandings. This can serve as a good starting point, and we can improve or potentially create our own message for mobile robots in the future.The
RobotStatus
message could then be used by the web interface and signal lights. Since signal lights can already be controlled by ROS messages via thesocketcan_bridge
package, there is no need to create an additional interface. Therefore, a node controlling the lights would directly subscribe to theRobotStatus
message and send appropriate CAN messages based on user configuration. An optimal format for user configuration could look like this:If this version suits you, I also recommend renaming the package for controlling the signal lights to "sirius_signal_lights_driver" or "sirius_indicator_driver." The "sirius" prefix and "driver" suffix would better match the REP 144 recommendations.
The text was updated successfully, but these errors were encountered: