Floor Hugger ROS 1 Indigo

From wikidb
(Redirected from ROS)
Jump to: navigation, search

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

Launch Scripts

Major SW functionality is tied together with launch scripts.

Hardware

Ubuntu 14.04 LTS Trusty Tahr Install

ROS Overview

ROS Install

Phidgets Install and Test

Phidgets Motor Controller Rewrite

I was unable to configure the Phidgets ROS motor control to working with the navigation stack. Quick experiments documented in Motor_Control_6x_Hack_for_Navigation page demonstrated that the motor driver was not coming up to the requested cmd_vel Twist message speed. This section documents my effort to rewrite the motor controller driver. It also documents anomalies in the Phidgets ROS odometry node.

Phidgets Driver New

OpenCV and Test

OpenCV in ROS

Integrate Above Into a Simple Behavior

Rotate the robot to follow an object captured in its web cam.

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.

teleop rosbridge

Kinect Notes

LIDAR

RealSense

Raspberry Pi

ROS Presentations

ROS Books

Quigley Gerkey Smart

Navigation

Notes to self

To Investigate

Notes to self

ROS Robots

Curriculum

ROS on Intel Edison


Python