NE Five is a mobile robotics platform heavily inspired by Johnny Five and is an evolution of the "MacFeegle Prime" robot originally developed for PiWars by Keegan Neave. Work has been kindly supported by my Patrons!
A video of the current version of the robot can be found on my YouTube channel, click the preview to play.
NE Five was designed to be a more robust and feature complete robot building on the lessons learned from MacFeegle Prime. In this first release are all the files you need to run a basic simulation of the robot in Gazebo.
The simulation includes:
- Two 7dof arms
- Two simulated cameras for stereo vision
- Two IMU, one on the chassis and one on the base of the head
I use RoboStack to install and manage ROS packages so we need to install that.
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh bash Miniforge3-$(uname)-$(uname -m).sh
- Follow the steps here to install ROS Noetic
mamba create -n ros_noetic python=3.11
mamba activate ros_noetic
conda config --env --add channels conda-forge
conda config --env --add channels robostack-staging
conda config --env --remove channels defaults
mamba install ros-noetic-desktop
- For the HifiBerry miniamp, add
dtoverlay=hifiberry-dac
to the config.txt file in the boot partition - For DepthAI follow these instrustions
- WiFi power-saving is enabled by default and can cause connection issues, disable by:
sudo crontab -e
@reboot /usr/sbin/iw wlan0 set power_save off > /home/<user>/power_save_log.txt 2>&1
making sure<user>
is replaced by your username
These instructions are for the simulation only and will be updated once the other packages are brought online.
- Install ROS Noetic Full Desktop, through that link or the method above
- Create a ROS catkin workspace
- Clone this repo in to the
src
folder - Run
catkin_make
in your workspace root source catkin_make/devel/setup.bash
- To install dependencies, run
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y
. This should get packages from RoboStack where possible git clone --branch noetic-devel https://github.com/ros-perception/vision_msgs.git
- Run
roslaunch nefive_description start_nefive.launch
You should see a Gazebo window open with a simulated robot inside.
The simulation includes a differential drive controller, you can drive the robot around using keyboard teleop by running this in a new terminal:
rosrun teleop_twist_keyboard teleop_twist_keyboard.py cmd_vel:=nefive/cmd_vel
Control of the joints in the arms and head are available by publishing to the suitable topic:
rostopic pub /nefive/head_pan_joint_position_controller/command std_msgs/Float64 "data: -0.2"
A list of all actuated joints can be found in config/nefive_control.yaml
The robot includes two simulated cameras and two simulated IMUs, data for these can be found on the following topics:
- /nefive/leftcamera
- /nefive/rightcamera
- /base/imu/data
- /head/imu/data
- nefive (Metapackage)
- nefive_description
This is the first URDF I've made from scratch and I'm still very much learning, there are a few things I've not dug in to yet and likely plenty more besides. PRs welcome!
- Over a certain velocity the robot rips itself apart...
- The arms haven't been fully tested nor their limits set
- Gazebo complains about the PIDs of the front wheels not being set but if I set the the robot self destructs...
The design of the physical robot is almost ready for release, there are a few things I want to fix beforehand however.
- Change the position of the Pi Zero enclosure
- Integrate the eyebrow servos
- MoveIt configuration
- LED eye ring control
- Add the CAD models to the simulation
A massive thank you to my Patrons who make this work possible, if you are able please consider supporting me on Patreon as it will help continue development of this robot.
Patrons
- Angie Neave
- John Neave
- Bodger
Supporters
- Mark Long
- Adam Gilmore
- Bret Colloff
- David Shrive
- Sarah Cooper-Pinchbeck
Followers
- Mandy Berry
- Shelagh Lewins
- Alexander Gutenkunst
- Alister Perrott
- Andy Batey
- Eva Blake
- Cara S.
- Dave Booth
- Pheonix Labs