adirb:developers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
adirb:developers [2024/07/04 21:34] – ↷ Page moved and renamed from adirb_developers to adirb:developers filipadirb:developers [2025/03/11 16:29] (current) Sandro
Line 2: Line 2:
  
 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. 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://github.com/AntRobotics-de/adir]] The official repository can be found here: [[https://github.com/AntRobotics-de/adir]]
 +
 +----
 +
 +=== SIMULATION ===
 +
 +This repository uses NVIDIA's Isaac Sim for simulating the Adir robot: [[https://github.com/AntRobotics-de/adir_simulation]]
  
 ---- ----
Line 9: Line 19:
 === PREREQUISITES === === PREREQUISITES ===
  
-  * A computer running a Debian-based Linux distribution (currently Ubuntu 22).+  * A computer running a Debian-based Linux distribution (currently Ubuntu 22.04).
   * ROS2 Humble installed   * ROS2 Humble installed
  
Line 16: Line 26:
 === ELECTRICAL INTEGRATION === === ELECTRICAL INTEGRATION ===
  
-== Connectivity Interface == +== CAN Connectivity Interface == 
 +{{:adirb:can_quicklock_12_8_pin.png?200| }}
 Size 12 - 8 pin Quicklock Connector: https://www.lutronic.biz/en/connectivity/product/2350+...+T06CB+T Size 12 - 8 pin Quicklock Connector: https://www.lutronic.biz/en/connectivity/product/2350+...+T06CB+T
  
Line 31: Line 41:
  
 == Joystick Interface == == Joystick Interface ==
 +{{:adirb:joystick_quicklock_12_5_pin.png?200| }}
 Size 12 - 5 pin Quicklock Connector: https://www.lutronic.biz/en/connectivity/product/2350+...+T06CB+T Size 12 - 5 pin Quicklock Connector: https://www.lutronic.biz/en/connectivity/product/2350+...+T06CB+T
  
Line 56: Line 66:
  
 === SOFTWARE INSTALLATION === === 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 == == 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.+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.
  
-  sudo dpkg -i ros-humble-adir-ros-can-interfaces_0.0.0-0jammy_amd64.deb +**Adding apt repository**
-  sudo dpkg -i ros-humble-adir-ros-can_0.0.1-0jammy_amd64.deb +
-  sudo dpkg -i ros-humble-adir-can-commands-interfaces_0.0.0-0jammy_amd64.deb +
-  sudo dpkg -i ros-humble-adir-can-commands_0.0.0-0jammy_amd64.deb+
  
-== Cloning the Repository ==+  curl -s --compressed "https://antrobotics-de.github.io/ppa/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/antrobotics_ppa.gpg >/dev/null 
 +  sudo curl -s --compressed -o /etc/apt/sources.list.d/antrobotics.list "https://antrobotics-de.github.io/ppa/antrobotics.list" 
 +  sudo apt update 
 + 
 +**Adding rosdep definition** 
 + 
 +  echo "yaml https://antrobotics-de.github.io/ppa/rosdep/antrobotics.yaml" | sudo tee /etc/ros/rosdep/sources.list.d/antrobotics.list >/dev/null 
 +  rosdep update 
 + 
 +**Cloning the repository**
  
   mkdir -p adir_ws/src   mkdir -p adir_ws/src
Line 72: Line 100:
   git clone -b ros2-humble https://github.com/AntRobotics-de/adir.git   git clone -b ros2-humble https://github.com/AntRobotics-de/adir.git
   cd ..   cd ..
 +  rosdep install --from-paths src --ignore-src -r -y
   colcon build --symlink-install   colcon build --symlink-install
  
 ---- ----
- 
-=== ENVIRONMENT SETUP === 
- 
-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. 
- 
-If using CAN by connecting to the given port on ADIR and CAN bus is up & running, then we can straight away launch the scripts. Please note that the bit rate is currently set at 500kbps. 
  
 == Launching ADIR == == Launching ADIR ==
Line 91: Line 109:
 To start using ADIR, you can use the following command: To start using ADIR, you can use the following command:
  
-  ros2 launch odometry adir.launch.py+  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_cel '+To start moving it, we can publish forward and angular velocities from the terminal or scripts on ros2 topic ' /cmd_vel '
  
 ---- ----
Line 99: Line 117:
 === ADDITIONAL INFORMATION === === ADDITIONAL INFORMATION ===
  
-== Topics Available: == +== Topics ==
- +
-For debugging purposes the folowing topics can be called. +
- +
-  /motor_controller/status +
- +
-can verify if stall is detected or if ADIR is running on RC/ autonomy commands +
- +
-  /motor_controller/fault_state+
  
-can verify if situation like overheat, overvoltage, undervoltage, short circuit, emergency stop or mosfet failures happen using boolean+Below is list of the topics used in this project along with their respective message types and descriptions.
  
-  /motor_controller/motor*/runtime_status+^ Topic Name (Publishers)      ^ Message Type       ^ Description ^ 
 +| /odom    | nav_msgs/Odometry | Publishes the adir odometry information(currently only using wheel encoders) | 
 +| /motor_controller/voltage      | std_msgs/Float | Publishes robot voltage. Please charge when it falls below 23V | 
 +| /motor_controller/status    | ros_can_interfaces/Frame | Publishes information on serial,pulse or analog mode and stall detection | 
 +| /motor_controller/fault_state    | ros_can_interfaces/Frame | Publishes information on overheating, undervoltage, overvoltage, shortcircuit, emergency stop, motor sensor setup fault & mosfet failure | 
 +/motor_controller/motor*/runtimestatus    | ros_can_interfaces/Frame | Publishes information on amps limit active, motor stall. loop error detection, safety stop active, forward limit triggered, reverse limit triggered & amps trigger activated |
  
-can verify if a situation like motor_stalled, forward_limit_triggered, reverse_limit_triggered, amps_trigger_activated happen using boolean+^ Topic Name (Subscribers)      ^ Message Type       ^ Description ^ 
 +| /cmd_vel    | geometry_msgs/Twist | Subscribes to velocity commands for the robot |
  
-  /motor_controller/voltage+== Services ==
  
-can verify the voltage of ADIR. Please note if below 21V, please charge the ADIR.+^ Service Name      ^ Service Type       ^ Description ^ 
 +| /ResetOdometry    | std_srvs/Trigger | Resets the adir wheel odometry |
  
 ---- ----
  
  
  • adirb/developers.1720128895.txt.gz
  • Last modified: 2024/07/04 21:34
  • by filip