Install Ubuntu 16.04 Xenial on the Pi
Ok, lets do this. First we need to download the image for the Pi. I am betting this will work with the Pi 2 as well but I only tested it on the Pi 3.Here are some links to some of the Pi images:
- Raspberry Pi 2
- Raspberry Pi 3 - Thanks to Ryan Finnie
I used an Ubuntu Laptop to format the SD card and write the image to it. But here is the tutorials from the Raspberry Pi foundation:
Now boot up the raspberry pi. If you used the image from Ryan Finnie, the username/password is ubuntu. You will be prompted to change the password so remember what you change it to.
Install ROS (Kinetic Distro)
We have some updates first
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo apt-get update | |
sudo apt-get upgrade -y | |
#also install desktop if you want | |
sudo apt-get install -y xubuntu-desktop | |
#or sudo apt-get install -y lubuntu-desktop |
Then install ROS and setup your work space
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' | |
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116 | |
sudo apt-get update | |
sudo apt-get install -y ros-kinetic-desktop | |
sudo rosdep init | |
rosdep update | |
# Create ROS workspace | |
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc | |
source ~/.bashrc | |
source /opt/ros/kinetic/setup.bash | |
sudo apt-get install -y python-rosinstall | |
sudo apt-get install -y python-roslaunch |
Install Some ROS Packages
ROS has some packages that you can now install via apt. Here are the ones that I installed to work with the kinect and a few others that are useful as well
I had to reboot after this as well.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# search for packages | |
sudo apt-cache search ros-kinetic | grep "search term" | |
# Install kinect packages | |
sudo apt-get install -y freenect | |
sudo apt-get install -y ros-kinetic-freenect-camera ros-kinetic-freenect-launch | |
sudo apt-get install -y ros-kinetic-freenect-stack ros-kinetic-libfreenect |
Using Your Kinect With ROS
Here is how you start the core ROS process which will be the "master"
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
roscore |
I like to run the process in the foreground and just open a new terminal but that is up to you. In a new terminal you can start the node for the kinect by running
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
roslaunch freenect_launch freenect.launch |
ROS should be publishing topics now. A topic is like a data object or an endpoint of an API. You can see the topics by running
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rostopic list |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rosrun image_view image_view image:=/camera/rgb/image_color |
Bill of Materials
- Raspberry Pi 3
- Kinect for Xbox 360 - I got mine at GameStop for ~$35 w/ the AC adapter
- AC Adapter
- If you don't already have a bunch of Micro USB Cables, you will need one for the raspberry pi
- Keyboard & Mouse for working on the pi
Works Cited
- https://www.youtube.com/watch?v=OqOkpZBOpxY
- http://stackoverflow.com/questions/23901220/how-do-i-get-kinect-depth-image-data-in-centimeters-using-the-libfreenect-python
- http://mathnathan.com/2011/02/depthvsdistance/
- https://groups.google.com/forum/#!topic/openkinect/k6exs5hDyQ4
- http://wiki.ros.org/rosbag/Code%20API
- http://www.cs.bham.ac.uk/internal/courses/int-robot/2015/notes/map.php
- http://wiki.ros.org/kinetic/Installation/Ubuntu
The ISO doesn't work with me, I load into the sd card but the raspberry pi 3 couldn't read it.
ReplyDelete