Browse Source

Merge pull request #19 from hello-robot/docs/jogging

WIP: Quick docs on jogging motion commands
master
Binit Shah 2 months ago
committed by GitHub
parent
commit
5d29c04891
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
2 changed files with 46 additions and 0 deletions
  1. +1
    -0
      mkdocs_rt.yml
  2. +45
    -0
      ros2/jogging.md

+ 1
- 0
mkdocs_rt.yml View File

@ -83,6 +83,7 @@ extra:
nav:
- Getting Started: ./getting_started.md
- Motion Commands: ./jogging.md
- Robot Drivers: ./robot_drivers.md
# - Writing Nodes: ./writing_nodes.md # TODO
- Navigation with Nav2:

+ 45
- 0
ros2/jogging.md View File

@ -0,0 +1,45 @@
# Motion Commands in ROS2
## Quickstart
Sending motion commands is as easy as:
1. Launch the ROS2 driver in a terminal:
```{.bash .shell-prompt .copy}
ros2 launch stretch_core stretch_driver.launch.py
```
2. Open iPython and type the following code, one line at a time:
```python
import hello_helpers.hello_misc as hm
node = hm.HelloNode.quick_create('temp')
node.move_to_pose({'joint_lift': 0.4}, blocking=True)
node.move_to_pose({'joint_wrist_yaw': 0.0, 'joint_wrist_roll': 0.0}, blocking=True)
```
## Writing a node
You can also write a ROS2 node to send motion commands:
```python
import hello_helpers.hello_misc as hm
class MyNode(hm.HelloNode):
def __init__(self):
hm.HelloNode.__init__(self)
def main(self):
hm.HelloNode.main(self, 'my_node', 'my_node', wait_for_first_pointcloud=False)
# my_node's main logic goes here
self.move_to_pose({'joint_lift': 0.6}, blocking=True)
self.move_to_pose({'joint_wrist_yaw': -1.0, 'joint_wrist_pitch': -1.0}, blocking=True)
node = MyNode()
node.main()
```
Copy the above into a file called "example.py" and run it using:
```{.bash .shell-prompt .copy}
python3 example.py
```

Loading…
Cancel
Save