CRLab Introduction
Welcome to the CRLab This page is a brief introduction to the lab and its operation. It is a good starting point for new members and visitors to the physical lab space.
Welcome to the CRLab Wiki! This is a collection of resources for the CRLab community, including documentation, tutorials, and other helpful information. Use the navigation menu on the left or below to explore the different sections of the wiki.
Welcome to the CRLab This page is a brief introduction to the lab and its operation. It is a good starting point for new members and visitors to the physical lab space.
How to Contribute to this website The CRLab website needs you to keep it up-to-date with the latest information about the lab. This wiki page will walk you through everything you need to know!
Data Flow Design of ROS-based Software ROS-based software inherits the hallmarks of the core framework design. These characteristics are well constructed to meet the needs of robotics software architecture. By following the best practices illustrated in the ROS communication middleware, a robotic software project can inherit complex traits such as abstraction, observability, testability, failure tolerance, interoperation and generalisation. The key elements used to construct ROS software are nodes and topics. The basic design approach is to architect data flow from node to node via topics. In general, most data will begin with sources, and end with sinks, with feedback traversing the network in reverse.
Getting Started with Ubuntu OS for Robotics This article explores a couple of ways to get started with installing Ubuntu OS to use for robotics development. Each approach will have advantages and trade-offs. Simply put, installing Ubuntu is well-documented with a wealth of resources online for any scenario. This article will not prescribe actions to be taken, but rather the trade-offs and decision-making needed to decide which path is right for the given scenario.
Multi-client unmanaged network - mDNS This article explores using mDNS to set up a multi-client network with unmanaged IP addresses or DHCP. The advantage of this over setting up static IP addresses or MAC-based management is that the network requires zero configuration.
ROS API Basics This article will review the ROS robotics middleware API basic design and usage. There are many resources online to allow more detailed or specific uses. There are also numerous packages and repositories of publicly available code with varying degrees of ROS API usage.
Set Up a Generic Gamepad for ROS Teleoperation
The ROS Robot Package Structure This article explains a good layout for a ROS-based robot’s code. This includes packages, meta-packages, launch and config.
🤖 Understanding The ROS Robot Stack There are many aspects to designing robot software. ROS uses some best practices and design strategies to allow developers to quickly create high-quality robot software. Some of these design details are not explicitly covered by the ROS tutorials and some are guided by community and industry knowledge and practice and are not directly addressed in the ROS core framework. As a result, it can be difficult to understand how to use ROS in a professional project when first starting out.