The most important thing for becoming a new member on this team isn't prior ability.
You don't have to have to be a coding wizard!
You just have to be willing to pick up the skills necessary when presented with a problem.
The challenges have been created accordingly.
With enough perserverance, you should be able to complete them with only basic programming experience.
This challenge is for people who'd like to join our software team.
Check here to see if we are recruiting. Our team generally recruits at the beginning of school terms. If you feel that you may have missed the recruitment, feel free to send us an email to see when we will reopen recruitment!
All of our development is done on Linux, more specifically Ubuntu. So, your first challenge is to get Ubuntu and our software stack up and running.
We've written some instructions to help you along, which can be found in our github repository.
Note: If you can complete the challenges through something other then a native Ubuntu install, such as through a VM or other Linux distro, that's fine too, but we're not going to offer any help getting non-native Ubuntu setup's running
OK, for this challenge, you'll need some pretty advanced mathematical skills. We're talking basic knowledge of what a sine function is... and that's about it.
Seriously though, you don't need to know any advanced maths to join this team.
Like I said in the intro, we're looking for people willing to learn.
~/IGVC-2017/src/challenge/src/solution.cpp you'll find a skeleton project, with a main function and a while loop, alongside a bunch of resources down below. You don't have to use this skeleton project,
but we'd recommend it. You should be aiming for a final result that looks something like this:
Note: Please don't just use the keyboard controls to draw this. Yes. We thought of that. As pretty as I'm sure yours is, we're more concerned with your code!
You can also write your solution in python get started here, but the resources below are C++ focused, and that's the language we'd prefer you use
We'd suggest you start by understanding how ROS works here, then walking through the ROS Tutorials (at least all of section 1.1)
We've done a lot of this stuff already, but it's important that you at least understand it. In particular, #5-6, #11, and #13 are important for this challenge. After that, you should be pretty much ready to start! To run the skeleton project we've provided, first source the project by running:
$ cd ~/IGVC-2017 && source devel/setup.sh
$ rosrun challenge solution.
While you're working, we'd suggest you have the turtlesim reference open (mostly for 2.1.1 and 2.1.2). It also contains some video tutorials, which may be of use. Make sure to take
a look at the references for:
geometry_msgs/Twist (The command you send to the turtlebot)
turtlesim/Pose (what the turtlebot is sending you).
You might however, not have to use the turtlesim/Pose, as there are several ways to solve this problem.
The title sums this one up pretty nicely. You don't have to do this challenge, if you've gotten to this point, you've already done pretty well.
But we encourage people to try things out and bring it to the interview, it helps us know how familiar you are with our system.
This one's a fair bit harder, than the previous ones, so don't worry if you don't get it.
For this, we want you to re-write the Challenge package into the non-simple configuration specified in the README (the one with testing) and write (and run) some unit tests for your solution!
Resource better meant for beginners.Best for learning all the basics of C++ step by step
Documentation for the C++ language, best used as a reference manual after learning the basics
Great! If you've already booked an interview, bring your solution for us to see, if not, please check this page to see if we're currently recruiting for software, or send us an email to see when recruitment will reopen!