- The purpose of this learning plan is for anyone to acquire a strong foundation of electronic and mechanical prototyping to build your own physical robots. It is designed specifically for people with at least some experience in basic coding (any language) but with no background in electronics and/or robotics. Upon completion, you should be be able build your own domestic home service robot from scratch and give you the confidence to independently build the robot of your dreams. There are many good tutorials scattered all over the web but they assume you have basic knowledge in the said areas. Upon finishing this self-learning plan, following any online tutorials to add the features you want to your robot should be a breeze.
- Most of the materials here are completely free, however some require purchase those with a (moneybag) 💰icon. I am not paid to endorse any of these products.
- The ones with the (double exclamation)
‼️ icon are t
The aim of this project is to create mobile robot that can navigate correctly in-door environment. The robot can scan and save surrounding environment as occupancy grid, then basing on that map, it can localize and navigate itself on scanned map. Due to these capabilites, the robot can plan a path from A to B as instructed via Rviz on global map (scanned map), it can also detect unknown obstacles during operation and plan a local path to robustly avoid them and ensure the success of navigation task.
Link to github: https://github.com/anindex/navigation-processing-base
Having rather painlessly installed ROS Indigo on El Capitan using Mike Purvis's script, I attempted to upgrade to ROS Kinetic. This gist outlines the problems I encoutered and how I solved them. Hopefully this guide will help others attempting to install ROS Kinetic / Gazebo 7 on El Capitan.
Start with Mike Purvis's script, which currently is setup to install ROS Indigo. In order to install Kinetic instead of Indigo, make sure to set the ROS_DISTRO
environment variable: export ROS_DISTRO=kinetic
.
After you get through rosdep
errors, it's quickest to just work with the catkin config ...
and catkin build ...
commands directly. In fact, I found it most helpful to leave my catkin workspace terminal open at ros-install-osx/kinetic_desktop_full_ws
and t
sudo apt-get update | |
sudo apt-get install -y build-essential gdebi | |
mkdir -p ~/tmp | |
wget https://github.com/nomumu/Kinetic4RPiZero/releases/download/v_2017-10-15/rpi-zerow-kinetic_1.0.0-1_armhf.zip | |
unzip rpi-zerow-kinetic_1.0.0-1_armhf.zip | |
sudo gdebi rpi-zerow-kinetic_1.0.0-1_armhf.deb | |
sudo /opt/ros/kinetic/initialize.sh |
#!/usr/bin/env python | |
import math | |
from math import sin, cos, pi | |
import rospy | |
import tf | |
from nav_msgs.msg import Odometry | |
from geometry_msgs.msg import Point, Pose, Quaternion, Twist, Vector3 |
class ConnectPythonLoggingToROS(logging.Handler): | |
MAP = { | |
logging.DEBUG:rospy.logdebug, | |
logging.INFO:rospy.loginfo, | |
logging.WARNING:rospy.logwarn, | |
logging.ERROR:rospy.logerr, | |
logging.CRITICAL:rospy.logfatal | |
} |
# install miniconda | |
cd | |
wget http://repo.continuum.io/miniconda/Miniconda-3.5.5-Linux-armv6l.sh | |
md5sum Miniconda-3.5.5-Linux-armv6l.sh | |
bash Miniconda-3.5.5-Linux-armv6l.sh -b | |
rm -rf Miniconda-3.5.5-Linux-armv6l.sh | |
echo 'export PATH=/home/pi/miniconda/bin:$PATH' >> .bashrc | |
source .bashrc | |
conda install pip --yes | |
conda install ipython --yes |