All Projects → NVIDIA-AI-IOT → Turtlebot3

NVIDIA-AI-IOT / Turtlebot3

Autonomous delivery robot with turtlebot3 and Jetson TX2

Labels

Projects that are alternatives of or similar to Turtlebot3

Openshift Psap
Example roles and yaml files for performance-sensitive applications running on OpenShift
Stars: ✭ 20 (-62.96%)
Mutual labels:  kernel
Fiwix
A UNIX-like kernel for the i386 architecture
Stars: ✭ 38 (-29.63%)
Mutual labels:  kernel
Hidamari
Modern operating system aimed at running WebAssembly code.
Stars: ✭ 49 (-9.26%)
Mutual labels:  kernel
Sparkmagic
Jupyter magics and kernels for working with remote Spark clusters
Stars: ✭ 954 (+1666.67%)
Mutual labels:  kernel
Awesome Unix
All the UNIX and UNIX-Like: Linux, BSD, macOS, Illumos, 9front, and more.
Stars: ✭ 973 (+1701.85%)
Mutual labels:  kernel
Sos
Sian's Operating System
Stars: ✭ 40 (-25.93%)
Mutual labels:  kernel
Android kernel leeco msm8996
Lambda Kernel for the LeEco Le Pro3 / Le Max2 [MSM8996]
Stars: ✭ 12 (-77.78%)
Mutual labels:  kernel
Mylinux
myLinux is a small UNIX like OS for embedded systems based on Westermo NetBox
Stars: ✭ 53 (-1.85%)
Mutual labels:  kernel
Prettyos
A Preemptive Hard Real Time kernel for embedded devices.
Stars: ✭ 36 (-33.33%)
Mutual labels:  kernel
Cilium
eBPF-based Networking, Security, and Observability
Stars: ✭ 10,256 (+18892.59%)
Mutual labels:  kernel
Canvas Img Process
html5 canvas image process ( 3*3 kernel ) canvas卷积核测试 canvas图片后期
Stars: ✭ 31 (-42.59%)
Mutual labels:  kernel
H Encore
Fully chained kernel exploit for the PS Vita on firmwares 3.65-3.68
Stars: ✭ 968 (+1692.59%)
Mutual labels:  kernel
Proton zf6
Proton Kernel for the Asus Zenfone 6 (2019), codename Kirin and also known as I01WD and ZS630KL.
Stars: ✭ 42 (-22.22%)
Mutual labels:  kernel
Time
Windows tool for measuring command/program execution speed
Stars: ✭ 21 (-61.11%)
Mutual labels:  kernel
Cuteos
A 64-bit SMP-safe kernel for the PC architecture.
Stars: ✭ 51 (-5.56%)
Mutual labels:  kernel
Blog os
Writing an OS in Rust
Stars: ✭ 8,120 (+14937.04%)
Mutual labels:  kernel
Smash
A unix like kernel
Stars: ✭ 40 (-25.93%)
Mutual labels:  kernel
Pvekclean
Easily remove old/unused PVE kernels on your Proxmox VE system
Stars: ✭ 54 (+0%)
Mutual labels:  kernel
Dennix
Dennix is a unix-like hobbyist operating system written from scratch.
Stars: ✭ 53 (-1.85%)
Mutual labels:  kernel
Pmbootstrap
Repository has been moved! https://postmarketos.org/move.html#/pmbootstrap 🚚 🚚 🚚
Stars: ✭ 1,010 (+1770.37%)
Mutual labels:  kernel

Hardware Setup

The Turtlebot3 hardware is all open source, and you can find the STL files for the base plates of the burger and waffle on their wiki. You can 3D print extra base plates and modify your Turtlebot3 however you would like.

Below is an example of a 3 level mod of the TB3 Burger. It comes with 8 base plates, and I 3D printed another one to create a 3 level mod with 3 plates on each level. This mod is more stable than the 4 level robot, and also allows for more room to add additional sensors.

I put the entire development board with the Jetson on the 2nd level of the waffle, but on the burger there is only room for a carrier board. I used an Auvidea J120 and I removed the heat sink from the Jetson because it was too tall.

The Turtlebot3 comes with a HLS-LFCD2, which is a 360 degree LIDAR, but you can also add other sensors like the ZED or Tara stereocam to it.

Setting up your Jetson as SBC

We are using the Jetson TX2 as the SBC (Single Board Computer) to control the turtlebot3 waffle. The Dynamixel motors on the Turtlebot3 are controlled by the OpenCR board. The OpenCR board connection is an ACM port to the Jetson, which is disabled in the kernel, and so is the cp210x port to the HLS-LFCD LDS lidar that comes with the Turtlebot. In order to reconfigure the kernel, first flash your Jetson with Jetpack 3.0. Follow the instructions here.

Next, follow the Jetsonhacks instructions here to reconfigure the kernel and stop after running ./getKernelSources.sh The last line make xconfig will bring up the GUI for kernel configuration. Enable the ACM and cp210x ports. The ACM port is for the OpenCR board, and the cp210x is for the LIDAR (either the HLS-LFCD LIDAR or the RPLidar A1/A2)

Make sure to save your changes to the config file, and go through the rest of the instructions to finish making the kernel. If no errors occur, reboot the Jetson. Plug in your OpenCR board and Lidar, and cd /dev in terminal. If the kernel reconfiguration worked, you should be able to see 'ttyACM0' and 'ttyUSB0'.

Installing ROS

Follow the instructions here. to install ROS kinetic on your TX2 and set up your catkin workspace.

Follow the instructions on the Turtlebot3 wiki for the waffle from 6.3.1 and on, to install the Turtlebot3 dependencies and clone the repositories. here

When configuring the network, make sure that you specify the IP addresses of our ROS_MASTER and your ROS_HOST correctly. On your Jetson, you want to make the ROS_MASTER_URI the IP of your remote host, and the ROS_HOSTNAME the IP of your Jetson. After modifying the bashrc file, make sure to source ~/.bashrc

Follow the instructions here to set up your remote host, which is a PC that you will be using to run roscore and send commands to the Turtlebot.

ROS Navigation Stack Tuning Tips

After setting up the ROS navigation stack and discovering that the navigation works, but not well, how do you tune it?

https://arxiv.org/pdf/1706.09068.pdf

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].