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

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
}
Loading
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

The document provides description on calibration of three Kinect for Microsoft sensors connected to one computer with several usb controllers. Three cameras setup is shown below:

![Figure 1] (http://i.imgur.com/sdOWbVl.jpg)

Intrinsic, extrinsic, and Kinect2Kinect calibration is performed to know the position of each sensor in the space. Our setup is ROS Indigo with Ubuntu 14.04. freenect_launch and camera_pose ROS packages are used. Camera_pose package provides the pipeline to calibrate the relative 6D poses between multiple camera's. freenect_launch package contains launch files for using OpenNI-compliant devices in ROS. It creates a nodelet graph to transform raw data from the device driver into point clouds, disparity images, and other products suitable for processing and visualization. It is installed with catkin as follows:

# Prep
@jdrew1303
jdrew1303 / debian_from_ros_pkg.md
Created December 26, 2019 02:16 — forked from awesomebytes/debian_from_ros_pkg.md
How to create a debian from a ROS package
@jdrew1303
jdrew1303 / Dockerfile
Created December 26, 2019 02:15 — forked from ruffsl/Dockerfile
Small ROS Network Example
FROM ros:indigo-ros-base
# install ros tutorials packages
RUN apt-get update && apt-get install -y \
ros-indigo-ros-tutorials \
ros-indigo-common-tutorials \
&& rm -rf /var/lib/apt/lists/