Skip to content

Latest commit

 

History

History
181 lines (121 loc) · 4.55 KB

File metadata and controls

181 lines (121 loc) · 4.55 KB

BestMan Logo

GitHub license Ubuntu 22.04 Python 3.8

Welcome to the BestMan_Agilex repository, a codebase dedicated to the Agilex UGV platform.

💻 Installation

  • Pull the repository

    git clone --recursive https://github.com/Yuhan321/BestMan_Agilex.git
    cd BestMan_Agilex
    • If you've checked out ugv_sdk without --recursive, you can run the following command to fetch the submodule:
    git submodule update --init --recursive
  • Setup CAN-To-USB Adapter

    • Enable gs_usb kernel module:

      sudo modprobe gs_usb
    • Bring up the CAN device:

      sudo ip link set can0 up type can bitrate 500000
    • If no error occurred during the previous steps, you should be able to see the CAN device by using the following command:

      ifconfig -a
    • Install and use can-utils to test the hardware:

      sudo apt install can-utils
    • Testing commands:

      • Receive data from can0:

        candump can0
      • Send data to can0:

        cansend can0 001#1122334455667788
  • Setup UWB Device

    • Check the serial port:

      sudo dmesg | grep tty
    • Set read/write permissions for all users:

      sudo chmod 666 /dev/ttyUSB0
    • Alternatively, add the current user to the dialout group to simplify access by avoiding the need to modify permissions each time:

      sudo usermod -aG dialout $USER

      Log out and log back in for the changes to take effect.

  • Create a conda environment

    cd Install
    conda env create -f basic_environment.yaml
    conda activate BestMan_Agilex
  • Generate UGV SDK Python Shared Library (Personal Requirement)

    If you want to generate the ugv_sdk_py shared library for your environment, please follow these steps:

    • Install Python development files:

      sudo apt-get install python3-dev
    • Clone the ugv_sdk repository:

      git clone --recursive https://github.com/westonrobot/ugv_sdk.git
      cd ugv_sdk
    • Create a build directory and navigate into it:

      mkdir build && cd build
    • Run cmake to enable Python binding and compile the project:

      cmake -DPYTHON_BINDING=ON .. && make

    After the build completes, replace the generated shared library file with the one in RoboticsToolBox/ugv_sdk_py.cpython-38-x86_64-linux-gnu.so to ensure compatibility with your environment.

👨‍💻 Basic Demos

  • Setup CAN device

    sudo ip link set can0 up type can bitrate 500000
  • Run the following demos:

    cd ~/BestMan_Agilex/Examples/ 
    • Get location information:

      python get_location.py 
    • Control motion (e.g., rotate at 0.2 rad/s):

      python motion_test.py
    • Move to target:

      python move_to_target_heading.py
    • Move to target with a precision of 0.1 meters:

      python move_to_target_heading_parallel.py
    • Rotate to a fixed angle:

      python rotate_to_fixed_angle.py

📧 Contact Information

If you have any questions or need further assistance, please feel free to reach out via email:

🤝 Reference