Now, it’s our winter break at TUM. After the grade from ML was released, I can finally take a short break. So, I decided to catch up on my memory in Robot Operating System. I actually took a course called Self-Driving Car back in NTHU in Taiwan. To be honest, I didn't really know how ROS work by then because all of the simulation environments, packages are completely set up by our strong TAs, so ... basically, the only thing we had to do is just bare CODING... That’s not funnnnnnnnnn!
On top of that, I took the online introductory ROS course from The Construct and try to understand the architecture of this cool stuff...and I have to say, the course is AWESOMEEEEEEEE!!!! Therefore, after finishing the course, I decided to do some projects on my own and eventually build up some cool stuff and share it with people.
So, in our very first step, I’m gonna start with building up the robot and try to rosify it. Today, I’m gonna rosify my webcam.
I want to lower my budget, so I decided to use my own webcam. So, the first thing we need to do is try to let the camera see something with Jetson Nano.
I search on ROS Wiki and I found the ROS package for USB camera. So I git clone it to my ~/catkin_ws/src
and enter catkin_make
. Later, by launching its test file, we can publish the image data to the rostopic /usb_cam/camera_info
and /usb_cam/image_raw
.
https://github.com/ros-drivers/usb_cam
Now, I try to launch Rviz to see how is it look like but I encounter some error telling that there is something wrong with CameraInfo.P in the topic /usb_cam/camera_info
. So, again... try to google on ROS Wiki and bingo! It turns out that the camera needs to be calibrated. The link below has really detailed instructions about how to calibrate the camera.