Jetson Nano Robot

[Stevej52] likes to build things you can’t buy, and this Jetson Nano robot falls well within that category. Reading the project details, you might think [Stevej52] drinks too much coffee. But we think he is just excited to have successfully pulled off the Herculean task of integrating over a dozen hardware and software modules. Very briefly, he is running Ubuntu and ROS on the PC and Nano. It is all tied together with Python code, and is using Modbus over IP to solve a problem getting joystick data to the Nano. We like it when existing, standard protocols can be used because it frees the designer to focus more on the application. Modbus has been around for 40 years, has widespread support in many languages and platforms.

This is an ongoing project, and we look forward to seeing more updates and especially more video of it in action like the one found below. With the recent release of a price-reduced Jetson Nano, which we covered last week, this might be an excellent project to take on.

Continue reading “Jetson Nano Robot”

ArrBot Is A Fast Way To Get Out Standing In A New Field Of Robotics

[Junglist] correctly points out that agricultural robotics is fast on its way to being the next big thing (TM) and presents his easy to build ArrBot platform so others can get hacking fast. 

The frame is built out of the same brackets and aluminum tubing used to add handrails to stairwells on buildings. Not only is this a fast way to do it, the set-up can be guaranteed to be sturdy since hand rails are often literally standing between life and death. The high ground clearance allows for all sorts of sensors and devices to be mounted while still being able to clear the plants below. 

For motion hub motors driven by an ODrive were re-purposed for the task. He explored turning the wheels as well, but it seems like  differential steer and casters works well for this set-up. ROS on an Nividia Jetson runs the show and deals with the various sensors such as a stereoscopic camera and IMU.

We’re excited to see what hacks people come up with as research in this area grows. (Tee-hee!) For example, [Junglist] wants to see the effect of simply running a UV light over a field rather than spraying with pesticides or fungicides would have.

Bobble-Bot Teaches Modern Real-Time Robot Control

Bobble-Bot uses the standard inverted pendulum problem to teach modern robotic control using a Raspberry Pi, RT-Linux, and ROS.

We’re really impressed by the polish and design effort put into this project, and it’s no surprise that it’s a finalist in the 2019 Hackaday Prize. Bobble-Bot is a top heavy bot sitting on two BLDC motors. The brains of the operation is a Raspberry Pi running real-time Linux and ROS. This allows the robot to respond in a predictable manner to its inputs, and also allows for more control over thread priority than a regular kernel. In the past we’ve seen these inverted pendulum bots mostly being run on micro-controllers for just this reason, so it’s cool to see it make the jump to Linux.

Mechanically the bot can be printed on any consumer grade printer and assembled. We really appreciate the small details like making sure one screw size could be used to assemble the entire bot, eliminating the need for multiple tools.

They also have a simulator, and the bot’s software was built inside of that. It was a big moment when the real-world behavior finally matched the simulated performance. In fact, if you’re interested in the Bobble-Bot, you can try it out in simulation before committing to building the whole thing.

This project seems like a fun build for any hacker. We would have loved to have a project as polished and up-to-date as this one when we were learning controls in university. Video introducing it after the break.


Designing An Advanced Autonomous Robot: Goose

Robotics is hard, maybe not quite as difficult as astrophysics or understanding human relationships, but designing a competition winning bot from scratch was never going to be easy. Ok, so [Paul Bupe, Jr’s] robot, named ‘Goose’, did not quite win the competition, but we’re very interested to learn what golden eggs it might lay in the aftermath.

The mechanics of the bot is based on a fairly standard dual tracked drive system that makes controlling a turn much easier than if it used wheels. Why make life more difficult than it is already? But what we’re really interested in is the design of the control system and the rationale behind those design choices.

The diagram on the left might look complicated, but essentially the system is based on two ‘brains’, the Teensy microcontroller (MCU) and a Raspberry Pi, though most of the grind is performed by the MCU. Running at 96 MHz, the MCU is fast enough to process data from the encoders and IMU in real time, thus enabling the bot to respond quickly and smoothly to sensors. More complicated and ‘heavier’ tasks such as LIDAR and computer vision (CV) are performed on the Pi, which runs ‘Robot operating system’ (ROS), communicating with the MCU by means of a couple of ‘nodes’.

The competition itself dictated that the bot should travel in large circles within the walls of a large box, whilst avoiding particular objects. Obviously, GPS or any other form of dead reckoning was not going to keep the machine on track so it relied heavily on ‘LiDAR point cloud data’ to effectively pinpoint the location of the robot at all times. Now we really get to the crux of the design, where all the available sensors are combined and fed into a ‘particle filter algorithm’:

What we particularly love about this project is how clearly everything is explained, without too many fancy terms or acronyms. [Paul Bupe, Jr] has obviously taken the time to reduce the overall complexity to more manageable concepts that encourage us to explore further. Maybe [Paul] himself might have the time to produce individual tutorials for each system of the robot?

We could well be reading far too much into the name of the robot, ‘Goose’ being Captain Marvel’s bazaar ‘trans-species’ cat that ends up laying a whole load of eggs. But could this robot help reach a de-facto standard for small robots?

We’ve seen other competition robots on Hackaday, and hope to see a whole lot more!

Video after the break: Continue reading “Designing An Advanced Autonomous Robot: Goose”

Robot Harvesting Machine Is Tip Of The Agri-Tech Iceberg

Harvesting delicate fruit and vegetables with robots is hard, and increasingly us humans no longer want to do these jobs. The pressure to find engineering solutions is intense and more and more machines of different shapes and sizes have recently been emerging in an attempt to alleviate the problem. Additionally, each crop is often quite different from one another and so, for example, a strawberry picking machine can not be used for harvesting lettuce.

A team from Cambridge university, UK, recently published the details of their lettuce picking machine, written in a nice easy-to-read style and packed full of useful practical information. Well worth a read!

The machine uses YOLO3 detection and classification networks to get localisation coordinates of the crop and then check if it’s ready for harvest, or diseased. A standard UR10 robotic arm then positions the harvesting mechanism over the lettuce, getting force feedback through the arm joints to detect when it hits the ground. A pneumatically actuated cutting blade then attempts to cut the lettuce at exactly the right height below the lettuce head in order to satisfy the very exacting requirements of the supermarkets.

Rather strangely, the main control hardware is just a standard laptop which handles 2 consumer grade USB cameras with overall combined detection and classification speeds of about 0.212 seconds. The software is ROS (Robot Operating System) with custom nodes written in Python by members of the team.

Although the machine is slow and under-powered, we were very impressed with the fact that it seemed to work quite well. This particular project has been ongoing for several years now and the machine rebuilt 16 times! These types of machines are currently (2019) very much in their infancy and we can expect to see many more attempts at cracking these difficult engineering tasks in the next few years.

We’ve covered some solutions before, including: Weedinator, an autonomous farming ‘bot, MoAgriS, an indoor farming rig, a laser-firing fish-lice remover, an Aussie farming robot, and of course the latest and greatest from FarmBot.

Video after the break:

Continue reading “Robot Harvesting Machine Is Tip Of The Agri-Tech Iceberg”

Dashing Diademata Delivers Second Generation ROS

A simple robot that performs line-following or obstacle avoidance can fit all of its logic inside a single Arduino sketch. But as a robot’s autonomy increases, its corresponding software gets complicated very quickly. It won’t be long before diagnostic monitoring and logging comes in handy, or the desire to encapsulate feature areas and orchestrate how they work together. This is where tools like the Robot Operating System (ROS) come in, so we don’t have to keep reinventing these same wheels. And Open Robotics just released ROS 2 Dashing Diademata for all of us to use.

ROS is an open source project that’s been underway since 2007 and updated regularly, each named after a turtle species. What makes this one worthy of extra attention? Dashing marks the first longer term support (LTS) release of ROS 2, a refreshed second generation of ROS. All high level concepts stayed the same, meaning almost everything in our ROS orientation guide is still applicable in ROS 2. But there were big changes under the hood reflecting technical advances over the past decade.

ROS was built in an age where a Unix workstation cost thousands of dollars, XML was going to be how we communicate all data online, and an autonomous robot cost more than a high-end luxury car. Now we have $35 Raspberry Pi running Linux, XML has fallen out of favor due to processing overhead, and some autonomous robots are high-end luxury cars. For these and many other reasons, the people of Open Robotics decided it was time to make a clean break from legacy code.

The break has its detractors, as it meant leaving behind the vast library of freely available robot intelligence modules released by researchers over the years. Popular ones were (or will be) ported to ROS 2, and there is a translation bridge sufficient to work with some, but the rest will be left behind. However, this update also resolved many of the deal-breakers preventing adoption outside of research, making ROS more attractive for commercial investment which should bring more robots mainstream.

Judging by responses to the release announcement, there are plenty of people eager to put ROS 2 to work, but it is not the only freshly baked robotics framework around. We just saw Nvidia release their Isaac Robot Engine tailored to make the most of their Jetson hardware.

Little Lamp To Learn Longer Leaps

Reinforcement learning is a subset of machine learning where the machine is scored on their performance (“evaluation function”). Over the course of a training session, behavior that improved final score is positively reinforced gradually building towards an optimal solution. [Dheera Venkatraman] thought it would be fun to use reinforcement learning for making a little robot lamp move. But before that can happen, he had to build the hardware and prove its basic functionality with a manual test script.

Inspired by the hopping logo of Pixar Animation Studios, this particular form of locomotion has a few counterparts in the natural world. But hoppers of the natural world don’t take the shape of a Luxo lamp, making this project an interesting challenge. [Dheera] published all of his OpenSCAD files for this 3D-printed lamp so others could join in the fun. Inside the lamp head is a LED ring to illuminate where we expect a light bulb, while also leaving room in the center for a camera. Mechanical articulation servos are driven by a PCA9685 I2C PWM driver board, and he has written and released code to interface such boards with Robot Operating System (ROS) orchestrating our lamp’s features. This completes the underlying hardware components and associated software foundations for this robot lamp.

Once all the parts have been printed, electronics wired, and everything assembled, [Dheera] hacked together a simple “Hello World” script to verify his mechanical design is good enough to get started. The video embedded after the break was taken at OSH Park’s Bring-A-Hack afterparty to Maker Faire Bay Area 2019. This motion sequence was frantically hand-coded in 15 minutes, but these tentative baby hops will serve as a great baseline. Future hopping performance of control algorithms trained by reinforcement learning will show how far this lamp has grown from this humble “Hello World” hop.

[Dheera] had previously created the shadow clock and is no stranger to ROS, having created the ROS topic text visualization tool for debugging. We will be watching to see how robot Luxo will evolve, hopefully it doesn’t find a way to cheat! Want to play with reinforcement learning, but prefer wheeled robots? Here are a few options.

Continue reading “Little Lamp To Learn Longer Leaps”