Skip to content

BestManRobotics/BestMan_Agilex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A codebase dedicated to the Agilex robotic base.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages