Showing posts with label Web Cam. Show all posts
Showing posts with label Web Cam. Show all posts

Tuesday, April 5, 2022

Autonomous Boat: Mayflower

IBM / ProMare - Mayflower 400 ASV

[UPDATE 28.04.2022 - The Mayflower 400 ASV appears to have started a journey across the Atlantic]

IBM and ProMare have teamed up with to create an autonomous boat that is capable of ocean crossing. This, of course, has been already accomplished. This is the next iteration in the development of this technology, and a great way to see how IBM solves this problem

in 2021 the boat attempted to cross from Plymouth, UK to Plymouth, USA. Unfortunately, this attempt had to be aborted due to a mechanical issue (the output exhaust connector failed, which lead to exhaust inside the cabin, eventually affecting the generators efficiency.  stuff happens!).

The boat will attempt the crossing again in the Spring 2022. It is even possible now to connect to the boat to observe the sea-trials. A dashboard has the telemetry from the boat as well as a video feed.

Links


Live view from Mayflower

Video can be found on the Dashboard as well as on IBM's streaming site

ProMare is a not for profit that is "Promoting Marine Research and Exploration". They also have interesting projects such as Ultradeep UAVs and ROVs

[update:  You can find the Mayflower400 ASV at any time using vesselfinder.com]

Monday, May 24, 2021

Desert Robot Project

 

Sonoran Desert - Arizona, USA

My new objective for remote robot exploration in collaboration with Patterntology

Exploring Robots:  Desert Robot Project

Living in the desert, watching what is going on around. An Internet <=> Reality interface/portal. It is a true remote sensing platform that is self-sustaining. It needs protection from the harsh elements of sun, rain, dust, and animals. It has to have the right scale to move and manipulate. but most of all it has to have the ability to see and sense and to communicate this back to the digital world.

This post is a collection of thoughts on what a Desert Robot could potentially be.

Functionally:

It will be a remote sensing platform, with the ability to move, manipulate, and communicate. This is the basic function of all of the probs we have sent to planets, asteroids, and space. But, these robot will be for earth.

It is clear that all Exploring Robots will have the common requirements of:

  • Sense the Environment (vision,hear, temp, smell, feel, etc)
  • Manipulate the environment (possibly)
  • Move (preferably)
  • Communicate its finding, take commands
  • Process the above, as well as manage itself
  • Power: preferably renewable and storable, and portable
finally, all of the other requirements are all about surviving in the environment they are destined for.

Non-Functional:

outside of the primary functions, the non-functional requirement is to survive. It needs to survive the punishing environment that is not particularly kind to electro-mechanical systems.

Desert Robot surviving means managing these aspects:

  • Intense Sunlight, Ultraviolet and Infrared Radiation
  • Heat in excess of 45c, or below freezing
  • Dust and Sand
  • Rain, monsoon flooding, potential immersion
  • Desert animals - PackRats!  Insects and critters
  • People - that want to abscond with our dear robot

Form:

Shape - the robot could perhaps be some robotic cross between a tortoise and a crab. It would need a hard outer shell for protection and to encapsulate the internal electronics. The bottom would need to be smooth, like a tortoise so that it could slide over rocks and obstacles. A bio-inspired outer shell would be ideal for protecting the primary components.

Mobility - choices on types of movement would need to be adjusted by how far and over what terrain is planned. For the first iterations, I am considering that the robot should be able to move and manipulate, but that it would not travel over long distances. Being constrained to just a few dozen of square meters would allow the focus to be on desert wildlife instead of unexplored terrain or vistas. If this is the case, it would be possible to use some small legs that could drag the robot, instead of wheels or treads. small, stout legs can be implemented with a few simple servos and would not require a large power source.

Scale - how large should this robot be?  That would be a function of the energy budget available and what obstacles it would need to overcome.  On the desert floor in the Sonoran Desert, for example, there are many branches from plants and cactus that would need to be maneuvered around.  The size of the solar panels needed for operations and communications would also need to be considered.

What other design considerations should be made for a Desert Robot?

Please leave your thoughts and questions in the comments section below.

Sunday, December 23, 2018

Robot Arcade - LetsRobot.tv

I am creating a "Robot Arcade" on LetsRobot.tv as a holiday project!  You can visit the site LIVE here:


Robot Arcade - LetsRobot.tv
It is a work in progress, but works well to get all of the robot fantasy out of your head.  I am building this "robot" with mostly parts from recycled printers and some 3D printed parts.  It is using an L298N as the motor controller.  All driven by a Raspberry Pi that is streaming video and controls between it and the LetsRobot.tv servers. I will be using MQTT to pipe commands from the server to various computers controlling the scene.

In the first boot strap days, it was 'challenged' by the 'internet' robot operators.  my motors were not secured and were dancing around the scene.  Actually somewhat fun.  Today I put together this motor mount design and will be using it to build out the Arcade.

3D CAD designed to be a motor mount

I don't quite know what I will do with this yet, but I would like it to be some form of a remote robot - 'game of skill'.  it is fun to see some form of a battle or skill challenge performed by the remote operators.

I am open to suggestions for game ideas!  :)

Friday, November 23, 2018

TNERA now Robocasting on Letsrobot.tv

The Totally Not Evil Robot Army is now on LetsRobot.tv

you can now drive one of the robot, or many other enthusiast robots through the robot streaming system.




I have converted the original RC Cart Robot - Polybot, to be on LetsRobot.tv.

Polybot


check out the site (Polybot on LetsRobot.tv) and if the robot is streaming you can control it.

Friday, June 1, 2018

Hello World!

"Hello World" is the ubiquitous start to all things technical! It is the classic program that beginners write to understand what the most 'basic' program is. For the maker working with physical computing, "Blinky light" is stated as the "Hello World" equivalent. Now that we have makers by the droves jumping into Robotics and Mechatronics, what would be the bench mark for "Hello World"? Perhaps, it should be the ever popular "RC Car with Camera Rover".

Here is my "Hello World!" in Robotics.  "Polybot" - the Rover:



It is comprised of fairly standard components for this type of build:
  • Chassis of an old RC car. Removed all of the existing controller components. Kept the physical chassis, wheels, struts, drive motor, steering motor, and awesome bumper.
  • Raspberry PI for the brains.  Command, control, communications, video, etc.
  • Off-the-Shelf USB webcam
  • Double H-Bridge for motor control
  • Portable power: 4XAA battery pack for the motors, USB Power bank for the RPI
  • 3D printed frame to attach the RPI, Camera, and stow away the power bank
For hardware, this is a pretty basic set up. It does not get much simpler. One of the challenges for a beginner is how power is managed. In this case, by having a separate power source for the motors, separate from the RPI, solves the issue of having to use a Buck Converter to reduce the voltage for the RPI.

Of course, its the control of the Rover that makes it a Robot vs. a RC car. I used Python as the base language to set up the code to drive my Rover.  Python's control of the GPIO of the PI is simple enough to control the car. The drive software takes a simple command of forward/reverse, left/right/straight combinations. 

To add my own twist to the Polybot Rover, I decided to use MQTT as a protocol to communicate with the Rover and provide it with commands. This would allow me to create different clients that can provide the command signals to the rover.  By nature that would mean that the rover could be controlled by humans - or a massive Totally Not Evil Robot Army Controller, mewha ha ha. But, I digress.



To use MQTT, I created a 'Base Station' that hosted a Mosquito Broker. The Rover's command software is a MQTT Listener written in Python. And I wrote a Flask Web App, that uses Socket IO and MQTT Client to input the commands and publish them to the broker. 

The Flask, Socket IO, and MQTT are all Python libraries and easy to program. The interface used a simple 6 quadrant set of buttons for Left Forward, Forward, Right Forward, Left Reverse, Reverse, and Right Reverse. It also contained an input field to designate the 'distance/time' to be traveling. The MQTT messages were a very simple LF3 - Left Forward Three, command protocol.

One advantage of using Flask for the Web App is that it is immediately viable for use on a mobile device. The device just needs to be on the same Wifi Network as the Rover, and then connect to the Web App.



Web cam streaming, was provided by using FFMPEG to capture video from the camera and pipe it to stdout. This allows for the ability to create a lifestream on YouTube. This streaming ability has a significant lag, but it really cool to see your Rover on YouTube.  Cool, but not quite FPV! :)

The best part of doing a "Hello World" is that is gets you actually started 'doing it'!  Once you get comfortable with the very most basic, then you can start making your really cool ideas become reality.

There are lots of ways to take the Polybot Rover forward.
  • Add better portable power, with more energy for the motors
  • integrated streaming on the Web App
  • Status messages, Sensor feedback
  • Commands, servos, and actuators on the Rover.  Grippers!!
  • Autonomous control, AI
  • make 10k more rovers, and create a Totally Not Evil Robot Army (ma haha)!!
its only limited by imagination! :)