Anyone had success replacing the Raspberry Pi with an Nvidia Jetson Nano?
Hi @DorianGre,
We did a demo of a Deep Neural Net based bottle follower with a Jetson Nano. (https://twitter.com/UbiquityR/status/1121216618665660416)
This was a Jetson in addition to the Pi, connected via ethernet. In general this is our recommended configuration, as there are some Pi specific things (like sonar) on the Magni.
There were a couple unresolved issues with the Jetson, but we were working with early hardware and software so things have likely changed:
-
There is a power up sequencing issue that means that the Jetson will not boot when the Magni turns on. They have a new hardware rev now, so maybe they fixed this.
-
We had some serial port issues communicating to the Magni motor controller directly, but
-
The Raspberry Pi Camera wouldn’t work with the Jetson. This is something that is supposed to work, so it was likely due to early software bugs.
If anyone has tried it since, I would love to know what your experience was.
Rohan
Thanks for the link. Do you have a schematic for how you wired this together? Were you just offloading image processing decisions to the Jetson and then sending the results back to the Pi over the wire?
Hey @DorianGre,
Don’t have a schematic handy. Both the Jetson and the Pi were running ROS, and the Jetson had a node that subscribed to the image topic and published a /cmd_vel
. The Pi was running the motor_node and publishing images.
In a more ideal setup the camera would have been connected directly to the Jetson, as that would allow us to run at a higher frame rate with a lower latency.
Rohan
OK. Thanks for the info. I think realsense camera connected directly to the Jetson is the way we want to go. Eth to the Pi and go from there I guess.
We had also been doing some mechanical changes that we were thinking would be useful to secure a Jetson Nano in the Magni as the main host CPU.
When the Raspberry Pi 4 came out (quite by surprised) we decided due to issues described by Rohan in this thread and mechanical issues that we should work on usage of the Pi 4 prior to revisiting the issues with use of the jetson nano. The Pi 4 offers quite a boost over the Pi 3 and is a natural fit for the Magni.
Your thoughts on the realsense camera sound like a great way to go, good luck and please let us know if you find any solutions to the issues Rohan has discussed, particularly the serial connect and any Nvidia solution to allow power-up/boot to be automatic.
I don’t have a Magni, so I can’t speak to that directly. I do have a Jetson Nano that we are using with some home-built robotics. It’s proven to be pretty solid, but not head and shoulders above a Pi4 unless you are using the GPU features.
My thought is to add a second top plate about 3 feet up from current top plate and mount a Jetson processor with Pi Camera(s) for vision support and perhaps general robot decision making functions based upon machine learning functions.
We have done some work with Jetson as a slave ROS node because of it’s powerful CUDA image processing ability. This work has not progressed beyond very basic demo things that are not suitable for a product at this time. The opencv approach basically.
I feel what you have described is a good idea and makes sense. If you design it as a slave node on ROS then the beauty of ROS is it can do the ‘heavy liftying’ of openCV and pass on it’s findings to control nodes on the Magni ROS master.
We do not at this time have a solution for Jetson Nano to fill your needs but encourage you to share your progress for others to benefit on this forum. We are all about open source and that goes two ways hopefully.
Cheers and Stay Healthy, Mark
I’d love to progress this idea, KRYTN’s fiducal nav is abit slow
It looks like the Jetson Nano has an RPi compatible GPIO header, doesn’t this mean it could completely replace the rpi for the motor controller? I guess the only problem is the Jetson might be too bulky to fit where the pi is currently?
For my use case the Sonar board is optional. Is there any other issues with replacing the Pi with the Jetson?
I remember having issues with the Jetson serial port not playing nice at the baud rate that we need (38400), but those might be resolved with the firmware/driver/kernel updates since then.
There was also a hardware issue because the Jetson didn’t like the slow rise time of our 5V rail, it would go into under-voltage lock unless you disabled auto-power on and used a button instead. Or connected the 5V supply to the jetson a couple seconds after turning the robot on.
If you want to the Raspberry Pi camera, you won’t be able to use raspicam_node, instead you will have to use whatever setup the jetson provides for that.
Rohan
Ah bugger, yeah I’m not really up for doing dealing with slow rise time voltages, baud rates that play up and rolling my own ros camera node. I think I’ll stay in rPi land for now then, thanks!
Starting with rev 5.2 MCB we made a ‘humble’ effort ‘towards’ usage of jetson nano but only in the way of putting mounting holes on the MCB that would line up with the jetson. The idea was roughly that the physical attach to the mcb would have a ‘home’ for the nano but all the software things would still have to be resolved before the plan could be attempted. It was felt a 40 pin cable would still be required to hook them together to the MCB by the way due to interference but ‘some thought’ went into the hopes that the software and power supply issues would get resolved. We have heard nothing that the issues Rohan discussed have been addressed so the whole ‘Nano on a Magni’ lies in limbo land still.