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

Feature/mobility #7

Open
wants to merge 8 commits into
base: ros2-humble
Choose a base branch
from

Conversation

pondersome
Copy link

Considering adding one or more arms to a mobile robot, a series of mobility enhancements came to mind:

Added a launch file for roarm_driver with the ability to override the usb connection on start up. For example, if using udev rules to set the name of the port:

ros2 launch roarm_driver roarm.launch.py serial_port:=/dev/roarm_port

Namespaces can be used to isolate one arm from another, allowing the universal TF tree to remain conflict-free. roarm_driver will use the current namespace to select the appropriate joint_states to act on. If not using namespaces, the base of the arm can be renamed with a launch argument allowing a joint to be defined without conflicting with the chassis' base_link.

Moved the description generation system to use xacro to compile descriptions on the fly in a launch file.

Added the ability to rotate the gripper mount with an argument to support when owners change the factory orientation.

Created an example mounted.display.launch.py to show how two arms can be configured on one base:

Added README documentation supporting these mobility features. Added a new section 9.

These extended features have not been tested against the Moveit2 examples, but since by default they don't change anything if unused, I don't anticipate problems. Let me know if you see otherwise.

To see an example of using these features in cross package way, refer to:
desribe.with.arm.py

…r mobile robot integration

parameter-enabled xacros to generate arm description urdf

optionally change the default base_link name so it can become a link on a robot's urdf
optionally add a prefix which can be used as a namespace scope to assure links and joints are uniquely named across robots in a global transform space

usage example:
xacro roarm_urdf_builder.xacro prefix:=mybot_ base_link_name:=left_arm_base_link > roarm_generated.urdf

run without parameters to generate the default roarm urdf:
xacro roarm_urdf_builder.xacro > roarm_generated.urdf
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.

1 participant