Sign inSign up

theconstructai/limo

By theconstructai

•Updated over 1 year ago

Docker container to run AgileX LIMO robot in ROS 2 Humble.

Image
Integration & delivery
0

398

theconstructai/limo repository overview

⁠How to run this image in LIMO robot and control from The Construct's platform (ROS 2):

  1. Register⁠ robot in The Construct.
  2. Install⁠ docker in robot.
  3. Clone⁠ repository that contains compose file and volumes to be mounted.
  4. Remove stopped containers in cache: docker system prune
  5. Run image in robot with provided compose file: docker compose -f /path/to/limo_docker/docker-compose-v2.yaml up -d
  6. Open any rosject in The Construct and connect to LIMO robot.
  7. Check for robot's topics: ros2 topic list

⁠docker-compose-v2.yaml

name: limo_humble

services:
  limo-humble-container:
    image: theconstructai/limo:humble-v3
    privileged: true
    network_mode: host
    container_name: limo-humble-container
    volumes:
      - /var/lib/theconstruct.rrl/cyclonedds.xml:/var/lib/theconstruct.rrl/cyclonedds.xml
      - /dev:/dev
      - ./limo_base.launch.py:/root/agilex_ws/install/limo_base/share/limo_base/launch/limo_base.launch.py
      - ./limo_entrypoint-v2.sh:/limo_entrypoint-v2.sh
    entrypoint: /limo_entrypoint-v2.sh
    command: ["ros2", "launch", "limo_bringup", "limo_start.launch.py"]
    restart: always

⁠How to run this image in LIMO robot in ROS 2 Humble default configuration

Default Humble configuration: Multicast, RMW_IMPLEMENTATION=rmw_fastrtps_cpp.

  1. Install⁠ docker in robot.
  2. Remove stopped containers in cache: docker system prune
  3. Run image in robot with provided compose file: docker compose -f /path/to/docker-compose.yaml up -d
  4. Check for robot's topics: ros2 topic list

⁠docker-compose.yaml

name: limo_humble

services:
  limo-humble-container:
    image: theconstructai/limo:humble
    privileged: true
    network_mode: host
    container_name: limo-humble-container
    volumes:
      - /dev:/dev
    entrypoint: /limo_entrypoint.sh
    command: ["ros2", "launch", "limo_bringup", "limo_start.launch.py"]

⁠ROS Noetic

  1. Register⁠ robot in The Construct.
  2. Install⁠ docker in robot.
  3. Clone⁠ repository that contains compose file and volumes to be mounted.
  4. Remove stopped containers in cache: docker system prune
  5. Run image in robot with provided compose file: docker compose -f /path/to/agilex_limo/limo_ros/docker/docker-compose.yaml up -d
  6. Open any rosject in The Construct and connect to LIMO robot.
  7. Check for robot's topics: rostopic list
name: limo-noetic

services:
  limo-noetic-container:
    image: theconstructai/limo:noetic
    pull_policy: always
    privileged: true
    network_mode: host  
    container_name: limo-noetic
    environment:
      - ROS_IPV6=on
      - ROS_MASTER_uri=http://master:11311
      - ROS_HOSTNAME=master
    volumes:
      - /dev:/dev
      - ./volumes/launch_ros_drivers.sh:/launch_ros_drivers.sh
    devices:
      - "/dev/bus/usb:/dev/bus/usb"
    device_cgroup_rules:
      - 'c 189:* rmw'
    entrypoint: /ros_entrypoint.sh
    command: ["/launch_ros_drivers.sh"]
    restart: always

Tag summary

Content type

Image

Digest

sha256:7a491c125…

Size

1.1 GB

Last updated

over 1 year ago

docker pull theconstructai/limo:humble-v3