Robotics – Linux Hint https://linuxhint.com Exploring and Master Linux Ecosystem Tue, 15 Dec 2020 21:51:49 +0000 en-US hourly 1 https://wordpress.org/?v=5.6.2 Catkin ROS https://linuxhint.com/catkin-ros-beginner-tutorial/ Sun, 13 Dec 2020 14:03:14 +0000 https://linuxhint.com/?p=81226 When using the Robotics Operating System, you will at some point want to develop your software. For the ROS1 version which is in maintenance until 2025, you will use Catkin to compile your projects. If you do not plan to program yourself, note that you may have to compile other people’s software so learning the basics is useful in any case. For the case that you have already moved to ROS2, you will be using colcon to do the same thing.

What is Catkin?

This tool is developed for ROS, the robotics operating system, by the team building the ROS tools. It has a multitude of tools to build your robotics project. Using it will be necessary if you develop robots using ROS. You should be aware that there have been several generations of these tools over the last few years. This means you need to choose the newest! Catkin is installed with the full ROS noetic distribution; all you need to take care of is the configuration. You need to set the correct environment for running Catkin.

Setting up the directory/environment

Create a directory with sub-directory src/ inside it. MyRob/src. The examples are from the beginner tutorial.

catkin_make creates CMakelists.txt in the src directory. These point to the other files that make up a project.

Next, you want to create your packages.

Go in the src directory

catkin_createpkg
$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp

Note the mistake in the command. This creates everything as if you were not mistaken. You can find the result in the files with grep.

$ grep -r ropy
ubuntu@noetic:/home/ubuntu/catkin_ws/src/beginner_tutorials
$ grep -r ropy.
./CMakeLists.txt:  ropy
./CMakeLists.txt:#  CATKIN_DEPENDS ropy roscpp std_msgs
./package.xml:  ropy
./package.xml:  ropy
./package.xml:  ropy

The next compile will fail. You now have two choices, edit the files or remove the entire directory. The script is usually fast so the easiest is to remove and re-run the create command. Once you have cleared those mistakes, you continue by building the package. Either way, when you have fixed it, go to the workspace root and run catkin_make again. As you move on with any project, you will always go back up to the workspace root to make the whole project. This only makes sure that everything exists correctly, there are some clever tricks so you don’t have to recompile the whole project every time.

$ cd ~catkin_ws/ $ catkin_make

If it succeeds this time, you have just created your first package. Remember to fix up your package.xml file. You should probably set your name correctly and the license. There are more settings, they are all easy to understand.

A small project

Now, do it again in a new directory and create your project. Or better yet: for practice, pick up a project from GitHub, see where it goes, and then start changing it to your liking. To do this, you can create a workspace for catkin with a src directory. In the source directory, you copy in the source code directories. From the example, above you need two steps, clone the directory and run catkin_make.

$ cd /src
$ git clone https://github.com/crkaushik93/Go-Chase-It-RSEND-Project-2.git
$ cd ..
$ catkin_make

To make a less deep tree, you may move each sub-directory up one step but this is optional. The last command will search the src/ directory and find all code.

Installing

You do not usually install packages on the development system only. However, you run install to create an install environment and a development environment. The catkin_make command creates these for you. As you move on you should source one for development and the other for testing. A direct install will create your directories, including the scripts to initialize the environments.

$ catkin_make install


You will not have the files installed on your system, only in the project directory. This is great because all you need to do is run the setup and start testing.

$ source devel/setup_bash

Or…

$ source install/setup_bash

The first is for you to run testing and find out what mistakes you have embedded in your code.

Only ROS?

So, is this only valid for ROS1? Yes, catkin is aimed only at the ROS1 libraries. One thing to note though is that most of the job is cmake. You will be able to translate many of the practices to other projects that uses CMake. You only need to do more work since Catkin has simplified many tasks for you. For ROS2, many things are similar but the solutions are more refined and have more features to control how much you compile each time. You can also program in both levels of ROS, there is a bridge between the two!

Conclusion

Catkin is a very strong and versatile set of tools that makes your work much simpler and lets you get through the grind of developing your robotics code. The practices, though are an excellent way to learn more about programming. So even if your robot project is only for your closest circle and bragging rights, you can benefit from knowledge for other projects.

]]>
How to Plan a Simple Robot Using Linux https://linuxhint.com/simple_robot_linux/ Mon, 09 Nov 2020 09:11:54 +0000 https://linuxhint.com/?p=76354 Once you have ROS installed, you might want to build a robot. A good way to succeed in this project is to plan what you want to do. In this case, ROS comes to the rescue. With ROS, you can set up what you have built and visualize the whole thing. When working with robots, there will be many scenarios that you may need to consider. The robot must interact with the environment, such as avoiding the sofa and finding its way back from the kitchen. The robot should also have arms and legs if your needs require it. You can simulate all of this using ROS, and for the coding part, you can also simulate the internals of your system.

How Do You Build a ROS Robot?

For the system to work well, and for you to be able to follow what the device will do in certain situations, you need standard definitions for each part. In ROS, these components are nodes, services, and topics. In short, you create one node for each major need. For example, motion is one node, vision is another node, and planning is a third node. The nodes contain services that can send information to other nodes, and services can also handle requests and responses. A topic can broadcast values to many other nodes. Getting to grips with these terms and how you should use them is the first key to mastering ROS2 development.

Emulate Navigation with turtlesim

When starting out in ROS, you will probably buy a robot that walks or rolls around in your house. To do this, the robot needs to have a view of the area where it is navigating. To do this, you can use a map-like application to test your robot’s behavior. The designers behind the Turtlebot have come up with an application, called turtlesim, that can do this for you. As with all other parts of ROS2, you can start these tools with a sub-command from the command line. You then have activities for different functions. The first part is to start the window where you can see the simulation, and this is called a node.

$ ros2 run turtlesim turtlesimnode

A window will appear with a Turtle in the center. To control the turtle with your keyboard, you must run a second command that stays open and keep pressing certain keys. This is a second node that communicates with the first one.

$ ros2 run turtlesim turtleteleopkey

Now, you can move the turtle around and see how it moves. You may also get errors, such as hitting the wall. These errors show up in the terminal where the turtlesimnode is running. This is the simplest use of the simulation module. You can also run given shapes, a square is provided, and add more turtles. To add more turtles, you can use the rqt command.

Define Services with rqt

The rqt program provides services for the simulation. The q stands for Qt, which is for handling the interface. In this example, you spawn a new turtle.

$ rqt

The rqt interface is a long list of services for the simulation you are running. To create a new turtle, pick the ‘spawn’ drop-down menu, give the turtle a new name, and click ‘call.’ You will immediately see a new turtle next to the first. If you click the ‘spawn’ drop-down menu, you will also see a new bunch of entries related to the newly-spawned turtle.

You can also remap commands to run the new turtle. The command to do so is as follows:

$ ros2 run turtlesim turtleteleopkey –ros-args –remap turtle1/cmdvel:=turtle2/cmdvel

Set the name ‘turtle2,’ according to your earlier choice.

Advanced Viewing with Rviz

For more advanced and 3D viewing, use rviz. This package simulates all the nodes in your design.

$ ros2 run rviz2 rviz2

In the graphical interface, you have three panels, with the view in the center. You can build environments using the ‘Displays’ panel. You can add walls, wind forces and other physical properties. This is also where you add your robots.

Be aware that before you get to this point, you will need to understand how to use the URDF format. The URDF format defines a robot, allowing you to set the body, arms, legs, and, above all, collision zones. The collision zones are there so the simulation can decide whether the robot has collided.

Learning about creating a robot in the URDF format is a large project, so use an existing open-source code to experiment with the emulators.

Simulate Physics with Gazebo

In Gazebo, you can simulate the physics of the environment surrounding your robot. Gazebo is a complement program that works well together with rviz. With Gazebo, you can see what is actually happening; with rviz, you keep track of what the robot detects. When your software detects a wall that is not there, Gazebo will show empty and rviz will show where in your code the wall was created.

Conclusion

Simulating your robot and its environments is necessary to find bugs and provide needed improvements in the operation of your robot before you put it out in the wild. This is a tedious process that continues long after you begin testing the bot, in both controlled environments and real life. With adequate knowledge of the infrastructure of your robot’s internal systems, you can make sense of what you have done right and wrong. Learn quickly to appreciate all the faults you find, as they can make your system more robust in the long run.

]]>
The Best Robotics Distros https://linuxhint.com/best_robotics_distros/ Sun, 01 Nov 2020 08:18:42 +0000 https://linuxhint.com/?p=75006 For robotics development, there are many collections available to choose from. From habit, Linux users look for distributions to find the perfect solution for their project. While there are distributions, you can miss out if you do not look for common libraries to help you with certain tasks. What tools you are already using is also a consideration to take seriously.

Since working with robots will be a development effort, most tools you will need will be development tool-kits. The Open Source Robotics Foundation (OSRF) has a great web page with resources. They support and maintain the Robotics Operating System (ROS). This is a vast collection of tools that you can install both on your existing system or as a container.

The reasoning behind a distribution

When you start experimenting with robots, you will discover many things that you did not expect when you started. Do you realise how much interpreting images matter to robotics development? In a distribution, you have all the tools that you will need before you know that you need them.

This makes it faster to get started and avoids complications as projects evolve. You will occupy disk space unnecessarily but the total size of the system is not big for a modern computer. As you progress in your project, make sure you know what to put in the robot and not. Your disk space restraints are much stricter there.

ROS – The biggest and obvious choice

As mentioned earlier, ROS has a vast library of functions. These range from hardware control, messaging between subsystems to vision libraries, and simulators. The project is well supported by the OSRF. They are in turn supported by many industry leaders, and their commercial subsidiary supports the same companies in their efforts.

Despite the vast range of choices and the high level of sophistication, a new user can get started using some standard components. Thanks to the cooperative methods of the OSRF, there are many robots that have been built using the ROS. Many are consumer products that you can buy for a reasonable amount and start your project for a specific task. Currently available products are one on wheels, legs, and wings on flying drones. You can even find water dwellers, including submarines.

This project will last you through to industrial use if you aim to go there. There is a bit of a learning curve getting started but you have a lot to learn about robotics anyway. In fact, when you plan your first project, you will most certainly miss many features you need just for basic use.

Mobile Robotics Programming Toolkit

As you will see when you start with robots, much of the job will be programming. This toolkit helps you with SLAM (Simultaneous Localisation and Mapping) and other path-planning tools. Many of the tools have to do with vision. an interesting piece of this tool kit is the support for the Kinect hardware. The libfreenect libraries are the underlying ones for this project. To add it to your Ubuntu install, you can pick up the PPA and install it with apt. Compiling your own requires gcc-7 or newer, clang-4, or newer. For more information and what you need to do when you are using ROS, goto their GitHub page.

YARP

Named ‘Yet Another Robot Platform’, it is based on the idea that you use as much as possible of existing tools. YARP is a collection of C++ libraries that defines communication protocols for all levels of robotics projects. You have three components of YARP, YARPos, YARPsig, and YARPdev. They are all concerned with how to send data between the components of your project. The YARPos component creates interfaces towards the OS you are running. This makes it easy to switch the OS or hardware of one component while retaining the same YARP streams of data. This is required for running the other parts of the system. YARPsig handles signal processing tasks, it interfaces with OpenCV and similar libraries. It does not do the processing. YARPdev provides interfaces to all manner of devices you need. Think cameras, microphones, motor drivers, and more. YARP will make the interface to the overall system. You will also use it to configure your devices. YARP will help you plan all other software so you can use what is existing out there. In fact, you also have the option to run some components under ROS while others run YARP. There are many options available and you can transition between the two gradually.

Conclusion

When you start out with robotics, you will need many software parts. Each controller and embedded computer have different needs and systems. Every camera has anew driver. All the data needs to move around between subsystems and components. It gets really complicated. To get started faster, you need to have a system that coordinates everything. You do this by having a coordinating function for messages and data. These are organised as ‘topics’, ‘nodes’, and ‘services’. The reason for these different functions is that sometimes, you want to execute commands, sometimes you want to make data available to many other parts of the system and you will also be able to send all the data out to the system in general.

This is where you need a distribution or a platform that keeps all this coordinated. ROS is the system that works with most, if not all hardware and types of projects. Remember to understand what you are trying to achieve with your design. This is particularly important when you are learning. If you have a goal, then all steps have a reason and an association. That is the basics of learning; To see the connection between reason and action.

]]>
Installing the Robotics Operating System https://linuxhint.com/install_robotics_operating_system/ Sat, 03 Oct 2020 09:43:07 +0000 https://linuxhint.com/?p=69805 When you get started with robotics, you soon need a lot of software. For the serious developer or hobbyist, you are going to need it packaged neatly for some reason. The first reason is convenience, later it will be necessary because your platforms will have small memory. Being efficient becomes a necessity when you start using micro-controllers. Since ROS comes in two versions and it contains many modules, installation is trivial on the surface but can quickly become complex.

What do you need, and when?

ROS2 consists of many libraries, all of which you will install while learning. When you get more advanced, you will put only the necessary parts where you need them. To start with you will need compilers, command-line tools, and simulators. For external systems, you will want to have only the finished nodes and the communication core of the system. In the early stages, you need to try some examples and see how to simulate a robot or even several robots in action. Those tools are only available in the desktop install.

How does ROS help?

The libraries in ROS are meant to give you many standard functions for robotic activities. It has libraries for sensor handling, motor control, and much more. The focus is on the communication between nodes, which is a core concept of each function in the ROS framework.

You have options!

You can install the ros-base package with your favorite package manager. The problem is that you may use many versions of the ROS system for different projects. To avoid this problem, use a container. You will end up installing in the same way, only inside the container. The point, in the end, is that the ROS system comes in several versions and they can only run on a certain distribution version. Here is a short table:

Ubuntu Ver. ROS2 ver. ROS1 ver.
18.04 eloquent Melodic
20.04 Foxy noetic

There are more versions and more dependencies, see the list at the wiki on ros.org. The point is that you have to make sure your setup supports the ROS version. ROS also uses Python to a high degree, they are testing for Python 3 (and 2.7) so you can choose. There is also a docker image available if you are more comfortable with that. The image is named ros:foxy-ros-base-focal.

Depending on what you are working with, you may need a different amount of software, which is a second reason to use containers. As you see in the table, you may also need to choose ROS1 or ROS2. If you use both, it is a big risk that settings confuse things for your compilers and other tools. The end of life for ROS1 is 2025, so don’t start new big projects with it.

Many parts inside

The Robotics Operating System has many subsystems. You need to know which one is needed where, and when you should have it installed. As soon as you start installing, you run into the choice of how much you want to install. By default, you will use your package manager to install the entire distribution. This is called ros-desktop-full, you will have all that you may need. It also takes a lot of space on your drive.

ROS Core

The ROS Core makes it possible to compile your programs through the rclcpp and rclpy client libraries. These are the two that the ROS developers maintain. More clients exist for other languages. They use the API to create consistent behavior across platforms. Included at this level are also all the ways your robotic system will communicate.

ROS Base

The ros-base includes many tools for development but contains no GUI tools.

ROS Desktop

Contains all different pieces of the system, including many examples. It also gives you all the GUI tools, including simulators and ways to test communication between nodes. The only extra things you need will be special drivers and some extra implementations of i.e. the urdf parser.

Installing ROS Desktop

The simplest way to install the ROS desktop is to use apt for Ubuntu and other Debian based distributions. On other distributions, you need to build it yourself. When you do, the result is put in a single directory structure. This means you will need to initialize that environment by sourcing the setup file. Uninstall is to remove the directory structure and stop sourcing the setup file. The sourcing you will need to do with Debian packages also.

The ROS2 packages are available as their repository at their repository. To add that to your system, copy their key.

curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

And then add their repositories.

sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)]
http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main"
> /etc/apt/sources.list.d/ros2-latest.list'

When that is done, you can update and install the libraries.

sudo apt update
sudo apt install ros-foxy-desktop

With all this installed, you need to initialize the environment in the shell you are running.

source /opt/ros/foxy/setup.bash

Add this line to your .bashrc script, so all invocations of bash are ready for you to work. This is also where using a Linux container comes in handy. When you have several projects, using different versions, it is better to create a virtual machine only for ‘Foxy’ and another one for each you need.

Conclusion

While the basic installation is simple for ROS2, you need to be precise about what you want. If you stay with one distribution, you have no problems but start using many versions and you have complications.

]]>
Top 5 Advanced Robotics Kits https://linuxhint.com/top_5_advanced_robotics_kits/ Sun, 26 Jul 2020 05:06:38 +0000 https://linuxhint.com/?p=63913 Machine Learning and AI is one crucial factor for more advanced robotics. To make a robot move around in an unpredictable environment will require many functions. Just making the robot locate its own appendages is a challenge in itself. To handle this, you will need many libraries that can describe and control everything. You do not want to create this system all on your own, and it is much more complex than it seems at first glance. A seemingly trivial task, like gripping an object, requires an entire library of code, and that is after the robot has already found the object through another set of complex coding.

Make your life easier by ensuring that your robot supports the common standards described below.

Operating System

For advanced robotics projects, you will require an OS that can handle all the intricacies. The ROS system is a nice standard to start from. Their latest release is Foxy-Fitzroy. The features you get from the ROS help with development of robots and planning of missions. There are also many more features that you can download, and Nvidia has rolled out their own version, as well. When you are shopping around for an advanced robotics project, check if this standard will work. It will help you when you create more advanced features.

If you want to learn more and use libraries for advanced robots, you can take a look at the Open Dynamic Robot Initiative

Can You Build It Yourself?

Many readers of this post want to design their own robots. That is great, and good luck, but please consider modifying existing robotic code. Many of the kits in this list are documented to the full extent of the Open Source Movement. You can download all the files and put it together yourself. You are also free, and even encouraged, to extend, modify and alter what is already there.

Turtlebot

The TurtleBot comes in a few shapes, named burger and waffle. This might make you hungry, but the naming reflects the design. The models are on wheels. The burger is taller and on a platform of sorts, while the waffle is much lower, and the wheels stick out. This platform is designed for experimenting, mostly with sensors and behaviors. This robot rolls on wheels, making it excellent as a vacuum cleaner. It does not have arms and legs; those you will have to add yourself. Currently, the platform is in its third major version. Support for the ROS system is the core concept of this robot. All designs, hardware, and software are free and open-source. If you have the skills and equipment, you can build it yourself and add anything you desire.

Getting a kit that is ready to run is as simple as searching for distributors. Many universities are also using this platform. With the TurtleBot, you have a small, affordable platform that you can use for advanced robotics projects.

1.Ardupilot

When you need a platform for navigating the world, Ardupilot is a great option. In their GitHub repository, you can find many distributors and manufacturers. One example is the E384 Mapping Drone, which is built like a model airplane but has advanced surveying capabilities, all built using the Ardupilot project. These planes are not cheap, and they are made for professional use.

You can, of course, use the Ardupilot for your own project, and then sell the services just like the aforementioned company. For example, using this project, BlueRobotics has built an underwater rover that can even link to a GPS tool for navigation. Find more information on the Ardupilot website.

2.Corpora

This robot is made to teach you about robotics, with a focus on vision, machine learning, and interaction with people. The robot does navigation and collision avoidance, but that is not the area of focus for the robot. Instead, the focus is on the AI.

The Corpora robot is based on a combination of Raspberry Pi, Linux, and OpenCV, and you can create many image recognition projects with it. In fact, there is already a project where the robot recognizes itself. Hardware hacking, such as adding arms or making it spring out on green fields, is not ideal since it comes with a shell and wheels underneath.

3.Leorover

This robot is used for designing at several universities around the world. You need a lot of space for this project because it is quite large. This rover is intended for developers with access to professional equipment. Hobbyists will find the price point beyond their regular play budgets. Choosing this robot is, as you can guess, best when you have a business reason for doing so.

The hardware consists of a Raspberry Pi 3B+ or 4B using Core2-ROS, and the real-time controller STM32F4. The impressive parts of this kit are the servos, DC motors which run great wheels. With all the interfaces you have available, you have many options to expand the standard kit to match your operations.

4.Arduino

Despite touting ROS as a necessity, you should still check out these robots. They run on Arduino and can walk, crawl, and run. All advanced functions regarding vision and collision avoidance are simple and require little intelligence. These robots are great for evoking imagination about how a robot can move.


As you can see in the videos, 3D-printing and mounting your own robot is the next step in your personal development in robotics.

Conclusion

There are several ways to advance in robotics through ready-to-go kits. One way is to make all the parts yourself and another is to program a kit to do amazing things. If you combine the two, you may have the basis of a business.

You can get started on making these creations by viewing the link below:

]]>
5 Best Robotics Kits for Adults https://linuxhint.com/5_best_robotics_kits_adults/ Mon, 20 Jul 2020 13:00:49 +0000 https://linuxhint.com/?p=63567 Kids are not the only ones who can have fun with robotics kits. Adults can find many hours of fun entertainment and learning with the correct kit. You can also start building a career in the field of robotics. Many schools teach robotics using kits. With a robotics kit, you can make small useful robots, though most will be less efficient than creating it from scratch yourself. This article will provide some useful information about the robotics kits available to you today.

Why Robotics?

Robotics is a growing field, and robots are already working in factories across the world. More consumer models are coming on the market every day. The robotic vacuum cleaner and lawn mower are already common household items. These use technologies like Arduino and Raspberry PI, and you can actually use these to hack Roomba machines. With this outlook, choosing to learn some robotics can even be useful if you never get into the field professionally. To get started, figure out a project you may want to try your hand at, start simple with tasks that do not require any reasoning.

What Are Your Project Needs?

Before you start a robotics project, imagine what the needs are for the robot. If the robot needs to move around in your house, you will need avoidance detection, which is included in most kits. AI is sparse at this point, but it is coming along quickly. You should remember that recognizing a face, or anything else, requires the use of AI.

Most kits support Arduino and are built around that platform, as well as Raspberry Pi.

1. Spirit Rover Robot Kit

The designers of the Spirit Rover robot were inspired by the NASA rovers. This kit is built with Raspberry Pi, Arduino, and a microchip controller. With this robot, you can learn all the basics of robotics. With the Raspberry Pi at the center, you can learn and install many functions. AI is not included, though the camera has computer vision enabled out-of-the-box.

You should choose this model if you want to program, though the physical design is available and you are able to perform hardware changes.

2. Elegoo Robot Kit

The Elegoo robot kit has all the items you need to get started with basic robotics techniques. This robot is designed as a car with ultrasound sensors as “eyes” for collision avoidance. The package comes with all the components ready to assemble. There are many experiments and source codes available for Elegoo to learn more about robotics. This kit also comes with a remote control, though you can also use your smartphone as a remote. The quality of the kit is good but not fabulous, and some users have reported small problems.

3. Freenove Quadruped Robot Kit

The Freenove Quadraped robot kit is unusual due to the four legs it uses for motion (there is also a six-leg version). You have many more options for moving about, though races will not be won against robots that have wheels. In this kit, you have several remote options, and you can program the robot with Arduino IDE. You can also get libraries that can make the robot crawl, tilt, and do other things from the webpage.

The whole project is based on free and open-source software AND hardware. All mechanical parts come from a flat surface, and you can cut them out yourself. The required documents are all on GitHub. Since this kit is all open source, you can change the design according to your preferences. This kit is cut from flat acrylic. If you want to use other materials, you can, just consider the weight adjustments when you do.

4. SparkFun JetBot AI Robot Kit

When you start getting more advanced in robotics, you should consider the effects of Artificial Intelligence. To do this, you can use the Jetson Nano computer from Nvidia. They have built a developer kit for their Nano Jetson. With this kit, you can use neural networks for image classification, object detection, and even speech processing.

The robot comes with a MicroSD card, including the Qwiic Python library, the Jetbot ROS (Robot Operating System), and more. The mechanical part of this kit includes the standard two drive wheels and a controlling wheel. The true power of this kit is the processor, not the movement capabilities.

This kit is available on the SparkFun web page, on Amazon, and many other places on the web.

5. SparkFun Inventors Kit

This kit is a bit smaller than most but has components for five Arduino-based projects. This kit lets you start from simple Arduino kits, all the way to running a robot around the room. You can choose this kit to get started and expand it as you get better. You will not have many options in the package, but it comes with the Qwiic board for many other methods of reaching external devices.

The SparkFun Inventors kit has fewer components than other kits, and it is reflected in the price. You can use this kit as a base for larger projects, making this package great for a longer-term plan of learning or expanding your ideas.

Search the SparkFun website for the Inventors Kit. This kit is not a pure robotics kit but is worth mentioning in this list due to the vast possibility of expansion.

Conclusion

Looking for a robotics kit for adults can prove difficult, as most manufacturers aim for the educational and children’s markets. Do not let the beginners’ tag stop you, though, because you can combine several packages to make a serious project using beginner kits. As you progress in your knowledge, you can start designing your own features, and you will be happy that you learned how the pieces work together. You can also benefit from learning programming and AI, as they can seriously impact the viability of any project’s potential autonomy. Hopefully, this article showed you some useful information on robotics kits that you can use to test and improve your skills.

]]>
5 Best Robotics Kits for Kids https://linuxhint.com/best_kids_robotics_kits/ Mon, 20 Jul 2020 05:05:21 +0000 https://linuxhint.com/?p=63391 The best way to learn anything is to do it yourself. The fastest way is to have earlier projects to learn from and instructions. The instructions can come from documentation, videos and teachers. Today, you will learn about great kits for teaching your kids about robotics.

Some of these kits are ready built and requires only hooking things up. You should consider how much of the building your kids may want to do. Depending on the kit, the focus is on learning how the mechanics are built and how to program the robots. In the beginning, you may want kits that assemble in minutes before you can experiment.

Why learn robotics

As your kids grow up, they will encounter more and more technology, including robots. Knowing, at least partly, what is going on under the shells will be useful whether they stay in the field or not. Thinking like an engineer also requires that you see every problem as the beginning of the next step. The solution, if you will, that is a soft skill we should all learn.

What are the basics

For a robot to function properly, it needs to move about, sense its surroundings and grab stuff. Obviously, the system may also interpret the input to decide actions. The level of intelligence needed will depend on your application. For educational purposes, you start with a low level and work your way up. The pieces you need are separated in input, output and processing parts. Most available kits have simple sensors, though some come with cameras. The output is usually wheels, grip arms and displays. You should consider if you want to start experimenting or if the building is an important part of the lesson. It varies between kits.

BYOR – Build Your own Robot

Build Your Robot; you buy this kit to get going with understanding the logic and practicalities of robotics. You can connect the pieces without tools and start trying out the logic of robotics. The creators made a very pedagogic system, inputs are blue, and outputs are green.

You receive four inputs and four outputs in the kit from BYOR. In the box, there is also the main board and some cables. The cables are the same as the audio cables for your phone. The inputs are distance, audio and light sensors. Also included is a tuning knob for manual control. The four outputs are a servo motor, a stepper motor, an LED and a buzzer. The idea of this package is that you build the body of a robot from cardboard. With the parts involved, you can make the simplest robots. To program the robot, you use microbit to program this robot. This makes it very easy to get started programming. On Linux, you can use MicroPython to program it. This kit is limited if you want to make useful robots, but it is very fast to get started. Aimed at education, you can use this kit to teach and learn about robotics. If you aim for bigger projects, you need another kit.

Moonbot – More AI built-in

The Moonbot has three basic shapes; all parts come out of the box. The central unit is an Arduino compatible ATMega 1280; it also contains a vision sensor. The vision sensor is a camera and an ESP32 with Bluetooth & WiFi. The kit also contains servos, stepper motors and a range of sensors. When you receive this kit, you have everything available, even a battery pack to keep the robot active. The “Eyes” are rings of LEDs, and there is a speaker unit that can play any mp3 file you want. You also get four sensors, two touch and two infrared ones. These can be mounted for obstacle avoidance and other tasks.

To program, you can use scratch language and, since it is Arduino compatible, you can also use Arduino and C. This kit is more advanced than others while the user can get started quickly. In this case, the programming is the big thing. Building and designing is not the big challenge though that is also possible.

This kit has more built-in capability and can go further, but it also costs you more than the BYOR kit.

Sparki – All Open Source

Sparki is a ready-built robot using two stepper motors for moving forward and about. Being Arduino based, you have the flexibility to do what you want with it. Out of the box, it has an array of sensors, a Display and is built around a sturdy chassis. With the pieces inside the chassis, you can make a rolling robot that can sort stuff, follow paths and get out of mazes. Much of the AI is already there, and you have all the open source available. The whole robot is completely open-source, including all the files for building it from 3d-printed parts, the circuit boards and Arduino files. You can actually build everything just from the files supplied. It will only be worth it if you build another model and come up with your own ideas, though. Here are the files!

Wink

The Wink robot is a very simple robot with two LEDs for eyes, two motors and sensors. The sensors are light, three in the front and an infrared “headlight” for obstacle avoidance. The sensors can see visible and infrared, so you can use them for detecting light as well. There are more infrared and light sensors under the robot to detect surfaces and lines.

You can use all these sensors to make the robot follow lines, avoid obstacles and follow a light source. The robot is Arduino based, and all the lessons that you can download now show code to make all this happen. When you open the box, there is no mounting of any kind and some code is pre-loaded. You can start testing the functions immediately.

Without building and soldering the engineering, aspect is lost, but you may want to add that later depending on your kid’s interests.

mbot – Maker inspired

The mbot from Makeblock has the two wheels and steering motors the Wink has. This is a bigger model, though, you also need to assemble it yourself. The kit is built in the same fashion as a LEGO or Mechanics kits. This makes the building simple, and you can see clearly what is happening in the machine. This makes for a very educational build experience.

The mainboard is an Arduino compatible board. All the documentation tells you to use the Makeblock app to program it using the mblock application. You can, however, use python to program it, switching to Arduino C is built-in. Sensors are Light, IR, Ultrasonic and line follower. The mbot also has many modules.

This package is useful for learning more mechanics, and how to build stuff, it also has much more potential than the other kits.

Conclusion

There are plenty of robot kits you can use to teach your kids how robots work, and maybe you can learn something yourself. Before you decide which kit to use, decide what aspects will be the most interesting and captivating. That way, you can keep learning for a long time.

]]>