Skip to main content

rosmobilelib

Project description

rosmobilelib

Enable to struct movement robotic action with ROS, the open-source robotic middleware. This library make able to run that by Python3 code on external of ROS network and workspace.

This is depended roslibpy that allows ROS programing without defining as ROS Node by using rospy.

Main Features

  • Manage features to set ROS robotic movement simply.
  • Dynamic schedule to Goal with sending/waiting of Action.
  • Provide some feature that use for programming with ROS such as coordinate transformation of TF.
  • Give support to synchronize to single callback for needs to subscribed multi topic such as stereo camera system.

Installation

To install rosmobilelib, use pip:

pip install rosmobilelib

or

pip install rosmobilelib --extra-index-url https://test.pypi.org/simple

Documentation

Details coming soon. For now, just watch down and get through it.

Example implementation:

Import libraries.

import roslibpy as rlp
from rosmobilelib import MobileClient

Prepare connection with roslibpy. If you desire details see here.

client = rlp.Ros('localhost', port=9090)
lm1 = lambda: print('is ROS connected: ', client.is_connected)
client.on_ready(lm1)
client.run()

Define MobileClient object and wait for to subscribe needs topics.

lm2 = lambda r: print('reached goal', r)
ms = MobileClient(client, lm2, odom_topic='/odom', map_topic='/map')
ms.wait_for_ready()

Use dynamic FCFS scheduler. Set goal and make able to execute goals. You can set goal any time not only after call start().

Details:

  • start(), stop(): make scheduling queue executable/inexecutable
ms.start()

# set scheduler a goal that go ahead 0.5 from robot body
ms.set_goal_relative_xy(0.5, 0, is_dynamic=False)

# set relative pos(x:front:-0.5, y:left:1) based basis vector that decided dynamic after previous executed
ms.set_goal_relative_xy(-0.5, 1, is_dynamic=True)

# set goal directly with world frame's pose
ms.set_goal(ms.get_vec_q(-0.4,-0.6,0), ms.get_rot_q(0,0,math.pi/2))

time.sleep(60)

ms.stop()

There are other way to wait for time until reach goal. Exchange time.sleep(n) to ms.wait_for_execute_all().

...
ms.wait_for_execute_all()
...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosmobilelib-0.1.2.7.tar.gz (11.2 kB view details)

Uploaded Source

Built Distribution

rosmobilelib-0.1.2.7-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file rosmobilelib-0.1.2.7.tar.gz.

File metadata

  • Download URL: rosmobilelib-0.1.2.7.tar.gz
  • Upload date:
  • Size: 11.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.10 CPython/3.8.3 Darwin/19.6.0

File hashes

Hashes for rosmobilelib-0.1.2.7.tar.gz
Algorithm Hash digest
SHA256 b6adce8f2c506e0dd1bfccda7f8626932a821738eae8286a5183f4cc609ae39f
MD5 818d2abbd8e33ae8223893ea2446410a
BLAKE2b-256 38e4eff6680a0ea8ef43ad68cd98d76fa6fc0930a2b17c23ea71a64647253db5

See more details on using hashes here.

File details

Details for the file rosmobilelib-0.1.2.7-py3-none-any.whl.

File metadata

  • Download URL: rosmobilelib-0.1.2.7-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.10 CPython/3.8.3 Darwin/19.6.0

File hashes

Hashes for rosmobilelib-0.1.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 d5fddff2f72c68b4b6215e4f9ae1211b493805670d8edf7241cde6b8736928a8
MD5 33b9274a66caf003b3bf1cfc1a97e349
BLAKE2b-256 1e0702c3cf7fcb224daa8472aaca9dfdfa91ffd4da6c1c5223750e3fc1fb218f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page