Robocon robot API library for Raspberry Pi and Pi Cam, developed for RoboCon and the brainbox that is provided along side RoboCon.
This project was forked from the sr.robot libarry see sr.robot
๐ค Robocon robot API library for Raspberry Pi and Pi Cam
License: Other
Robocon robot API library for Raspberry Pi and Pi Cam, developed for RoboCon and the brainbox that is provided along side RoboCon.
This project was forked from the sr.robot libarry see sr.robot
The robot in question has a couple of rare modifications:
These may be good starting points to test
This is not documented and becomes wrong if changed after robot.__init__
We should have complete CI coverage for this module to so we at least know it runs and make it vaguely readable.
Currently there is no way to disable things like writing the image to shepherd
AS A robocon competitor
I WANT to be able to easily find my own markers
SO THAT I get to do the fun of having strategy
DONE IS:
marker.mine
returns true for when a marker is a relivent marker.Some missing break statements in the green giant code mean that configuring GPIO will also configure higher numbered GPIO.
The obvious FAQ workaround is to ask users to put inputs on the low numbered GPIO and outputs on the higher ones, then simply configure the GPIO in order.
In robot we could configure all GPIO in order whenever there is a configuration change to any GPIO. Its a little ugly but we can't patch GreenGiants that are in the wild
Is this line really needed?
I think that we should get rid of marker.info
and just return the marker info everything as a top level.
General tidy up would be good remove marker specicies.
Currently we make the teams do maths to work out weather markers are ones which they care about.
Filtering the list of returned markers seems to be something which is a challenge for GCSE teams. This is kind of us just having a dumb interface. If the game for a given year has the concept of "their markers" I believe that being able to write code like this would be a good idea:
if marker.zone == R.zone:
drive_to_marker(marker)
This would also let us clear up this hack in _draw_bounding_box
to make the teams own markers thicker:
Line 388 in cc98b73
Not sure if this is doing the teams job for them
This is caused when AprilTags solution solving isn't able to work something out. It outputs directly to stderr: https://github.com/AprilRobotics/apriltag/blob/04c4ec3fbb9cbbec1344049323d24e752f01bf38/apriltag_pose.c#L441
I would suggest if the robot logging level is above logging.DEBUG
then redirecting the stderr of apriltags to null.
Maybe something like this: https://stackoverflow.com/a/52442331/5006710
Currently the bounding box thickness is calcualted from the markers at run time.
This is a hack we are going to for get about it. This issue is for someone to read when we have forgotten about it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.