Robot Races A Little Smarter To Go Faster

[Steven Gong] is attending the University of Waterloo and found himself with a 1/10th scale F1TENTH autonomous RC car. What better use of a fast RC car with some smarts than to race itself around your computer science building?

Onboard is an Nvidia Jetson NX (not the new Nvidia Jetson Orin), a lidar module, and a depth camera. The code runs on top of ROS2, and the results were impressive. [Steven] mapped out the fifth floor of his building at 6 am using SLAM and the onboard sensors. With a map, he created a rough track for his car to follow. First, the car needs to know when to brake and when to hit the gas. With the basics out of the way, [Steven] moved on to the fun part. He wrote code to generate a faster racing line. Every turn has an optimal speed and approach, but each turn affects the next turn, which turns it into a rather exciting optimization problem.

Along the way, [Steven] fixed the gearbox, tuned the PID steering loop, and removed the software speed limits. It’s impressive engineering, and we love seeing the car zoom around faster and faster. The car eventually hit 25km/h, which seems pretty fast for indoors. The code and more details are up on GitHub.

However, if you’re curious about playing around with self-driving, perhaps a much smaller scale Pi Zero-based racer might be more your speed. Video after the break.

Continue reading “Robot Races A Little Smarter To Go Faster”

This Is The Future Of Waste Management

Many of us have been asking for some time now “where are our robot servants?” We were promised this dream life of leisure and luxury, but we’re still waiting. Modern life is a very wasteful one, with items delivered to our doors with the click of a mouse, but the disposal of the packaging is still a manual affair. Wouldn’t it be great to be able to summon a robot to take the rubbish to the recycling, ideally have it fetch a beer at the same time? [James Bruton] shares this dream, and with his extensive robotics skillset, came up with the perfect solution; behold the Binbot 9000. (Video, embedded below the break)

Continue reading “This Is The Future Of Waste Management”

KachiChan_Sisyphus_RobotArms-On-A-Platform

Robot Repeatedly Rearranges Remnants In The Round

Sisyphus is an art installation by [Kachi Chan] featuring two scales of robots engaged in endless cyclic interaction. Smaller robots build brick arches while a giant robot pushes them down. As [Kachi Chan] says “this robotic system propels a narrative of construction and deconstruction.” The project was awarded honorary mention at the Ars Electronica’s Prix Ars 2022 in the Digital Communities category. Watch the video after the break to see the final concept.

KachiChan_Sisyphus_RobotArms-On-A-Platform_detail-view

[Kachi Chan] developed the installation in pre-visualizations and through a series of prototypes shown in a moody process film, the second video after the break. While the film is quite short on details, you’ll see iterations of the robot arm and computer vision system. According to this article on the project [Kachi Chan] used Cinema 4D to simulate the motion, ROS for control, PincherX150 robotic arms modified with Dynamixel XM 430 & XL430 servo motors, and custom 3D prints.

We’ve covered another type of Sisyphus project, sand tables like this and the Sisyphish. Continue reading “Robot Repeatedly Rearranges Remnants In The Round”

LEGO-Based Robot Arm With Motion Planning

Robotic arms have found all manner of applications in industry. Whether its welding cars, painting cars, or installing dashboards in cars, robotic arms can definitely do the job. However, you don’t need to be a major automaker to experiment with the technology. You can build your own, complete with proper motion planning, thanks to Arduino and ROS.

Motion planning is important, as it makes working with the robotic arm much easier. Rather than having to manually specify the rotation of each and every joint for every desired movement, instead mathematics is used to figure everything out. End effectors can be moved, and software will figure out the necessary motions required to achieve the end results. This functionality is baked into Robot Operating System (ROS) and proves useful to this project.

The construction of this particular arm is impressive in its simplicity, too. It has 7 degrees of freedom, which is plenty to play with. The arm is built out of LEGO Technic components, which are attached to the servos with the addition of some 3D printed components. It’s a smart and simple way to integrate the servos into the LEGO world, and we’re surprised we don’t see this more often.

Robotic arms remain an area of active research; there are even efforts to allow them to self-correct in the event of damage. Video after the break.

Continue reading “LEGO-Based Robot Arm With Motion Planning”

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.

Nvidia Jetson Robots Get A Head Start With Isaac Software Tools

We live in an exciting time of machine intelligence. Over the past few months, several products have been launched offering neural network processors at a price within hobbyist reach. But as exciting as the hardware might be, they still need software to be useful. Nvidia was not content to rest on their impressive Jetson hardware and has created a software framework to accelerate building robots around them. Anyone willing to create a Nvidia developer account may now play with the Isaac Robot Engine framework.

Isaac initially launched about a year ago as part of a bundle with Jetson Xavier hardware. But the $1,299 developer kit price tag pushed it out of reach for many of us. Now we can buy a Jetson Nano for about a hundred bucks. For those familiar with Robot Operating System (ROS), Isaac will look very familiar. They both aim to make robotic software as easy as connecting common modules together. Many of these modules called GEMS in Isaac were tailored to the strengths of Nvidia Jetson hardware. In addition to those modules and ways for them to work together, Isaac also includes a simulator for testing robot code in a virtual world similar to Gazebo for ROS.

While Isaac can run on any robot with an Nvidia Jetson brain, there are two reference robot designs. Carter is the more expensive and powerful commercially built machine rolling on Segway motors, LIDAR environmental sensors, and a Jetson Xavier. More interesting to us is the Kaya (pictured), a 3D-printed DIY robot rolling on Dynamixel serial bus servos. Kaya senses the environment with an Intel RealSense D435 depth camera and has Jetson Nano for a brain. Taken together the hardware and software offerings are a capable and functional package for exploring intelligent autonomous robots.

It is somewhat disappointing Nvidia decided to create their own proprietary software framework reinventing many wheels, instead of contributing to ROS. While there are some very appealing features like WebSight (a browser-based inspect and debug tool) at first glance Isaac doesn’t seem fundamentally different from ROS. The open source community has already started creating ROS nodes for Jetson hardware, but people who work exclusively in the Nvidia ecosystem or face a time-to-market deadline would appreciate having the option of a pre-packaged solution like Isaac.

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”