Your First Robot Kit: CamJam EduKit #3
If you want a cheap robot kit, it's hard to do better than the CamJam EduKit #3. This is a small kit which you can assemble into a two-wheeled robot with a caster, as long as you buy a few extras. It comes with a line sensor and ultrasound distance sensor, plus a series of exercise sheets to work through in order to build the robot and get it running. You can optionally get your own chassis, or you can use the box the kit comes in.
I have recorded videos that cover all of the exercises given by the repository and uploaded them to YouTube. This post goes through each video and briefly explains what it shows, so you can follow along if you choose to buy the kit. I also use the box as the chassis!
Next, I'm planning on getting ROS2 running on the robot, and using that to run collision avoidance and line following software at the same time. I will write a post on how to do that here, but if you want to see the video form, you can also subscribe to my YouTube channel to be notified about it.
Parts Required
To be able to follow along, you will need to buy the robot kit and a few extra parts. You can use substitutes for any of these except for the robot kit; these links are to the parts that I used for my videos.
- CamJam Edukit #3
- A Raspberry Pi:
- Power Bank
- Note: this is too large to fit in the robot! You should consider buying a slightly smaller power bank.
- AA batteries
- MicroSD Card
Once you have all the parts, you can begin assembly!
Building the Robot
If you want to watch the whole series in order, navigate to the playlist. Otherwise, I list out all of the videos and what I show in them, so you can choose which parts you want to follow.
Each video has extra resources depending on the specific video, but all the videos require:
Introduction
This is a short introduction explaining what I'll be going over in the series. There isn't much more in the video than I've written in this post.
Initial Build
This video is a top-down view of assembling the robot from its contents. I don't attach the sensors yet - this is to get the batteries, motors, and Raspberry Pi ready to roll. After this, the robot is physically ready to begin moving around, and the next step is setting up the software.
SD Card Setup
This video shows how to set up the SD card ready to move the motors, with one key difference: I install Ubuntu instead of Debian to make it easier to install ROS2 down the road.
Some extra resources for this video are as follows:
- Raspberry Pi Imager - to flash the SD card
- Create an SSH key pair - to explain the SSH key generation steps
- Visual Studio Code - to download Visual Studio Code (VSCode), the editor I recommend for this course (and in general!)
Adding Sensors
This video is the follow up to the initial build, where I show how to add both sensors to the robot.
Testing the Line Sensor
I show how to test and adjust the line sensor to get a reliable reading on the robot.
Testing the Distance Sensor
I show how to test the ultrasound sensor to get a distance reading from the robot.
First Robot Movement
At last, we can move the robot around for the first time! I also show moving the weight to make sure the wheels get more grip, as before that, it mostly just spins in place.
Line Following Course
Having moved the robot for the first time, I show the script provided to follow a line course and explain why the robot is spinning from side to side so much while following.
Obstacle Avoidance
This is the last video based on the exercises provided by CamJam. In it, I show how to get the robot avoiding collisions with objects in the view of the sensor, again using a provided script.
Next Steps
Having finished the exercise sheets, I plan to install ROS2 on to the board. I need to experiment to figure out if directly compiling ROS2 or installing via Docker has the best performance. Once ROS2 is installed, I'll show how to set up a project to:
- move the robot around
- follow a line
- avoid obstacles
- to accomplish all of these at the same time
It is also possible I could add more sensors to the robot in future, such as another line sensor or wheel encoder. If you're interested, please leave a comment here or on my YouTube videos.