Skip to content

Instantly share code, notes, and snippets.

View jdrew1303's full-sized avatar
probably drinking coffee

James Drew jdrew1303

probably drinking coffee
View GitHub Profile
@jdrew1303
jdrew1303 / chr_crl_registers.png
Last active April 5, 2024 19:45
STM32 registers and programming
chr_crl_registers.png
@jdrew1303
jdrew1303 / levels.md
Created December 26, 2019 03:12 — forked from mithi/levels.md

ROBOTICS PROTOTYPING FROM ZERO TO HERO

Introduction

  • 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

Autonomous Mobile Robot (Experimental)

Introduction

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

Building robot (Hardware part)

@jdrew1303
jdrew1303 / ros-kinetic-macosx.md
Created December 26, 2019 02:46 — forked from plusk01/ros-kinetic-macosx.md
Installing ROS Kinetic on Mac OS X El Capitan (10.11.6) and macOS Sierra

Installing ROS Kinetic on Mac OS X - El Capitan and macOS Sierra

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.

ROS Install OSX

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

@jdrew1303
jdrew1303 / ros_kinetic_install_raspizero.bash
Created December 26, 2019 02:45 — forked from Tiryoh/ros_kinetic_install_raspizero.bash
ROS Kinetic installation on Raspberry Pi Zero/Raspberry Pi Zero W
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
@jdrew1303
jdrew1303 / ros_odometry_publisher_example.py
Created December 26, 2019 02:45 — forked from atotto/ros_odometry_publisher_example.py
Publishing Odometry Information over ROS (python)
#!/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
@jdrew1303
jdrew1303 / rospy_logging.py
Created December 26, 2019 02:44 — forked from nzjrs/rospy_logging.py
Reconnect python logging calls with the ROS logging system
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
}
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@jdrew1303
jdrew1303 / ros_raspbian.sh
Created December 26, 2019 02:21 — forked from mitmul/ros_raspbian.sh
Prepare ROS libraries and anaconda environment for raspberry-pi
# 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