Python package for agilex robotics mobile base platform

Overview

This is Python API for Agilex Robotics Mobile base

This is a python API for Can communication with Agilex Robotics Mobile base and controlling it.

Support product list

Installation

Notes:
Make sure that python version >=3.6. if you have python3 and python2 ,please use python3

pip

pip3 install pyagxrobots
Notes:
Make sure that pip3 version >= 9.0.0.
pip3 -V     																				 #cheak the pip3 version
python3 -m pip install --upgrade pip                          #updata pip3

Setup CAN-To-USB adapter

  1. Enable gs_usb kernel module

    $ sudo modprobe gs_usb
  2. Bringup can device

    $ sudo ip link set can0 up type can bitrate 500000
  3. If no error occured during the previous steps, you should be able to see the can device now by using command

    $ ifconfig -a
  4. Install and use can-utils to test the hardware

    $ sudo apt install can-utils
  5. Testing command

    # receiving data from can0
    $ candump can0
    # send data to can0
    $ cansend can0 001#1122334455667788

You can run 1-5 for the first-time setup and run 2 to bring up the device each time you unplug and re-plug the adapter.

import to your project

#!/usr/bin/env python3
# coding=utf-8
from pyagxrobots import agxrobots
robots=agxrobots.UGV(bustype='socketcan', channel='can0', bitrate=500000) 

function list:

EnableCANCtrl()
SendVersionRequest()
SendErrorClearByte()
EnableLightCtrl()
DisableLightCtrl()
LightFrontMode()
SendLinerVelocity()
SendAngularVelocity()

GetLightMode()        
GetSysVersion()
GetLeftWheelOdem()
GetRightWheelOdem()
GetLinerVelocity()
GetAngularVelocity()
GetErrorCode()

EnableCANCtrl

  • Prototype: EnableCANCtrl()
  • Description:Enable Controller Area Network control.

SendVersionRequest

  • Prototype: SendVersionRequest()
  • Description:Send Version Request to robots.

SendErrorClearByte

  • Prototype: SendErrorClearByte(id)
  • Description:Send Error Clear Byte to robots.
  • Parameters
    • id:(int) 0-4 0:all 14 :clear motro 14

EnableLightCtrl

  • Prototype: EnableLightCtrl()
  • Description:Enable Light control to robots.

DisableLightCtrl

  • Prototype: DisableLightCtrl()
  • Description:Enable Light control to robots.

LightFrontMode

  • Prototype: LightFrontMode(mode,bright)
  • Description:Send Error Clear Byte to robots.
  • Parameters
    • mode:(int)0~3 0:often shut 1:normally open 2:breathing lamp 3:custom
    • bright:(int) 0~100 Note: mode must be 3

SendLinerVelocity

  • Prototype: SendLinerVelocity(liner_velocity)
  • Description:Send liner_velocity to robots.
  • Parameters
    • liner_velocity:(float)-3.0~3.0 m/s

SendAngularVelocity

  • Prototype: SendAngularVelocity(angular_velocity)
  • Description:Send angular_velocity to robots.
  • Parameters
    • angular_velocity:(float)-2.523~2.523 rad/s

GetLightMode

  • Prototype: GetLightMode()
  • Description:get robots light mode .
  • Return:light mode

GetSysVersion

  • Prototype: GetSysVersion()
  • Description:get robots system version .
  • Return:ControlHardwareVersion,ActuarorHardwareVersion,ControlSoftwareVersion,GetActuarorSoftwareVersion

GetLeftWheelOdem

  • Prototype: GetLeftWheelOdem()
  • Description:get robots LeftWheelOdem .
  • Return:LeftWheelOdem

GetRightWheelOdem

  • Prototype: GetRightWheelOdem()
  • Description:get robots RightWheelOdem .
  • Return:RightWheelOdem

GetLinerVelocity

  • Prototype: GetLinerVelocity()
  • Description:get robots liner_velocity .
  • Return:liner_velocity

GetAngularVelocity

  • Prototype: GetAngularVelocity()
  • Description:get robots angular_velocity .
  • Return:angular_velocity

GetErrorCode

  • Prototype: GetErrorCode()
  • Description:get robots error_code .
  • Return:error_code

Example

Note:

For safety, please ensure that the robot's wheels are off the ground

1.Open Front Light

#!/usr/bin/env python3
# coding=utf-8
from pyagxrobots import agxrobots
robots=agxrobots.UGV(bustype='socketcan', channel='can0', bitrate=500000) 
robots.EnableCANCtrl()
robots.EnableLightCtrl()
robots.LightFrontMode(1)

2.Move Robot

#!/usr/bin/env python3
# coding=utf-8
from pyagxrobots import agxrobots
robots=agxrobots.UGV(bustype='socketcan', channel='can0', bitrate=500000) 
robots.EnableCANCtrl()
robots.SendLinerVelocity(0.2)

3.get CAN message

#!/usr/bin/env python3
# coding=utf-8
from pyagxrobots import agxrobots
robots=agxrobots.UGV(bustype='socketcan', channel='can0', bitrate=500000) 
robots.EnableCANCtrl()
robots.GetAngularVelocity()
robots.GetLinerVelocity()
Owner
Agilex Robotics (Dongguan) CO,.ltd
Guildead - Guilded api wrapper written in python

Guildead Guilded api wrapper written in python. I have found "exploit" (guilded

0хVιcнy#1337 5 Sep 23, 2022
iso6.9 is a Discord bot written in Python and is used to make your Discord experience better

iso6.9-2.6stable (debloated) iso.bot is originally made by notsniped#4573. This is a remix of iso.bot by αrchιshα#5518. iso6.9 is a Discord bot writte

Kamilla Youver 2 Jun 10, 2022
Discord E-Store Bot

A delivery bot for Discord, works like Amazon where real users can pack & deliver orders in different servers!

Amit Pathak 2 Jan 28, 2022
Short Program using Transavia's API to notify via email an user waiting for a flight at special dates and with the best price

Flight-Notifier Short Program using Transavia's API to notify via email an user waiting for a flight at special dates and with the best price Algorith

Wassim 2 Apr 10, 2022
A slack bot that notifies you when a restaurant is available for orders

Slack Wolt Notifier A Slack bot that notifies you when a Wolt restaurant or venue is available for orders. How does it work? Slack supports bots that

Gil Matok 8 Oct 24, 2022
Andrei 1.4k Dec 24, 2022
Powerful Telegram userbot to turn your PROFILE PICTURE & LAST NAME into a real time clock & to change your BIO automatically.

DATE_TIME_USERBOT-TeLeTiPs Powerful Telegram userbot to turn your PROFILE PICTURE & LAST NAME into a real time clock & to change your BIO automaticall

53 Jan 05, 2023
Neko is An Anime themed advance Telegram group management bot.

NekoRobot A modular telegram Python bot running on python3 with an sqlalchemy, mongodb database. ╒═══「 Status 」 Maintained Support Group Included Free

Lovely Prince 11 Oct 11, 2022
Simulación con el método de Montecarlo para verificar ganancias con márgenes negativos.

Apliación del método Monte Carlo a un ejemplo que incluye márgenes negativos. Por Marco A. de la Cruz Importante La información contenida en este ejem

1 Jan 17, 2022
API which uses discord+mojang api to scrape NameMC searches/droptime/dropping status of minecraft names, and texture links

API which uses discord+mojang api to scrape NameMC searches/droptime/dropping status of minecraft names, and texture links

2 Dec 22, 2021
The most Advanced yet simple Multi Cloud tool to transfer Your Data from any cloud to any cloud remotely based on Rclone.⚡

Multi Cloud Transfer (Advanced!) 🔥 1.Setup and Start using Rclone on Google Colab and Create/Edit/View and delete your Rclone config file and keep th

Dr.Caduceus 162 Jan 08, 2023
It's My Bot, For my group in telegram :)

Get Start USage This robot is written in Python language for devdood Group in Telegram ... You can easily edit and use this source Edit and Run You ne

Mohsen farzadmanesh 7 Sep 24, 2022
An API wrapper library for opensea api.

Opensea API An API wrapper library for opensea api. Installation pip3 install opensea Usage Retrieving assets: from opensea import get_assets # This

Ankush Singh 38 Jul 17, 2022
A file-based quote bot written in Python

Let's Write a Python Quote Bot! This repository will get you started with building a quote bot in Python. It's meant to be used along with the Learnin

1 Feb 23, 2022
Получение интересной информации о любой пиццерии Додо

dodopizza-abuse Получение инфорации о выбранной пиццерии Додо Установка и запуск на Linux Устанавливаем git и python: apt-get update && apt-get -y ins

Хозя 24 Nov 02, 2022
🪣 Bitbucket Server PAT Generator

🪣 Bitbucket Server PAT Generator 🤝 Introduction Bitbucket Server (nee Stash) can hand out Personal Access Tokens (PAT) to be used in-place of user+p

reecetech 2 May 03, 2022
Hydro Quebec API wrapper.

HydroQC Hydro Quebec API wrapper. This is a package to access some functionalities of Hydro Quebec API that are not documented. Documentation https://

Olivier BEAU 9 Dec 02, 2022
Simple Telegram Bot to extract various types of archives from a telegram file or a direct link

Unzipper Bot A Telegram Bot to Extract Various Types Of Archives Features Extract various types of archives like rar, zip, tar, 7z, tar.xz etc. Passwo

I'm Not A Bot #Left_TG 93 Dec 27, 2022
This wrapper now has async support, its basically the same except it uses asyncio

This is a python wrapper for my api api_url = "https://api.dhravya.me/" This wrapper now has async support, its basically the same except it uses asyn

Dhravya Shah 5 Mar 10, 2022
A tool for creating credentials for accessing S3 buckets

s3-credentials A tool for creating credentials for accessing S3 buckets For project background, see s3-credentials: a tool for creating credentials fo

Simon Willison 138 Jan 06, 2023