Background
The 3 objects requiring autonomous image detection are: 1) an orange rubber mallet (Amazon link); 2) a rock pick hammer (Amazon link); and 3) a standard 1 liter wide-mouthed plastic water bottle (approximately 21.5 cm tall and 9 cm diameter; and of unspecified color/markings – not the same bottles used in 2024 or 2025). GNSS coordinates will be provided for each object with <3 m accuracy for the first two objects, and <10 m accuracy for the third object. The latter two objects will have obstacles in the way that require autonomous avoidance, such as being in a boulder field. Rovers are not required to interact with the objects, but must clearly (and autonomously) highlight or designate the object on the display in the C2 station, soit is obvious that the computer recognizes the object and is not merely at the correct location. The rover must be stopped to successfully indicate recognition of the objects, however the rover may stop at any distance from the object so long as it has been successfully detected. Only 1 object may be highlighted on the display in the C2station.
As part of the URC, the rover must be able to detect one of three objects for the image detection Autonomous mission. It must either detect (and highlight) an orange rubber mallet, a rock pick hammer, or a standard 1 liter wide-mouthed plastic water bottle. Approximate locations will be given for these objects, however, the rover must be able to clearly detect these objects via image detection. However, the rover does not need to interact with these objects!
Problem Statement
We need to implement an image detection ROS2 node to detect one of three objects as part of the image detection Autonomous mission.
Stakeholders / Dependents
Functional Requirements
- Object detection of either:
- An orange rubber mallet
- A rock pick hammer
- A Standard 1 liter wide-mouthed plastic water bottle
Nonfunctional Requirements
- Rust
- Local inference for image detection
- i.e. all computation must be done directly on the node / Jetson
- Lightweight and real-time object detection
Recommended Dependencies and/or Frameworks
Recommended Approach
I STRONGLY recommend utilizing Rust for this node. This node will require ingesting a Linux (V4L) camera stream. As you ingest the camera stream, you will need to use camera vision to detect the individual objects in real time. This is why it is important to use a fast language like Rust and a crate like Ort which supports hardware acceleration!
Appendices
Related Issues
Extra Resources
References
Background
As part of the URC, the rover must be able to detect one of three objects for the image detection Autonomous mission. It must either detect (and highlight) an orange rubber mallet, a rock pick hammer, or a standard 1 liter wide-mouthed plastic water bottle. Approximate locations will be given for these objects, however, the rover must be able to clearly detect these objects via image detection. However, the rover does not need to interact with these objects!
Problem Statement
We need to implement an image detection ROS2 node to detect one of three objects as part of the image detection Autonomous mission.
Stakeholders / Dependents
navigator_nodeFunctional Requirements
Nonfunctional Requirements
Recommended Dependencies and/or Frameworks
Recommended Approach
I STRONGLY recommend utilizing Rust for this node. This node will require ingesting a Linux (V4L) camera stream. As you ingest the camera stream, you will need to use camera vision to detect the individual objects in real time. This is why it is important to use a fast language like Rust and a crate like Ort which supports hardware acceleration!
Appendices
Related Issues
navigator_node#153Extra Resources
References