Hey folks!
With an influx of new teams joining the RoboMaster competition over the past year, we at ARUW want to give back to our expanding community. Whether you’re new to RoboMaster or robotics in general, the initial learning curve can be steep—especially with some of the documentation being in Chinese.
Inspired by efforts from projects like EveryBot in FRC, we want to help flatten this learning curve, lowering barriers of entry into robotics. The main goal of HuskyBot is to provide a starter robot code template that contains the necessary boilerplate code to get a robot up and running. We envision this as an opportunity to raise the skill floor of the competition, while providing a starting point for teams to build on and explore
That being said, here’s some of the primary goals of the project:
- Handle all interfacing with the Referee System
- Provide logic for game mechanics such as power and heat limiting
- Fulfills requirements needed to compete in the 1v1 competition
Here’s the planned deliverables:
- Example robot code
- A step-by-step guide covering installation, build, flashing, and tuning processes
Now the intention behind this is not to give away the “answers” or “secrets” or even oversimplify RoboMaster’s challenges. We see this as an opportunity to empower new teams to focus on larger problems and more complex technical challenges, rather than struggling to get started in the first place. The last thing we want to see is a robot die from power limiting: we’re here to see some action!
To make this effort as helpful as possible, we’re looking for community input:
- What does the robot we are coding for look like?
- Is this using a type A or a type C? The type C has challenges with I/O but a better IMU
- Will the MCB be on the turret or chassis?
- Is the chassis using Mecanum or Omni wheels?
- Will the turret have a slipring? The kit robot provided by DJI does not, is this still a minimum competitive concept if they turret cannot rotate independent of the chassis?
- What is the presumed skill level of the end user?
- Should we explain concepts / provide resources for topics such as CAN and PID? If so, what would be useful?
- What sorts of resources or examples would have helped when you were starting out? I know looking at other teams code bases can be complex and somewhat scary, I get confused looking at my own sometimes.
- Are we using taproot? (Jk, the answer is yes)
- Do we include a basic CV system? Hehe, things are being cooked here
The expected timeline of this project aims to have a majority of the code base completed by competition, with the accompanying guides and resources finalized by the start of the next school year. That being said, keep in mind that the primary developers still have classes, internships, and their own code projects to manage. Progress may vary, and there might be delays around these proposed deadlines, but we’re committed to making this resource as robust and helpful as possible! On that note, we would love to have this be a community project, so if this seems like a fun project to you, please get in contact with us: we’d love the opportunity to collaborate!
- Sumedh Panatula, ARUW Software Controls Lead