Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interpretive Robot Interface #655

Merged
merged 6 commits into from
Jan 15, 2025

Conversation

tongtybj
Copy link
Collaborator

@tongtybj tongtybj commented Jan 12, 2025

What is this

Implement a general and interpretive robot interface based on python.

Details

  • An interpretive interface to control and navigate robot, which is more friendly for beginners
  • A general robot module that can supports more effective API to control and navigate using Python and other tools like SMACH.
  • More API can be found in aerial_robot_base/src/aerial_robot_base/robot_interface.py

Usage1: Example of mini_quadrotor

  • bring-up the real/simulation system
$ roslaunch mini_quadrotor bringup.launch rm:=false sim:=true headless:=false                                                                
  • start interpretive operation
$ roscd aerial_robot_base
$ python src/aerial_robot_base/robot_interface.py
[INFO] [1736671477.709432, 216.300000]: connect to /quadrotor!
>>> ri.start()
>>> ri.takeoff()
>>> ri.goPos([1, 0, 2])
[INFO] ....
True
>>> ri.land()
robot_interface_mini_quadrotor_4x.mp4

Usage2: Example of dragon

  • bring-up the real/simulation system
$  roslaunch dragon bringup.launch real_machine:=false simulation:=true headless:=false                                                               
  • start interpretive operation
$ roscd aerial_robot_base
$ python src/aerial_robot_base/robot_interface.py
[INFO] [1736672881.697054, 56.541000]: connect to /dragon!
>>> ri.start()
>>> ri.takeoff()
>>> ri.setJointAngle(['joint1_pitch'], [-1.57])
True
>>> ri.land()
robot_interface_dragon_4x.mp4

Usage3: Use as a python module

[aerial_robot_base] add dependency to Ipython
@tongtybj tongtybj merged commit 7e3a343 into jsk-ros-pkg:master Jan 15, 2025
7 checks passed
tongtybj added a commit to tongtybj/aerial_robot that referenced this pull request Jan 27, 2025
* [RosTest] move the module of hovering check to "src" directory

* [Robot Interface] add python interpreted interface to support basic navigation motion, including joint control

* Use IPython to make the script more interpretive

Co-authored-by: Sugihara Kazuki <[email protected]>

* [aerial_robot_base] update version of package.xml to 3 to support condition

* [aerial_robot_base] add dependency to ipython

---------

Co-authored-by: Moju Zhao <[email protected]>
Co-authored-by: Sugihara Kazuki <[email protected]>
Co-authored-by: sugikazu75 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants