Goto

Collaborating Authors

 robotic programming


TiniScript: A Simplified Language for Educational Robotics

arXiv.org Artificial Intelligence

The constructionism theory, formulated by Seymour Papert, has been a transformative approach in education, particularly within STEM (Science, Technology, Engineering, and Mathematics) fields. This theory emphasizes learning through creation, where students engage actively by building knowledge structures through hands-on tasks and meaningful projects. One of the early milestones influenced by constructionism was the development of the Logo programming language. Logo's simple, block-based structure enabled students to grasp fundamental programming concepts visually by manipulating blocks, establishing a foundation for educational tools that remain essential in early computer science education. Over time, educational robotics kits, like those from LEGO Education (RCX, NXT, and EV3), have set standards for integrating physical construction with software programming. These kits demonstrate the potential of robotics in educational settings by engaging students in both mechanical assembly and logical problem-solving, thereby fostering an understanding of hardware and software as interconnected aspects of robotics. Building on this foundation, programming environments in educational robotics have largely adopted block-based interfaces. These environments simplify coding for beginners, allowing students to create programs by connecting blocks representing specific actions. Once completed, the program is uploaded to a microcontroller, enabling the robot to execute the instructions.


Advancing The Robotics Software Development Experience: Bridging Julia's Performance and Python's Ecosystem

arXiv.org Artificial Intelligence

Robotics programming typically involves a trade-off between the ease of use offered by Python and the run-time performance of C++. While multi-language architectures address this trade-off by coupling Python's ergonomics with C++'s speed, they introduce complexity at the language interface. This paper proposes using Julia for performance-critical tasks within Python ROS 2 applications, providing an elegant solution that streamlines the development process without disrupting the existing Python workflow.


ROS - an Open Source Framework for Robotics Programming

#artificialintelligence

ROS (Robot Operating System) is an open source framework (not a real operating system) for writing robot software. It started in 2007 by Eric Berger and Keenan Wyrobek (they were PhD students at Stanford University) with the goal of simplifying the process of creating complex robot behavior across a wide variety of robotic platforms, which enables software developers with little robotics hardware knowledge to write software for robots. ROS is licensed under the permissive BSD license. ROS has a lot of components and tools. ROS provides common robot-specific libraries and tools. ROS has also powerful development tools which support introspecting, debugging, plotting, and visualizing the state of the system being developed.


A beginner's guide to robot programming with Python

#artificialintelligence

Let's face it, robots are cool. They're also going to run the world some day, and hopefully, at that time they will take pity on their poor soft fleshy creators (a.k.a. I'm joking of course, but only sort of. In my ambition to have some small influence over the matter, I took a course in autonomous robot control theory last year, which culminated in my building a Python-based robotic simulator that allowed me to practice control theory on a simple, mobile, programmable robot. In this article, I'm going to show how to use a Python robot framework to develop control software, describe the control scheme I developed for my simulated robot, illustrate how it interacts with its environment and achieves its goals, and discuss some of the fundamental challenges of robotics programming that I encountered along the way. The snippets of code shown here are just a part of the entire simulator, which relies on classes and interfaces, so in order to read the code directly, you may need some experience in Python and object oriented programming. Finally, optional topics that will help you to better follow this tutorial are knowing what a state machine is and how range sensors and encoders work. The fundamental challenge of all robotics is this: It is impossible to ever know the true state of the environment. Robot control software can only guess the state of the real world based on measurements returned by its sensors. It can only attempt to change the state of the real world through the generation of control signals.


Learning ROS for Robotics Programming, Second Edition - Programmer Books

#artificialintelligence

Starting at an introductory level, this book is a comprehensive guide to the fascinating world of robotics, covering sensor integration, modeling, simulation, computer vision, navigation algorithms, and more. You will then go on to explore concepts such as topics, messages, and nodes. Next, you will learn how to make your robot see with HD cameras, or navigate obstacles with range sensors. What's new in this updated edition? First and foremost, we are going to work with ROS Hydro this time around.


Robot Operating System for Absolute Beginners - Programmer Books

#artificialintelligence

Learn how to get started with robotics programming using Robot Operation System (ROS). Targeted for absolute beginners in ROS, Linux, and Python, this short guide shows you how to build your own robotics projects. ROS is an open-source and flexible framework for writing robotics software. With a hands-on approach and sample projects, Robot Operating System for Absolute Beginners will enable you to begin your first robot project. You will learn the basic concepts of working with ROS and begin coding with ROS APIs in both C and Python.


Robotics Programming: Essential Coding Languages To Learn Robots.net

#artificialintelligence

Before we start exploring this fascinating field, it is important to get an overview of robotics programming and give ideas to the newbies as well. The reason why robotics is growing so rapidly is quite explicit. It happens to be a mixture of all the top fields, including computer science, engineering, bioengineering, mechatronics, AI, nanotechnology, and some others. The term "robotics" simply refers to the study of robots. These are machines designed to work in human capacity and execute some very specific tasks.


Beginning Robotics Programming in Java with LEGO Mindstorms - Programmer Books

#artificialintelligence

This book will show you the difference between making a robot move and making a robot think. Using Mindstorms EV3 and LeJOS―an open source project for Java Mindstorms projects―you'll learn how to create Artificial Intelligence for your bot. Your robot will learn how to problem solve, how to plan, how to learn, and how to communicate. Along the way, you'll learn about classical AI algorithms for teaching hardware how to think, algorithms that you can then apply to your own robotic inspirations. If you've ever wanted to learn about robotic intelligence in a practical, playful way, Beginning Robotics Programming in Java with LEGO Mindstorms is for you.


ROS robotics projects

Robohub

A new book by Lentin Joseph, ROS Robotics Programming, outlines more than 14 robotics projects using ROS that can be engaged with without requiring a lot of hardware. The book starts with an introduction to ROS and its installation procedure. After discussing the basics, you'll be taken through great projects such as building a self-driving car, an autonomous mobile robot, and image recognition using deep learning and ROS. You can find ROS robotic applications for beginner, intermediate, and expert levels inside. This book is unique in that it focuses on ROS via the lens of robotics projects only.