Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
adirb:developers [2024/07/04 21:34] – removed - external edit (Unknown date) 127.0.0.1 | adirb:developers [2025/03/11 16:29] (current) – Sandro | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | === INTRODUCTION === | ||
+ | |||
+ | Welcome to the official developer documentation for ADIR BASIC, the differential drive robot designed for versatile indoor/ outdoor navigation. This chapter provides instructions on how to get ADIR up and running on your system. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === REPOSITORY === | ||
+ | |||
+ | The official repository can be found here: [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === SIMULATION === | ||
+ | |||
+ | This repository uses NVIDIA' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === PREREQUISITES === | ||
+ | |||
+ | * A computer running a Debian-based Linux distribution (currently Ubuntu 22.04). | ||
+ | * ROS2 Humble installed | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === ELECTRICAL INTEGRATION === | ||
+ | |||
+ | == CAN Connectivity Interface == | ||
+ | {{: | ||
+ | Size 12 - 8 pin Quicklock Connector: https:// | ||
+ | |||
+ | ^ Pin ^ Function | ||
+ | | 1 | GND | | ||
+ | | 2 | CAN_L | | ||
+ | | 3 | 5V | | ||
+ | | 4 | External Emergency Switch | ||
+ | | 5 | Digital Input | | ||
+ | | 6 | Digital Input | | ||
+ | | 7 | CAN_H | | ||
+ | | 8 | Digital Output | ||
+ | |||
+ | == Joystick Interface == | ||
+ | {{: | ||
+ | Size 12 - 5 pin Quicklock Connector: https:// | ||
+ | |||
+ | ^ Pin ^ Function | ||
+ | | 1 | GND | | ||
+ | | 2 | 5V | | ||
+ | | 3 | Joystick Button (pressed 5V) | | ||
+ | | 4 | Joystick Input 1 (Analog 0-5V) | | ||
+ | | 5 | Joystick Input 2 (Analog 0-5V) | | ||
+ | |||
+ | == Digital and Analog Inputs == | ||
+ | |||
+ | Digital and Analog Inputs can be retrieved using the CAN BUS. The Digital Output can be set via CAN BUS: | ||
+ | |||
+ | ^ Parameter | ||
+ | | 5V Output Current | ||
+ | | Digital Output Voltage | Ground to Output pin | - | - | 30 | Volts | | ||
+ | | Digital Output Current | Output pin, sink current | - | - | 1 | Amps | | ||
+ | | Digital Input 0 Level | Ground to Input pin | -1 | - | 1 | Volts | | ||
+ | | Digital Input 1 Level | Ground to Input pin | 3 | - | 30 | Volts | | ||
+ | | Analog Input Range | Ground to Input pin | 0 | - | 5.1 | Volts | | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === SOFTWARE INSTALLATION === | ||
+ | |||
+ | == Environment Setup == | ||
+ | |||
+ | If you are using CAN by connecting to the given port on ADIR and CAN bus is up & running, then we can skip this step. | ||
+ | |||
+ | If using USB cable, please download the adir.sh bash script first and run it using the following commands: | ||
+ | |||
+ | chmod +x adir.sh | ||
+ | sudo ./adir.sh | ||
+ | |||
+ | Once succesfully run, then we can launch the run files. | ||
+ | Please note that the can bit rate is currently set to 500000. | ||
+ | |||
+ | == Installing Dependencies == | ||
+ | |||
+ | To use Adir, you must first install the necessary Debian packages. These packages contain all the dependencies and drivers required for Adir to operate seamlessly. The packages can latter be downloaded using rosdep. In order for rosdep to find the packages, we need to add the Antrobotics repository and the rosdep definitions for the packages. | ||
+ | |||
+ | **Adding apt repository** | ||
+ | |||
+ | curl -s --compressed " | ||
+ | sudo curl -s --compressed -o / | ||
+ | sudo apt update | ||
+ | |||
+ | **Adding rosdep definition** | ||
+ | |||
+ | echo "yaml https:// | ||
+ | rosdep update | ||
+ | |||
+ | **Cloning the repository** | ||
+ | |||
+ | mkdir -p adir_ws/src | ||
+ | cd adir_ws/src | ||
+ | git clone -b ros2-humble https:// | ||
+ | cd .. | ||
+ | rosdep install --from-paths src --ignore-src -r -y | ||
+ | colcon build --symlink-install | ||
+ | |||
+ | ---- | ||
+ | |||
+ | == Launching ADIR == | ||
+ | |||
+ | To start using ADIR, you can use the following command: | ||
+ | |||
+ | ros2 launch odometry odometry.launch.py | ||
+ | |||
+ | To start moving it, we can publish forward and angular velocities from the terminal or scripts on ros2 topic ' /cmd_vel ' | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === ADDITIONAL INFORMATION === | ||
+ | |||
+ | == Topics == | ||
+ | |||
+ | Below is a list of the topics used in this project along with their respective message types and descriptions. | ||
+ | |||
+ | ^ Topic Name (Publishers) | ||
+ | | /odom | nav_msgs/ | ||
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | | / | ||
+ | |||
+ | ^ Topic Name (Subscribers) | ||
+ | | / | ||
+ | |||
+ | == Services == | ||
+ | |||
+ | ^ Service Name ^ Service Type ^ Description ^ | ||
+ | | / | ||
+ | |||
+ | ---- | ||
+ | |||