Skip to content

JeffersonLab/daceri

Folders and files

NameName
Last commit message
Last commit date
Jan 24, 2025
Jun 20, 2024
Sep 11, 2024
Feb 25, 2025
Feb 19, 2025
Feb 27, 2025
Dec 2, 2024
Feb 29, 2024
Feb 25, 2025
Sep 11, 2024
Feb 29, 2024
Feb 25, 2025

robot-project

Any code for the DACERI (DAta CEnter Robot Inspector) project in affiliation with Jefferson Lab.

Run Simulation

  1. Download the respective file based on OS and architecture: https://github.com/google-deepmind/mujoco/releases
  2. Extract the file, and run simulate inside the extracted folder. Mujoco simulator should run
  3. Clone this repository
  4. Go into the sim/ directory
  5. Drag-and-drop any .xml into the simulator

Print 3D model parts

  1. Clone this repository
  2. Go into the designs/ directory
  3. Choose any design you'd like
  4. Open in any CAD software and export as STL
  5. Use a program like UltiMaker Cura or Prusa Slicer and slice the STL file into GCODE
  6. Run on a 3D printer

Move the robot

  1. Clone this repository on both the client computer and the robot's R-Pi
  2. On the robot's R-Pi, run the following steps according to your desired setup:
    • Run this first:
      python -m venv ./.venv --system-site-packages
      pip install -r /path/to/daceri/libs/requirements.txt
      source ./.venv/bin/activate
      
    • UDP Server (Modify the IP Address in the udp-server.py file to the IP of the R-Pi):
      python /path/to/daceri/scripts/udp-server.py
      
    • Websockets Server:
      python /path/to/daceri/scripts/websockets.py
      
  3. Go into the scripts/ directory
  4. Use the provided Dockerfile (Wiki: How to download and install Docker) to automatically setup the correct packages and libraries or use a Linux/MacOS system with Python installed
    • Container:
      cd ./robot-project
      docker build -t robot-container .
      docker run -v `pwd`:/work/robot:Z -v /dev/input:/dev/input:ro --rm -it robot-container:latest
      
    • Host System (Linux/MacOS):
      python -m venv --system-site-packages ./.venv
      source ./.venv/bin/activate
      pip install -r /path/to/daceri/libs/requirements.txt
      
  5. Plug in a controller (OS-dependent; usually Linux works the best)
  6. Run the RobotController.py file (under the scripts/ subdirectory) with the desired connection type: <<<<<<< Updated upstream
    • Serial Sockets: =======
    • Serial:

Stashed changes python RobotController.py s

  • Websockets:
    python RobotController.py w [R-Pi IPv4 address]
    
  • UDP Sockets:
    python RobotController.py u [R-Pi IPv4 address]
    
  1. Press the right joystick to activate the motors
  2. Start moving the joysticks to move the robot!