Home e-Manual

SPI robot + Jetson Nano 2 GB

In this project, a Jetson Nano 2GB is configured to be the co-controller with the CM-550 for the SPI robot from the ENGINEER Kit 1 (see picture below):

Building on results from the previous project with the E-PTC & A4WP-H robots (Using PC as Supervisor Controller of 2 RPi+CM550 based robots - #6 by roboteer), the computing load for this project is better distributed between the Jetson Nano and the CM-550, resulting in better run time performances as shown in this video:

The J Nano works with the camera and controls the pan/tilt servos directly via DXL-SDK while the CM-550 is in charge of the legs’ servos (via TASK/MicroPython coding and Motion Units) and receives motion commands from the J Nano (via Remocon packets).

2 Likes

I always enjoy watching your projects :slight_smile:

Normally I find trying to fit everything and keeping weight down on my robots to be limiting factors so I am alwasy looking at how to reduce size and weight or number of componets on my robots.

I have a couple of questions for you.

Why did you choose to add a LN-101 to UART rather than connect via USB?

Have you experimented with powering the Jetson Nano from the 5v rail on the OLLO port on the CM-550 so to remove the need for an external voltage regulator?? I am not sure how many amps the OLLO port can supply or how many amps the Nano needs but considering the OLLO port will run servo motors I assume it will supply reasonable amps.

Do you always use exclusively dynamixel servos on your project or do you sometimes have a mix of hobby servos and dynamixels on a project?? The pan tilt for the tiny little camera module wouldn’t require the performance of a dynamixel servo and 2 tiny micro hobby servos would be able to be used making for a much smaller and lighter pan tilt. I am hoping to be able to use a mixture myself on a robot that I want to build for next years competition.

Here is the little micro servo that I usually use for tasks that only require a small amount of torque

Hello @Out_of_the_BOTS
Glad to hear that you find my projects useful. Thank you.
Regarding the use of LN-101 instead of a USB cable, that was just for variety, as I want to show all workable options to readers of my forthcoming book.
I did use the small ROBOTIS SM-10 before and out of the OLLO port, but I had found that the SM-10 was “jittery” and not able to “hold its position” as commanded, thus not suitable for a tracking job. If your shown servo does not have that problem, I can use it for my next MAX-E2 project Integrating RPi-4B to MAX-E2 (Mechanical Aspects) where I had to use a 2XL430 for the “neck”.

1 Like

Yes variety and options is nice :slight_smile:

I haven’t used the SM-10 yet. The hobby servo that I showed above is designed for a RC helicopter. I have used it before for pan tilt without a problem. They of course will never have the performance of the higher performance Dynamixel servos. Hobby servos use PWM to control the position and will jitter if the PWM is software created rather than a hardware PWN from a timer that has precise timing. As I haven’t used Jeston Nano I don’t know if it has hardware tiemrs, I do know on RPi they use a work around using DMA to create clean PWM.

I find more problem with the RPi camera module it’s self. It’s a pin hold camera meaning it has a very small lens that lets in a very small amount of light and a very small sensor that captures a very small amount of the light let in meaning it needs longer exposure times which causing a lot of blurring for a moving robot and poor computer vision (the RPi cam v2 seems to worse than the original version). I am thinking about paying the extra money and getting the RPi HD cam that has much bigger lens and sensor making for shorter exposure times.

One of the uni students that I partnered with during a comp has now finished his degree and is working in industry building robots. The company he works for uses the Flir Blackfly for robotics. It has a big lens and sensor in the smallest package possible but it also has a price tag to match :frowning: