Floor Hugger ROS 1 Indigo
Contents
- 1 Overview
- 2 Launch Scripts
- 3 Hardware
- 4 Ubuntu 14.04 LTS Trusty Tahr Install
- 5 ROS Overview
- 6 ROS Install
- 7 Phidgets Install and Test
- 8 OpenCV and Test
- 9 OpenCV in ROS
- 10 Integrate Above Into a Simple Behavior
- 11 Teleop Master and Client
- 12 teleop rosbridge
- 13 Kinect Notes
- 14 LIDAR
- 15 ROS Books
- 16 Navigation
- 17 To Investigate
- 18 ROS on Raspberry Pi
- 19 Python
Overview
The focus of this project is learning ROS, SW architecture, AI algorithms and navigation. ROS is of great value because it allows me to pick and choose what I want to learn and what I want to reuse. The goal is to have fun and keep a recently retired SW architect mind in the game. There is no attempt to make this site of value to anyone else. However, I certainly don't mind if you find it of value.
Robot Operating System (ROS) is a software framework for robot software development, providing operating system-like functionality on a heterogenous computer cluster. ROS was originally developed in 2007 under the name switchyard by the Stanford Artificial Intelligence Laboratory in support of the Stanford AI Robot (STAIR) project. As of 2008, development continues primarily at Willow Garage, a robotics research institute/incubator. In 2013 it was picked up by the Open Source Robotics Foundation ROS Wikipedia Overview
- ROS Workshop
- ROS Learnings - notes to self about what I want to learn.
Launch Scripts
Major SW functionality is tied together with launch scripts.
- Floor Hugger Launch Scripts Scripts that support LIDAR scanning for surveying.
Hardware
Ubuntu 14.04 LTS Trusty Tahr Install
ROS Overview
ROS Install
- NUC ROS Install
- Manage Multiple ROS Installs
- ROS resources (TBD clean these four bullets up)
- Tutorials
- Gentle catkin intro
- multiple computers
Phidgets Install and Test
- Phidgets Installation
- ROS Phidgets Installation
- Phidgets Motor Controller Test in ROS
- Phidgets Motor Encoder Test in ROS
- Migrate Phidgets to catkin
- Calibrate Phidgets Odometry
OpenCV and Test
OpenCV in ROS
- usb_cam
- Building a Webcam Display and building a workspace and packages.
Integrate Above Into a Simple Behavior
Rotate the robot to follow an object captured in its web cam.
- Hough_Color_Tracker
- ROS CamShift Tracker
- Simple Move
- PID Move
- Rotate Using CamShift commands
- Integrate roslaunch into Roslaunch
Teleop Master and Client
ROS master and client computers were configured to coordinate with publish and subscribe message.
- The master named hood (i5 NUC) is on the floor hugger robot. It subscribes to Twist messages. In one version it publishes video frames and in another it hosts a video streaming server.
- The remote client named adams (atom netbook) is on the desk with a joystick connected to it. It publishes Twist messages. In one version adams subscribes to video frames and in another it captures hood's video stream on a browser. In a third version an iMac was used to capture the stream on its browser.
These approaches were unusable. Adams was too slow to work with video. The iMac was capable. Twist messages where too delayed for effective control. See the following pages. This approach was abandoned in favor of investigating rosbridge.
- Joystick
- ROS Teleop
- ROS Multiprocessor Setup
- ROS Control Teleop from EEE PC
- Depreciated - replaced with a launch script: ROS Hood Teleop Script
- Depreciated - replaced with a launch script: ROS Hood Teleop Video Script
teleop rosbridge
- ROS Bridge Install
- ROS Bridge Simple Keyboard
- ROS Bridge RobotWebTools Keyboard Teleop
- ROS Video Streaming
- ROS Bridge RobotWebTools mjpeg Canvas
- ROS Bridge Joystick
- ROS Scenario Setups
Kinect Notes
LIDAR
- Hood XV_11 ROS Install
- Setting up the ROS Transforms
- gmapping with XV_11 using ROS
- SLAM with XV_11 using ROS
ROS Books
Notes to self
To Investigate
Notes to self
ROS on Raspberry Pi
Python
- Writing a TurtleBot Script from Learn TurtleBot and ROS
- From Harvey Mudd CS